Bringing Communities Together: Under One Login

One Login To Rule Them AllProblem: I frequent several different communities on a regular basis and I must maintain an individual profile on each of them.

Solution: One login to rule them all.

The monolithic dark lords of all that is digital tried to solve this problem; but they have failed… Users did not want to sell their private lives to the dark lords for the gift of easy identity management. The dark lords failed because their solution was not open.

But perhaps there’s still a chance for mankind after all. Perhaps we can have a system that allows us to maintain a single user profile across all of the communities we frequent.

What it will look like.

When a user logs in, they’re used to seeing a screen that looks something like this:

Old Login Screen

What if, instead, a user logged into a screen that looks like this:

New Login Screen

A user’s “Home System” would simply be the domain for an “Identity Server” the user chose to use. This server would be running an open source software package freely available to anyone who wanted to setup his or her own server. Any number of users could potentially create an account on a given Identity Server.

How it would work.

Lets begin by looking at the Identity Server itself and what it actually does. Every online community has a system that stores a user’s name and password and uses that information to authenticate them by having them log into the system. The Identity Server is, oversimplified, the place where the user’s name and password are stored.

Now lets consider how community software would function with an Identity Server. When a user fills out a login form and hits submit, the community software takes the user’s name and password and validates it with the Identity Server via SOAP over SSL. All of the user’s community specific information – such as display preferences – would remain in the community software’s database. However, all identity specific information would be obtained from the Identity Server.

This is some of what this system will let us do.

The Identity Server doesn’t have to be restricted to a user’s name and password. The system can also store a variety of profile, biographical, and reputation data. If a user were to visit a community for the first time, the user’s new account could be auto-populated with information taken directly from the Identity Server.

Users who do not want to maintain accounts on an Identity Server don’t have to be inconvenienced in any way. In fact, there’s no reason why community software can’t continue to function exactly the way it does now. Support for and Identity Server can simply be an additional feature to existing authentication methods.

An Identity Server system like the one describe here could easily support a variety of interesting permission systems. A community might run a black list of bad Identity Servers and prevent individuals on those systems from logging in. A more strict community might have a white list and only allow certain system in.

Identity Server hosting could be a new service. Service providers could charge a small regular fee for maintaining an account on a system. To stay off of black lists and on white lists, a service provider would make sure his/her system had a good reputation by governing the community of users on that system.

Communities could be connected in ways never before possible. Not unlike Amazon’s product recommendations, a system might tell a user what other unexplored communities might interest a user based on his/her past activity. If you enjoy a user’s posts on one system, you could easily find that same user’s posts on other systems.

How we get there.

If we are ever to see a simple system like this happen, it will take a lot of work and a lot of collaboration. First, we must write reasonably secure server software. Then, we must start building plugins, modules, and patches so that existing software can take advantage of the servers. Next, we must make sure Identity Servers are available to and understood by the general public. The adoption of this system by major communities is crucial to the success of the system.

Once we have the basic stable system down, many new ideas never before thought of will suddenly become possible. I don’t see this as if; I see this as when.

Conclusion

If you’re inspired, make it known. If you’re already working towards this goal, make it known. If you need my help, make it known. This will be a huge stride forward in establishing a cohesive online identity. I would like to see this happen.

Beyond the Blog: Blogging Alternatives

Blog Blog Blogidy Blog

I suppose I’ve been a blogger longer than I realized. In August of 1996, I started making weekly web updates regarding the progress I was (or wasn’t) making on a computer RPG project. Back then, we just called them websites. Actually, to be more accurate, we called them Web sites as the Web was still something special enough to warrent a capitol letter.

I remember hearing the term blog for the first time around 2000. I actually read one particular personal blog regularly because I found the writing style to be completely compelling. As more and more blogs started to pop up around the Internet, I started to dislike the term. Part of me still felt that these blogs were just specifically formatted web pages and that giving them this trendy new name of ‘blog’ was pretentious.

