Information Architecture
Caveat: Work in Progress: there'sProgress more- fromCaveat 3/29 to be added this weekend.Lector
Discovery, Intelligence, Relevance, Community
Guiding Principles for Gnomepal Information Architecture (IA)
- IA exercises can get pretty bogged down with ceremony. The objective here is to keep this one streamlined, so achievable requirements can be derived from it. For subsequent revs, it may be appropriate to apply more rigor, but this is a sprint, so keep edits concise this round.
- Patterns, patterns, patterns! Abstract all models. Remember, we're building a tool that builds communities, not a community itself. Avoid single use or one-off scenarios.
- Avoid thinking "what would I do?" Instead, come back to the Personas, and try to put yourself inside the head of the one that will face the problem you're thinking thru.
- Modules are Drupal's strength, but only if they're modular enough to be moved between scenarios - if one type of community can use a tool, perhaps the others can as well.
- Snap to the Drupal architectural nomenclature; e.g. a Block is a Block is a Block. Only site-specific coinages.
Personas:
Personas are a representation of the live humans we're designing for. While they roughly map to what Drupal treats as "roles," Personas are meant to be archetypal - there will obviously be many sub-classes within these types.
Community Leader - A community site adminstrator.
Goals:
- Serve the community (the reason to create a community site to begin with)
- Attract new and existing community members
- Promote interaction among community members and external communities
- Maintain the health and well-being of the community
- Manage community infrastructure ("plumbing")
- Monetize intra-community interactions for the accrual of value to the community owners, the community at large, or to individual members within an intra-community economy
Deputized Member - A community member who the Community Leader has granted some (arbitrary) privileges. (Example: Editor.)
Goals:
- Assist the Community Leader(s)
- Execute the site maintenance duties allocated to them
- Be recognized and rewarded for their efforts
- Shares many of the community health goals with Community Leader(s) and service acquisition goals with Basic Member
Basic Member - A site visitor who has completed the adminstration and profile process and been granted access by the site's adminstrators.
Goals:
- Contribute to the community
- Create content
- Acquire community services
- Interact with other community members
- Pursue interests
- Engage in activities
- Give help, Get help
- Meet new people
Visitor - An anonymous visitor to the site who can browse just enough content to decide if they want to join the community, but does not have access to the community's core material.
Goals:
- Be quickly or immediately matched with shared affinities
- Evaluate the community strength
- Assess interest in membership
- Easily discover what services the community offers
- Easily discover what activities are ongoing within the community
- Easily discover how to join the community
- Make easy actions that move them up the curve of interaction (e.g. make an anon. comment, get encouraged to register in order to subscribe to updates, simple voting/ranking)
Scenarios
Scenarios are a representation of real-world experiences that occur online. Scenarios aren't use cases, they're more narrative and intended to capture the totality of the experience, but they often break down into conditional sets of use cases.
Authentication Question
- Does Gnomepal.org manage single sign-on for central profile / inter-community management? This would allow for the greatest flow of information, relevance, and discovery across domains and communities - knowing that any person may fulfill different roles in various communities, and wear those badges proudly if allowed. From here, a simple member of one community could more easily create their own - passing them on to a recommended host and bringing their authenticated credentials with them. One would not have to maintain multiple profiles that work well with Open identification directives - since one also belongs to multiple communities of people with disparate goals.
BorisMann: I see two scenarios. Out of the box, one might encourage use of a central "hub" Gnomepal instance, where the local instance and users are linked to a wider space. For the second scenario, for advanced users, they could choose to set up the current instance as a hub or connect with some other specific hub. Thought: recreation of "web rings" with related instances easily connecting to each other and interoperating.
Set Up a Community Site
- Download and/or access install profile via Recommended Web Host
- Run installer or request credentials
- Receive installation confirmation email with credentials
- Log in to new site
- Begin setup wizard
Setup Wizard Flow Diagram
- Setup Wizard and its Values may be changed or accessed at a later time
- Step X of Y visible clearly on the page
- Skip Wizard option available
- Community Title: "What is your Community called?"
- Community Mission Statement: "Give us a single sentence description of your Community"
- Community Tool / Feature Checklist: "What do you want your members to be able to do?"
- Build Community Call-to-Action List (5+ text fields): "Why should people use your site?"
- Do you want advertising on your site?
- If Yes, "Do you want to share advertising revenues with members?"
- If Yes, "Do you want to donate X-Y% of advertising impressions to the Gnomepal Organization automatically?" (Slider, default is 1%)
- Community Feel: "How would you like your Community to look?"
- Choose a Theme (radio button)
- Themes potentially divided into genres, pulled from a central repository
- Hobby or Affinity
- Sports / Leisure / Travel
- Games / Entertainment / Arts
- Business or Professional
- Non-profit Organization
- Neighborhood
- School or Class
- Fan Club
- Conference
- Organic / Generic
- Community Documentation Checklist: "Do you have these yet...?"
- Terms of Service / Terms and Conditions
- Code of Conduct
- Privacy Policy
- Copyright, Creative Commons or Public Domain Notices
- Software Licenses (GPL, MPL, etc. where applicable)
- ISSN
- Community Guidelines: "Which member behaviors are forbidden?"
- Community Security: "Do you need your entire site password protected?" -- BorisMann: security is a really tough nut to crack -- esp. if we start talking SSL. I would say punt on this one for the "core" distribution and say that this is for building open communities.
- Invitation: "Would you like to integrate your Community on Gnomepal.org?" -- BorisMann: I changed this to integrate, because that could mean aggregating feeds / posts / etc. to a central Gnomepal hub.
Deeper Setup Configuration
-
- Activity Stream settings - What outside services do you want your members to be able to enter credentials for?
Become a Member
- Create User ID and enter email address:
- Click link in "Welcome" email
- Prove humanness (Captcha or question) -- BorisMann: Dries' new http://www.mollom.com service protects user registration as well as providing anti-spam
- Welcome
- Change password (optional)
- First Name
- Last Name
- Gender
- Age
- ...
BorisMann: this list of profile fields is actually quite important, especially if we think of it as the base for what info gets transferred between sites. It ties directly into, e.g. OpenID / OpenID Attribute Exchange / Microformats. Should probably be a ProfileInformation pagepage.
Establish Identity
- Enter open authentication API credentials (OAuth, Open Social, Open ID, etc.)
- Enter individual activity stream credentials (del.icio.us, digg, twitter, flickr, last fm, etc.)
-...
Create Content
Edit Content
View Content
Critique Content
Find Friends
Join an entity
Affiliate (Link to) External Content
Content Types
- Text
- Audio
- Video
- Images
Sections
- Blogs
- Classifieds / Coupons / Store
- Q&A
- Wiki
- Schedule / Calendar / Events
- Groups
- Group FAQ
- Group Forums / Email List
- Aggregate Schedule / Calendar / Events
- Aggregate Media
- Aggregate Q&A
- Aggregate Wiki
- Polls
- Tags / Categories
- Forums
- Activities
- Aggregate Local Track
- Aggregate Off-site Track
- Profiles
- Local Track
- Off-site Track
- Relevant Activity
- Interests / Shared Interests
- Chat / Live Video
- External Community Links / Shared
- Internal Group Links / Shared
- Shoutbox
- Media
- Contact
- Address
- Instant Messaging
- Private Messaging
- For Sale
- Local "Relatives"
- Awards
- Points
- Age on Site
- Site Content Favorites
- Library / Help / FAQ / Documentation
- Media
- Audio
- Video
- Images
BorisMann: this is a LOT of info. How much is in the default wizard? Do questions answered in the setup wizard dramatically change this list?
Activities
- Add Friend
- Chat
- Tag
- Post Content -- BorisMann: I find it useful to have in context actions for content; e.g. "post new event" when looking at a calendar page.
- Post Comment
- Answer Question
- Ask Question
- Edit Wiki
- Add Favorite
- Join Group
- Send Private Message
- post shoutbox -- BorisMann: there is no reason that a "shoutbox" couldn't be implemented as a mini Twitter system...
Dynamic Content Architecture
Dynamic content will be presented in blocks and pages (where a "Dynamic Page" is simply an assemblage of one or more dynamic blocks, sometimes blended with static content.) A dynamic block will simply be a Drupal block that displays information according to a pre-defined algorithm. It may simply present a themed Drupal view, or it may programmatically present an algorithm that requires deeper customization than the Drupal Views system supports.
Dynamic Blocks
Site Wide
- Hottest Content Now (Question, what's the "hotness" algorithm? Is it most recent? Most commented? Most viewed? A weighted average of all of these?)
- By Username
- Read Comments
- How many minutes ago
- Second Hottest Now
- By Username
- Read Comments
- How many minutes ago
- Busiest Tags Today (Tag Cloud)
- Editor's Picks
- Users
- Forums
- Answers
- Chat Rooms
- Coupons
Group Dashboard
- Group Activity Stream
- Group's Recent Blog Posts
- Group's Forums
- Group's Members / most recent action
- Group's Media
- Group's Read Comments
Member Dashboard
- Tabs:
- My Activity Stream
- My Friends
- My Media
My Interests
Tag Dynamic Block
- Most Recent Content for this tag
- Most Recent Content for this
Dynamic Pages
Anonymous Entry Page
- Community call to Action
- About this community
- Site Wide Dynamic Block
- Section Tabs
Anonymous Referral Page (passed URL argument from search term)
- Community call to Action
- About this community
- Tag-specific Dynamic Block
- Section Tabs
Section Page
- Related from User
- Related from Network
- Responses
- Recent in this section
- Recent postings by user
- Recent answer by user
- Recent blog posts by user
- Recent media by user
- Related tags and content across network
User Profile Page
- Overview
- Blog
- Activity Stream
- Friends
- Contact
- User's Tags (Tag Cloud)
- Shoutbox (Textarea field, submit button)
- User's Compatibility with You
- User's Interests (Tag Cloud)
- User's Feeds
- User's Blog Posts
- All User's Activity
- User's Neighbors
Tag Page
- This tag in the tag cloud
- Site Wide Dynamic Block filtered on this tag
- User-specific Dynamic Block filtered on this tag
- Related tag content
Content Type Page
- Site-wide Dynamic Block filtered on this content type
- User-specific Dynamic Block filtered on this content type
- Tag cloud filtered on this content type