[[description]]
Project Description
We're building an install profile of Drupal that makes deploying, upgrading, and maintaining a community site easy for non-technical people and organizations. We wish to create an integrated set of tools to further empower a community's members - to help them extend a single-tool site (a blog, a forum, a wiki, etc.) into a richer destination without the inherent need to rely on external services which serve to split the community's intelligence base.
We wish to help people discover other relevant communities throughout the Web, no matter the platform. We believe the person (user, member) is at the center of the community experience, and tools for that person and his/her groups are meant to enable them (not restrict them). We are developing toward integration with OpenSocial, OAuth, and OpenID - and have at heart the Bill of Rights for users of the Social Web. All of this will result in an "install profile" someone can use to get a community site right from the start - whether they download and set it up themselves, or go through a recommended Web host for complete ease.
Feel free to join our Discussion List to participate at any level in this project.
Project Roles to Be Filled
- Experienced Drupal implementers who aren't necessarily engineers. We need input from people who know the functionality of core and contributed modules well and have implemented Drupal in diverse functionality scenarios. If you try everything that's out there before rolling your own or hiring someone to build a custom module, we would like to hear from you.
- Project and Process Gurus. So far, Gnomepal has a lot of enthusiasm and effort behind it. We need help implementing processes to channel this energy efficiently. Make a suggestion, point to a resource or volunteer to structure or refine a process.
- Community Leaders. We need input from people who have experience building online communities with Drupal who can advise on best practices in community building with Drupal and what's missing.
Understanding the User's Bill of Rights
http://blog.broadbandmechanics.com/2007/09/a-bill-of-rights-for-users-of...
We publicly assert that all users of the social web are entitled to certain fundamental rights, specifically: Ownership of their own personal information, including:
- their own profile data
- the list of people they are connected to
- the activity stream of content they create;
Control of whether and how such personal information is shared with others; and Freedom to grant persistent access to their personal information to trusted external sites.
This shall:
- Allow its users to syndicate their own profile data, their friends list, and the data that’s shared with them via the service, using a persistent URL or API token and open data formats;
- Allow their users to syndicate their own stream of activity outside the site;
- Allow their users to link from their profile pages to external identifiers in a public way; and
- Allow their users to discover who else they know is also on their site, using the same external identifiers made available for lookup within the service.
Who Would Want to Use Gnomepal, and Why?
One-to-many, several-to-many, or many-to-many: Gnomepal enables community collaboration and conversations without hassle. For the individual or small group who has been attempting to cobble together new tools for their community, Gnomepal will offer a nimble path for growth and extension without requiring the community owner to fracture his or her community's attention across a wide variety of Web sites. Think: Sports Teams, Leisure Activities, Affinity Blog Networks, Fan Clubs, etc.
For organizations who wish to maximize the communication between members, Gnomepal will offer immediate surfacing of relevant information and relationships between registrants without the cost of initial development for basic needs - further allowing them to apply resources where they are better serving their community. Think: Non-Profits, Schools, Classes, Conferences, etc.
For the consultant, Gnomepal will offer a baseline of tools for them to further customize for a client's needs - saving everyone in that process time, energy, and money to help them reach their own goals in a direct fashion without having to "reinvent the wheel" every time. Think: Custom Module Development, Design, Strategy, etc.
For the company who wants to promote themselves as leaders in bi-directional Web conversations, Gnomepal will offer them the tools around which they may apply their brand - giving them guidelines so they have a starting point for better engaging their existing community. Think: Restaurants, Small Businesses, etc.
For the publication who desires to bring their content into a realm of relevancy, Gnomepal will allow their site visitors to easily discover related information no matter which page they happen to be viewing. Think: Newspapers, Magazines, Periodicals, Journals, etc.
Questions for Community Leaders and Members
If you have time, please answer the following questions here.
- What do you want in a community site?
- What are your top 5 most important components / tools / features of a community site?
- What pieces "must" be in place for Gnomepal's first milestone in order for you to start using it to build a community?
- Are there any parts that, if they weren't available, would keep you from using Gnomepal for your community needs?
- What frustrates you about your current community site(s)?
- What do you love about your current community site(s)?
- What tool(s) do you currently use to organize your community?
- Is limited customization (color, logos, etc.) important to you?
- Do you want to be able to narrow your feature set down to only a few, or to have the whole range of features always available?
- How long would you be willing to spend updating your site (its content) each week?
- Is it important that you be able to generate revenue with your site?
- Is sharing revenue with your community members important?
- Do your members pay dues or make donations to the community?
- How active is your community? In what way?
- How likely are you to set up a new community site within the next month? Six months? Year?
- If you build a new community site on Gnomepal, would you allow all of your members to contribute promoted content, only a few members, or only yourself?
- Would your site be private, or open to the general public?
- Do you anticipate your community would need live (video or audio) content, or possibly event coordination tools?
- Would you host the community site software on your own server, or would you prefer a tiered hosted solution?
- How important is it to you that you be able to view detailed stats about your community site? (very, somewhat, not at all)
Why Are You the Best Organization to Develop this Project?
- We have a fundamental need for Gnomepal ourselves - personally and professionally
- We seek only participants who inherently understand this need and opportunity
- We are comprised of skilled enthusiasts who can bring the vision to fruition
- We have been working inside existing Web communities, and have built our own
- We believe this baseline is one upon which any Web community can be further built
- We see the power of community, discovery, and relevance play out online every day
- We realize that software should enable and free communities, not lock them in
- We understand that experiences should put the person first (not "end user")
- We believe previous efforts to do this have been needlessly duplicated or abandoned
- We wish to use as many Drupal-built tools as possible to build a Drupal project
What Bigger Thing Might Happen if Everything Went Perfectly?
Industry-wide:
- More interoperability between silo'ed communities on separate domains
- More software putting the user experience above everything else
- More community leaders can concentrate on building community, not software
- More developers would contribute working code to improve the experience for all
- More businesses would begin to give their community a valid outlet for communication
- Less vendor lock-in with one's own content, identity, community
- Less hassle in migrating from a single tool to a full-on suite of applications
- Less need to assemble a small range of tools to offer a community
- Less reliance on closed platforms that restrict growth, wisdom, and opportunity
- Less resources would be wasted, filtered instead into communities themselves
How Will You be Able to Measure Whether or Not Your Project Has Really Made a Difference?
- Communities being succesfully started and run using products created by us
- Direct feedback from individuals, small groups, organizations
- Conversation watching (Twitter, Blogosphere, Conferences)
- Stumbling into an installation of Gnomepal that is driving a vibrant community
- Seeing further extension of Gnomepal and Drupal from developers and designers
- Noticing it showing up for community platform recommendation lists, or not
- Upgrade path requests from existing Web community operators
What Unmet Need Does Your Proposal Answer?
Gnomepal will attempt to address the following issues:
- Tools are a commodity (a blog, a wiki, a forum, a list, a store, a network).
- Single tools may not serve the full needs of a specific community.
- Multiple tools cobbled together loosely leak relevant information.
- Discovery within a community tool itself is typically not optimal.
- Advertising placement within a community tool itself is typically not optimal.
- Personal profiles do not easily transcend communities.
- Participation is assumed, but seldom reinforced by the software.
- Migration paths and community scaling are painful, expensive propositions.
- Community fragmentation increases as tools become increasingly decentralized.
- Everybody is their own community.
What specific, unique opportunity do you see that will make this project more successful than others trying to fill that general need?
The whole is greater than the sum of its parts, and various "wholes" have been created for specific communities - rather than a general, pre-configured toolset being used as the baseline structure upon which any community could be built. By providing basic community tools and structure, we can appeal to a majority of groups who just want to use what exists out of the box. For those who crave customization, we can direct them to a pool of recommended developers. Drupal has several community feature "modules" ready to go - and we're applying our intelligence to assemble and present them in such a way that any community leader, technical or not, can use them to establish, enhance, and extend their goals.
How will people learn about what you are doing?
If we are successful, word-of-mouth will be the best form of advertising.
Not only do we wish to encourage community leaders and publishers to build upon our efforts, but to recommend it to others as well. It is upon this strategy that many resources have already begun to come together to pursue the idea of a "Gnomepal" - and that spark will continue to spread throughout communities large and small, distributed or centralized, as another open opportunity to give their own intelligence a lasting impact beyond their own community needs.
The project catalyst, Chris Pirillo, is a long-standing mouthpiece for user advocacy. His greatest strength is in enabling community conversations and in generating attention around any given product or service. Certainly, Gnomepal should be a marketing tool in and of itself - let the features and implementation be all the explanation one might need to embrace and adopt it.
Milestone 1
- User Profiles
- Relationships
- Individual Blog Functionality
- Forums
- Advertising Management Mechanism in Place
- Complete Theme
Content Types
- Text
- Audio
- Video
- Images
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 administrator.
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 administration and profile process and been granted access by the site's administrators.
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.
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 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
- Invitation: "Would you like to integrate your Community on Gnomepal.org?"
Deeper Setup Configuration
- Social / Activity Stream settings - What outside services do you want your members to be able to enter credentials for?
- Roles
- Advertising
- Theme
Become a Member
- Create User ID and enter email address:
- Click link in "Welcome" email
- Welcome
- Change password (optional)
- First Name
- Last Name
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. 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.) Edit Content Views Allow the admin the ability to select "featured" posts and content from within the community to share on the main page, while also providing an "autopilot" that would give the admin the option to have the top 5 or so most active threads, items, or posts from within the community automatically set on the front page as featured articles. If the admin so chooses, the system could provide them as "suggestions" for featured status bringing these hot topics to the admin's attention before feature status is granted. Critique Content Find Friends Join an entity Affiliate (Link to) External Content
Sections for both Communities and Sub-Groups
- Blogs
- Forums
- Classifieds and/or Store
- Q&A and/or FAQ
- Wiki
- Events (Schedule / Calendar / Virtual and Real-World Events)
- Polls (Surveys / Questionnaires)
- Tags / Categories
- Activities - Aggregate Local Track - Aggregate Off-site Track
- Profiles
- Media - Audio - Video - Images
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
- Groups
- Blogs
- Events
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 Activities
- My Friends
- My Media
- My Interests
- My Groups
- My Shop
- My Communities
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 "Bio"
- 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 (should be like the front page of the site, based on the tag in question)
- 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
Discovery Answers Questions Like...
- Where did you come from, and why?
- Are there relevant groups, forums, answers, questions, media, text, or people here?
- What other content might you be interested in?
- Are there related tags?
- Is this person like you? In what ways? What about the rest of the network?
- Do your friends also like this content? What about the rest of the network?
- Are your friends in this group or other groups?
- Have your friends answered this question?
User Features
- User need only a single sign-on Gnomepal.org profile to join or start their own community
- Every user will have their own profile in any community, with varied levels of permissions
- Every community leader will assign features and roles for their members
- Community tools are to remain modular, toggled by the community leader at will
- Default profiles should be easily tailorable to the community that is implementing the platform
Users should have the ability to make the rights they chose to have on their content visible and present. Flickr has a great rights management program, and when you view a post from a user you know what license that user has selected to give their peers. This is missing from so many community sites out there and deserves a place in Gnomepal. Create or allow for the creation of separate RSS feeds for each category of content that a profile adds to the community. For example, if user A posts 50 of their photographs and 5 of their audio recordings, they should have a gallery separate from their music, podcasts, whatever. This would allow someone to direct their fans/followers to their art gallery without having their audio tracks jumbled in the mix. Having a different RSS feed would allow someone to subscribe to user's videos without getting every little twitter update summary, photo upload, etc.
Groups Features
- Allow users to create arbitrary groups, like Yahoo Groups
- Email integration (mail to group, receive mail from groups)
- Tagging of groups
- Show groups that most of your friends belong to
- Show groups that match your interests (see: user tags under Discovery, above)
Security Features
- Quick and easy blocking of users inside a community
- Quick and easy blocking of IP's inside a community
- Flagging of stories by users / trusted users
- http://mollom.com/
An admin should have a blanket ability to block certain strings in cases where a community is being barraged by outside interference. Let's say for example, that your site revolves around users sharing poetry. If you have the ability to block out phrases like "sucks" or "stupid" or other less polite nonsense, while allowing original posters the ability to keep those phrases in their posts, if for whatever reason their story has that term in it. One problem I'm seeing with community sites like YouTube for example, is that the site can't become a place of honest critique and idea sharing beyond the initial contribution when half of the comments made are unreasonable and unnecessary trolling.
Advertising Options
- Restrict to systems with an API
- Community owner will decide where ads run
- User splits may depend on points, blog posts, age in community, etc.
- Advertising blocks can be defined as hidden
- Template determines advertising positioning
- Splits are determined by the Community Leader
- Affiliate links are pre-populated w/ account owner's preferred links
- Give the option to donate x% of advertising traffic to Gnomepal foundation
- Allow Community Leader to define different percentages of revenue by role or member
- Want to know which of my users is making me the most money?
- Theme background color needs to be tied into ad color (at least for AdSense)
- Configuration option: load ads in same window or new browser window
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. 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.
Legal Considerations
For this project, or for deployment, there are several legal considerations:
- Terms of Use
- Laws pertaining to project
- Disclaimer
- Privacy Policy
- Internal policies
- Ownership of each aspect of project
- Vendor agreements
- Advertising agreements
- Vette and protect all intellectual property going into project
- Licensed/licensing material
- Trademarks
- Patent
- Copyright
- Domain name protection
- Liability for security breaches
- Legal issue ready team
This is not a comprehensive list.
What would you like to do?
- coordinate a module
- create a theme design
- code a theme design
- do theme bug fixing
- do API-side bug fixing
- be a coder in a new module project
- optimize a module for client side performance
- optimize a module for database performance
- learn to be a better coder by watching others
- work on the setup wizard / install profile
- help with copywriting
- help manage aspects of the project

Recent comments
1 week 5 days ago
10 weeks 6 days ago
11 weeks 1 hour ago