Blogs Don’t Totally Suck, Only Mostly

I do have to give blogs some level of credit as their popularity has pushed web technologies along during a stagnant time. My favorite by-product is the powerful RSS format. Blogs have also encouraged the adoption of CSS techniques. In fact, at the beginning of last year (2004) I wanted to improve my xHTML/CSS knowledge and created an online journal about snowboarding as a testing ground. You’ll notice that no where on the site do I call it a blog. ;)

I’ve never been a big fan of blogosphere evangelist. Think about it, you don’t find forum users posting endless threads about how posting to forums is going to revolutionize the face of the Internet. The same holds true for countless other online communities. Oh, but that blogging community, they love to love themselves. A few days ago I read a blog post that was about a blog post about blogging. This was a breaking point for me. The day I found that post, I turned anti-blog.

Well, here I am, posting a blog post about being anti-blog. That makes me sound like a hypocrite. What I mean by “anti-blog” does not mean I dislike the blog format itself. For content that is appropriate, blogs are well refined and generally easy to deploy. Aside from just hating the arrogance of the blog culture, I’m particularly none-to-keen on the over-use of blogs. A lot of content that is published via the blog format is not best tailored for that delivery method. In fact, the intent of my own blog here does not fit a blogging format. (Yes, I am guilty!) Ultimately, this format has influenced my content development to be more blog-like and less like I had originally intended. Anyway, I’m going to provide two examples of content types that are often deployed as blogs but would be better delivered in another customized format.

Essay Archives

My original intent for this site was to deliver more essays and less personal ramblings. While a brief post about the latest happenings with Google or Winamp might appeal to my audience, these posts should not be given the same treatment as a post about virtual community – the intended core subject of this site. In fact, this very post deviates from the topic. Anyway, I had originally hoped that this site would be a collection of small essays with useful content about virtual communities. On Life With Alacrity, Christopher Allen has done a good job of keeping the majority of his posts on topic and in an essay style format. With this example in mind, we can consider how his content (and my intended content) could be delivered better.

First, let’s consider where the blog format is weak for essay delivery. A blog is generally organized by date and time. Occasionally a blog will also include a single layer of categories or groups. More than any other parameter, “recent’ content is given priority in a blog. This assumes that users visit your site regularly and keep up with your content. However, content like much of that found on Christopher’s site is timeless. As a first time visitor to his site, a user may be most interested in his oldest posts. The blogging format does not lend itself well to this scenario.

A better solution would be an essay archive format. This format would give more billing to the subject of content and less to the date it was posted. There would still exist a section of the site that would allow for denotations of recently added or updated content; but this would come secondary to a searchable index of multi-layered categorical organization. The format would likely look like a hybrid of software documentation and a directory. (note: I suspect this format exists, but failed to find a good example.)

E-Zine / Webzine

On the Gearbox website, we have a section called Gearblogs. Using a blog style format for this section ultimately created many brick walls. I forced the format to apply to content such as photo albums. While the format worked, I feel it was not a natural delivery. The blog format also created a “one content item per post” feeling. Given the nature of the content we have available for posting, I’ve often wanted to post a variety of pieces glumped together.

A webzine format (nothing new or revolutionary) would work very well. What surprises me is that this format never received a level of refinement comparable to blogs. Blogging is considerably more popular. Perhaps this is because the publication of an e-zine is best suited for a group of people; meanwhile, a single individual with something to say can get the message out quicker by posting a blog. Organizing the development of a full webzine would require extra work, and nobody likes to work anymore.

Back to the format: A webzine format would allow the bulk publication of multiple articles in an “issue” style delivery. This delivery would allow readers to enjoy a variety of information in regular intervals. This content could still be organized such that articles in older issues could easily be looked up via a search feature or a directory. Furthermore, since each issue will likely have the same basic structure (think of how the newspaper always has the same sections), readers can easily go back and catch up on any given section they are interested in.

A webzine could also still offer a constantly updated news section to track current events that would feel too dated if they were held until the next issue publication. In fact, if appropriate, a blog and forum could be rolled into the mix. In fact, this is much like how Sitepoint works. (Greets to all you sitepointers!)

I do plan to develop a webzine to replace Gearblogs in the near future. In retrospect, I think I might have been lured into the trendy nature of the blog format without fully considering how I really wanted to deliver content on our site. Or, perhaps, the blog format was a simple solution that got the job done when I needed to get a lot done quickly.

Conclusion

I haven’t presented any revolutionary ideas; however I still want to stress the need for both CMS developers and content producers to explore other standard delivery formats beyond the blog. I would very much like to see a powerful and easy to use webzine or essay archive service reach the same level of quality as blogger and typepad. Really, it’s time for bloggers to grow up.

What Happened to Winamp?

Winamp used to be this nice little mp3 player.

This weekend I got tired of Winamp bugging me to upgrade, so I did. For the first time in a long time, I started exploring the new features in Winamp. That’s when I discovered ShoutcastTV. I’ve been a Shoutcast Radio listener for a long time now. Two of my favorite shoutcast stations(?) are DI.fm and Soma.fm. But this TV thing – it’s crazy. There exists a huge variety of stations playing all kinds of cotent from nutty home baked comedy to mainstream media. I watched protest videos and commercial free South Park all weekend.

How does this model work? How does someone provide media that has to be licensed on a free online stream with no commercials and make money? Subscription model? Donations?

I don’t know how it works, but I love it. Thank you, Winamp… !

HTML Based Forms… and how they suck…

This is a rant…

I hate HTML based forms. Since I started scrapping together bits of html a decade ago, forms have not significantly changed. They are still the same clunky limited user feedback interface they have always been. We’re building 2K5 website with the exact same level of technology we had in 1995.

Blogger WYSIWYG InterfaceThe textbox is lame. The idea is wonderful, a box you could type lots of text into and submit to a website. But, what happens when we want part of our text to be bold? Web developers have been trying to solve this problem of formatting text for years. The easy solution was to put HTML code directly in your textbox submission. This is great, if you’re an HTML monkey; otherwise, it’s too much for the average user to learn. To make this easier, we created systems such as UBB code where the learning curve was significantly reduced. Wikis developed their own code systems as well. However, it still required that the user learn. Blogger, the tool with which I’m composing this very post, uses a sweet WYSIWYG interface. To get that interface to work, Blogger had to deploy a whole bunch of javascript. From the user standpoint, the solution is awesome. As a developer, I want this problem to be solved by my web browser. Where is my htmltextbox that uses the browser’s built in WYSIWYG editor to compose a formatted entry? After a decade, why is this feature still missing?

Travelocity Has a Cool Date FormMy next complaint is date and time entries. I can’t count the number of times I’ve created form elements for submitting date and time. If I want the form to default to the current date and time, I either have to set it up in my PHP script or use javascript. Many developers have created elegant and easy to use interfaces for selecting date and time. My favorite are the little DHTML pop-up calendars that let you select the date with two quick clicks. Once again, I have to ask, why haven’t we added standard date and time input fields to HTML?

I can’t complain about forms without spending some time talking about how hard they are to customize. Creating a stylish form requires some work. Even when you’ve got all your elements laid out in a user friendly format with some nice CSS styles, you’ll find radio buttons and drop down menus refusing to change background colors and blend into your design. Of course, there are javascript ways around this; but again, why should it require javascript?

There’s no end to my complaints about HTML forms. My core complaint is the lack of evolution since their inception. I hope that, soon, we see a rebirth of forms providing a wider range of standard data types, easier implementation and more extensive customization.

A Few Good Forum Ideas

I’d like to share a couple of forum structure ideas that have made managing the Gearbox Software Forums a little easier and an idea we’ve yet to try.

Internal Combustion

Many message boards offer a forum dedicated to allowing users to flame. For example, the Xterra Owners Club used the traditional and cleverly name, “The Asbestos Lined Room“. Our message board lacked such a forum, and the entire community was littered with negative posts.

Thus, we spun off of the traditional idea, but took it a slightly different direction. We branded the new forum in the Gearbox theme and called it “Internal Combustion”. Unlike many other forums, we still maintained a certain level of moderation over the forum. We presented the forum as a place to voice concerns about anything related to the community that might normally be inappropriate. As a surprising result, we’ve seen a lot of very constructive threads and not much flaming.

We also made another very important decision when creating the Internal Combustion forum. A large portion of our traffic comes from Internet users looking for information that happens to be on our forums. To make it easier for these users to find the information, and to present a more positive impression of our community, we hid the Internal Combustion forum from casual users. The forum can only be viewed by community members when they are logged in. We also actively move threads from other forums into Internal Combustion when appropriate. This has ultimately helped to keep our forums a little bit cleaner.

The Illuminate

Most of our forum users don’t even know it exists. In fact, this post may be the very first and only public posting about it’s existence. I may get flamed for not keeping the secret.

Our message board attracts a lot of immature members. Our moderators stay busy trying to curb trouble makers and keep things generally productive. Even with our best efforts, the public posting areas can be unpleasant at times. In this chaos, we noticed that a lot of our regular members were very mature, very constructive, and an important element in making our community a good place to be. So, we decided to reward these members.

We created a group of hidden forums where only selected members could post. The moderators, company employees, and those selected members all found that these new forums made for a safe haven to chat and interact without the noise of the public forums.

Much to my surprise, I found that the Illuminate actually cared deeply about the success and structure of the community as a whole. Their feedback has been valuable in managing the community. So much so, that I’ve recently proposed organizing the Illuminate as a council to provide regular reports to help the moderators, admins, and our new manager further grow the community.

The Jail

It’s not live yet, but we’re seriously considering it. Currently, banning users is our only real forum of management. We want to expand our punishments and add rewards so that we can better influence the community. As a first step in that direction, we are considering jailing users instead of simply banning them. We would do this by creating a forum hidden the same way Internal Combustion is hidden. When a user earns a ban by breaking rules, we would restrict them to only being able to post in this forum. The idea is that the jailed user can still interact with any other forum member who’s willing to spend time in the jail forum. The jailed user will also have a platform from which they can discuss the nature of their punishment. The user may protest, make amends, or simply enjoy the time of the sentence.

Conclusion

If we go ahead and try the jail out, I’ll discuss the results in a future post. In light of this positive take on changes in the Gearbox Forums, I might also offer a future post discussing what hasn’t worked or – more interestingly – what has worked against us. Hopefully, the jail won’t be part of that post.

The Online Architect

In a previous entry, I mentioned that my official work title at Gearbox would be changing – and it has. Originally, I hired on as community manager. Once here, I started overhauling Gearbox’s online image and have recently redesigned the company’s intranet. I am currently shifting into a completely new set of responsibilities, and will be handing community management off to a new hire.

I am now a director in a division of company called Gearbox Development Services. GDS is designed specifically to support the rest of the company. This includes QA, IT, Web, and application (mostly tools) development. I oversee the development of apps.

Our online infrastructure is my passion. Gearbox will soon be doing things with it’s community that have not been done before. So, while my little box on the official org chart is titled ‘Director of Applications’ – my business cards and signature read ‘Online Architect‘.

Community Building Case Study: Tips from DallasFestEvil.com

Introduction

I began development on the DallasFestEvil.com website around July of 2004. I was working in conjunction with a promoter (now retired). Up-to and during the event, we worked to build an online following. Our budget was very limited and we were working with a previously unsuccessful festival. Somehow, we managed to pull it off. Here are a few of the techniques we deployed.

Techniques

Dynamic High-Content Website – The site itself provided detailed information about the event, including ample visual imagery. Dynamic pages were scripted to auto-update. Some pages were entirely new each day of the event. Even without attention, the site felt alive during the event. The current state of the site represents less than a third of the content available before and during the event.

Efficient Communications – We used a webform to make e-mailing the organizers easy. Every e-mail was processed quickly. This solid feedback loop encouraged many new relationships that proved valuable to the success of the event. If you provide users with a way to contact you – always be responsive!

Quality Mailing List Community – We focused our mailing list efforts towards quality over quantity. We organized contests – such as online scavenger hunts – and awarded prizes provided by our sponsors (remember those positive relationships?). We provided exclusive high-value content to our list members (such as ways to get discounts at the event) and branded the list as an exclusive club (“R.I.P. All Access” as we called it).

Dallas FestEvil

Cross Promotions – We made sure to mention every act, every sponsor, and every vendor on our website (linking when and where we could). In exchange, we asked each of these acts, sponsors, and vendors to do the same for us on their websites. We even provided sample banners and linking code. Then we asked google to re-index each site that linked us. As a result, we were able to significantly raise our page rank and indexing in google. We also tracked referrals and could see which sites were sending us the most traffic.

Photo Albums – During the event, we roamed around taking digital pictures of attendees. We often asked them to pose with actors in costumes and in various scenes. We posted a total of 14 different photo albums (with captions). As we took pictures, we told attendees where they could find photos of themselves online. We also posted informational fliers all over the event grounds. These photo albums generated a large bulk of website traffic during and well after the event.

Fire Spinningrarhello ladies!good peepsso scaredscrewed!pretty lady

Street Teams – Together with volunteers from our mailing list, we posted about the event both online and off. On the Internet, We spread the word to a variety of online communities we both happened to be active in. We posted on a variety of forums and message boards, always being careful to pick relevant sites and post politely. We also monitored and responded to these posts in case anyone had questions or comments. In the real world, we spread fliers and printed up coupons. We made these available in store fronts and other public location.

Conclusion

While most of those techniques may seem obvious, they are often overlooked or at least under-worked. Combined with the production of a quality event, our inexpensive techniques proved a successful and effective way to brand and promote the festival.

A public posting area – providing a way for the community to interact – would have been a good addition. However, we felt we could not afford the personnel bandwidth to properly monitor and care for a forum type solution. Without proper care, a forum could have done more harm than good. Unattended forums are often hit by spamming and trouble makers, making them unpleasant for the community to use. If you’re going to do it, you gotta do it right.

Virtual Community – What is it we’re talking about here anyway?

Definition of a Virtual Community

I could simply post a link to wikipedia’s definition of virtual community and leave it at that. The free encyclopedia says:

“A virtual community is a group whose members are connected by means of information technologies, typically the Internet.”

However, I think it important to carefully consider the scope of this definition. In 1910, an information technology called ham radio began to connect groups of people. Ham radio communities are different from our modern view of Internet based virtual communities; however the idea is the same and still fits our definition. Thus, ham radio users formed their own “virtual communities”.

But, the idea could be even older than ham radio! Hundreds of years ago, American Indians used an information technology known as smoke signals. (this connection was mentioned at sxsw) Perhaps native Americans used these smoke signals to form virtual communities of their own.

I suspect one could reach further into history and find an endless slew of arcane virtual community examples. However, in our world and our time, Internet based virtual communities have come and gone in numbers far beyond my desire to estimate. I think its safe to assume that the Internet is by far the most popular virtual community platform in history.

Examples of Internet based Virtual Communities

Here is a brief and random list of technologies that support various types of virtual community on the Internet:

Usenet: Perhaps the oldest (1979) and definitely the most established message posting system on the Internet. While usenet has grown easier to use, it still suffers from greatly from spam.

Forums: Forum software has grown to be the de facto solution for building an instant community. Generally speaking, forums work much like mini versions of Usenet. The advantage of using a forum solution is the ability to quickly provide a standard yet powerful communication platform. The disadvantage is inheriting a batch of common social problems that seemingly result from the design of the technology. Generally, the only way to overcome many of these social problems is via constant moderation of the system. This can often times turn what seems like a cost effective solution into an extra expense.

IRC: Internet Relay Chat is the oldest underworld on the Internet. Servers and networks are generally provided by enthusiast instead of corporations. Chat networks of all kinds have come and gone, meanwhile the world of IRC always persists. It is not uncommon for IRC communities to grow significantly large. While the technology has slowly evolved, the core of it remains mostly the same.

Blogs: Perhaps mostly successful because of their self-promotional nature; Weblogs have grown into this creepy Death Star esque concept called the Blogosphere. With Blogs, the supporting technology seemed to have slowly converged instead of suddenly being invented. While the pointless ramblings of the Blogosphere may be filling the Internet with seemingly trivial and pointless data, all the fuss brought us innovations in technology such as the wonders of the RSS feed.

Social Networks: Somewhere along the way, someone decided to start looking at ways we can map our relationships within virtual communities. The weblogish site known as Live Journal does this by allowing users to maintain friends lists. This feature allows a user to explore posts made by friends, friends of friends, and so on. The concept goes a step further on MySpace: a conglomerate of far too many trendy communication technologies that encourage the exploration of the social network via photos. These sites have often become brave new networking grounds for various industries. MySpace, for example, seems to appeal to performers – ranging from bands to porn stars – who are looking to promote their talent.

MMORPG: Multiplayer computer (and video) games are popular foundations for virtual communities, but none more than the massively multiplayer online role playing games. This technology provides a very natural aspect to community development – the aspect of space and time. Where many communities allow users one-click instant access to another section of the community, an MMORPG provides a conceptual world where a user must spend time moving from one location to another. This concept of space is the key factor in how human communities began forming in real life. Remember, without information technologies, communities could only form among groups of people living close together. This suggests that the aspect of space and time should greatly influence the social development of a virtual community.

ARG: Alternate Reality Games probably aren’t as new as they seem. In fact, being more of a game than a technology, ARGs might not be appropriate for this list. However, the realm of ARGs seems to be a popular foundation for many recent virtual communities. Perhaps one of the most recent and popular ARG related communities is Our Colony. In my experience, these games/communities are generally marketing driven campaigns. I would love to see examples of ARG communities that are not related to a corporate agenda.

Wrapping It Up

The information above is not comprehensive nor particularly uncommon knowledge; however, many of the ideas I’ve pointed out are good foundations for future discussions. There’s so much more I’d like to talk about and I think it might be fun to see how long the above list could be; so I invite comments about stuff I missed.

In the future, I’ll offer extended dialog on the social and technical aspects of various virtual community types and try to note some things that can be learned from each.

CSS and State Machines

It suddenly occurred to me last night, CSS should include a state machine.

In a subtle way, it already does with “:hover”.

The hover state is triggered based on the mouse cursor’s position. This very basic state allows designers to produce some interesting results.

Additionally, perhaps CSS should allow designers to create their own custom states. It could allow designers to assign state changes based on user interaction with page elements – such as onclicks. A page element could have unique CSS formatting depending on a given state. This concept provides a foundation to build highly interactive page elements without (or with less) javascript.

One application for this system is multi-paged documents. By hiding pages inside divs with both hidden and display states defined, a designer could build a menu that flips through any number of pages without requiring a new page load (a server request). Just think, a complete website could be stored in a single .html document.

State change interpolation is a potential subsequent addition to CSS. Pretend you used states to create a menu that window shades on double click. If you toggled between hidden and display states to change the menu, the animation is going to jump instantly from one state to the other. However, if you could interpolate the menu height from 100% to 0% between two states, you could create a smooth animation.

This would open the door to impressive interfaces, but without the use of Javascript.