Nick Bouton

Links for 2008-07-04 [del.icio.us]
- Bill Gates upset with Windows Usability - Bokardo
Here’s a 2003 email from Bill Gates in which he vents his frustration with the Windows interface…in quite excruciating detail. - Learning Viral: The Basic Viral Model | Noah Kagan's Okdork.com
I have written in the past about how people include “viral” in their marketing plan but are missing the point of what’s really happening. Your site can be growing but not viral! Shocked? How can this be. - 37signals Product Blog: Phasing out support for IE 6 across all 37signals products on August 15, 2008
On August 15th, 2008 we will begin phasing out support for Internet Explorer 6 across all 37signals products. In order to continue using the products without any hiccups, Internet Explorer 6 users should upgrade to a newer browser.
Links for 2008-07-03 [del.icio.us]
- 24hrs Blogosphere Buzz: 07.02.08 | cyberbuzz
Nick Bouton’s Protagonize was also nominated for a Canadian New Media Award for Excellence in Social Media Websites. - Web community spins Protagonize's yarns | Straight.com
Evidently, I wasn’t the only one who, when I saw what hypertext could do, thought the technology was perfect for Choose Your Own Adventure stories. - SEOmoz | Reddit, Stumbleupon, Del.icio.us and Hacker News Algorithms Exposed!
It is greatly ironic that algorithms, the quintessential example of all that is not human, would be so fundamental to social media. [...] This week I continue by exposing how popular social media websites use algorithms to utilize user data. - Canada Start-up Index - July 2008 | Techvibes Blog
The Start-up Indexes are a monthly ranking of start-ups based on an average of Alexa and Compete rankings. - Inhabit Street
welcome to inhabit street | for apartment buildings, condos and townhouses, inhabit street is a website for your community. it's a place for you to meet your neighbours, manage your strata and find out what's going on in your neighbourhood.. - JQuery IntelliSense in Visual Studio 2008
ScottGu recently announced that VS2008 JavaScript IntelliSense no longer fails completely when it runs into JQuery, which is fantastic news - and an impressive testament to the flexibility of VS2008's JavaScript parsing abilities.
Links for 2008-07-02 [del.icio.us]
- TED: Ideas worth spreading
Inspired talks by the world's greatest thinkers and doers - fakeplasticrock » Blog Archive » Rock Band 2 Partially Revealed
Finally, confirmation of Rock Band 2! It’s coming in September of this year for the Xbox 360, and a little later in the year for all other platforms. - Pop!Tech - social innovation fellows
Equipping World-Changing Innovators with 21st Century Tools and Training
Links for 2008-07-01 [del.icio.us]
- Welcome to Legacy Towers
5611 Goring St., Burnaby, BC
Links for 2008-06-30 [del.icio.us]
- Font Paradise - 2,800 Free Fonts to Download
Thank you for coming to Font Paradise, where you can download thousands of free fonts! - dafont.com
Links for 2008-06-27 [del.icio.us]
- Mashups: Google's Adoption Makes oAuth a Must Have for All Apps - ReadWriteWeb
Open standard based user authentication protocol oAuth has now been implemented across all Google Data APIs, quickly offering this young standard for easy mashups more market validation than it's ever had before. - "I'd close World of Warcraft!" MUD creator Richard Bartle on the state of virtual worlds | Games | Guardian Unlimited
I asked for your questions and received several suggestions which I put to Mr Bartle earlier this week, along with some of my own queries. Well, Richard has delivered in style. - Bitter Coder - OAuth for Beginners
For those unfamiliar with OAuth, here's a very short run-down... I'm skipping over some of the details but I think this should give you a taste for what it's all about - for a more well rounded introduction, check out this article on the OAuth.Net website
Links for 2008-06-26 [del.icio.us]
- The Margin Manifesto: 11 Tenets for Reaching (or Doubling) Profitability in 3 Months - The Blog of Author Tim Ferriss
The financial goal of a start-up should be simple: profit in the least time with the least effort. Not more customers, not more revenue, not more offices or more employees: more profit.
Links for 2008-06-25 [del.icio.us]
- Designing Your Reputation System
10 practical questions for designing a reputation system. This talk was (partially!) given at the 2008 IA Summit. - Psychology of Social Design Talk - Bokardo
Last wednesday I gave a 45 minute talk at UXWeek 2007 (photos) called The Psychology of Social Design. Here are the slides:
Links for 2008-06-24 [del.icio.us]
- Bartle Test - Wikipedia, the free encyclopedia
The Bartle Test of Gamer Psychology is a series of questions and an accompanying scoring formula that classifies players of multiplayer online games (including MUDs and MMORPGs) into categories based on their gaming preferences. - Virtual Earth JavaScript Intellisense Helper - Home
The purpose of this project is to fully enable JavaScript Intellisense for the Virtual Earth Map Control inside of Visual Studio 2008. - Social Design Patterns for Reputation Systems: An Interview with Yahoo’s Bryce Glass (Part I) - Bokardo
Of all the social software built in the last two decades, none are as important yet as little talked about as reputation systems. [...] That’s why I’m really excited about the recent release of Yahoo’s social design patterns for reputation systems. - Gamasutra - Q&A: GuildCafe's Jon Radoff On MMO Community
Launched in December of 2006, GuildCafe is a social networking site with a focus on MMO gamers. [...] We spoke to Radoff about GuildCafe, its implications for online gaming, and his future plans for the site. - Gamasutra - Q&A: Guildcafe's Radoff Talks VC Backing, Game 2.0
MMO-focused social networking site GuildCafe recently announced that it had raised venture capital through IDG Ventures Boston, an independent group concentrating on IT and life sciences ventures with over $280 million currently under management.
Links for 2008-06-23 [del.icio.us]
- Exits: Stewart Butterfield's bizarre resignation letter to Yahoo
In a long, rambling email to Yahoo executive Brad Garlinghouse, under whose aegis Flickr fell, Butterfield described the company as a tin-smithing concern, but found that there was no place for him as the company left its metallurgical roots. - Kingdom of Loathing - Wikipedia, the free encyclopedia
Kingdom of Loathing (KoL) is a humorous, browser-based, multiplayer role playing game, designed and operated by Asymmetric Publications, including creator Zack "Jick" Johnson and writer Josh "Mr. Skullhead" Nite. - Six Career Tips
Lately, a few friends of mine are making some moves in their careers, they asked me for my advice, so I decided to give them my observations. - globeandmail.com: Online collaboration lands young authors book deal
Victoria, New York writers took 18 days to pen 400-page fantasy novel Havemercy, then attracted attention of major publishing house
Links for 2008-06-20 [del.icio.us]
- 41 Hilarious Science Fair Experiments
We should all pity the science teacher, for this is what they deal with on a daily basis.
Links for 2008-06-19 [del.icio.us]
- erratic - imagemap rollovers with area shape="poly" | The Prototype Remix
A long time ago I had to make an imagemap with pixel precision outlines of the continents with a hover state on the links, so I cobbled together a kludgey script that worked. That was then, this is now. - ModalBox | Wildbit
ModalBox is a JavaScript technique for creating modern (Web 2.0-style) modal dialogs or even wizards (sequences of dialogs) without using conventional popups and page reloads.
Links for 2008-06-18 [del.icio.us]
- On A Scale of 1 to 5 - Boxes and Arrows: The design behind the design
Where would we be without rating and reputation systems these days? [...] Reputation systems (essentially a rating system for people) also help guide us through the labyrinth of individuals who make up our social web.
Links for 2008-06-17 [del.icio.us]
- Vancouver Start-up Index - June 2008 | Techvibes Blog
The index ranks Vancouver area tech start-ups based on an average of Alexa and Compete traffic rankings. - Team Hack-a-Day - View topic - Run Firefox 2 and Firefox 3 Beta side-by-side
I was interested in giving Firefox 3 Beta a shot, but I didn't want to damage my Firefox 2 profile in the process. Here are a few easy steps to follow so that you can do the same. - WritingRoom.com - Everything Writing
WritingRoom.com is for everyone because everyone has a story to tell; a letter to write; a school paper to finish or simply the need to communicate.
Links for 2008-06-14 [del.icio.us]
- PC game accused of purloining Oblivion assets - PC News at GameSpot
Limbo of the Lost allegedly borrows environments from Bethesda's latest Elder Scrolls game; publisher caught unawares, developer unreachable.
Links for 2008-06-13 [del.icio.us]
- Viddler.com - Huo Yuan Jia [27] - Uploaded by WaiWaiNoodles
Crowdsourcing subtitles for a bad Vietnamese (?) television show. Awesome.
Links for 2008-06-12 [del.icio.us]
- Learning 2.0: The Threat (and promise) of Social Interaction - Bokardo
The mere threat of social interaction changes our behavior…if you know your work is going to be put on public display, you’ll be much more motivated to make it good. - Quick Fix-it Tips for Clothes and Laundry! | KEEN on Health & Beauty
Everyone has it but no one really likes to do it… laundry. Over the years of being a TV reporter I’ve had just about every clothing emergency you can imagine!!! - A Comprehensive Guide to StumbleUpon: How to Build Massive Traffic to Your Website
I’ve been experimenting with StumbleUpon for the past few months and have had several pleasant experiences. It’s simply an incredible viral means to drive a large amount of sustained traffic to any website over a period of time. - handling community growing pains » nickbouton.com
This is part one in a series about ways you can deal with the trials and tribulations of a growing user community on your web site. - globeandmail.com: Ottawa tables copyright bill
The federal government tabled new legislation Thursday morning designed to make it easier to track and prosecute anyone caught downloading copyrighted files, such as music and movies, from the Internet.
Links for 2008-06-11 [del.icio.us]
- Show Notes: Episode 176 | Lab With Leo
Very brief overview of what AJAX is and what frameworks offer in general.Discuss 3 different available open-source AJAX frameworks and libraries, and the perceived strengths and weaknesses of each. - Future of Web Design
- AIR:Books:Adobe Integrated Runtime for JavaScript Developers - Adobe Labs
Adobe AIR for JavaScript Developers Pocketguide Mike Chambers, Daniel Dura, Dragos Georgita, Kevin Hoyt - Get Satisfaction’s Nice Import Profile Feature - Own Your Identity
Noticed a nicely-designed element on the Get Satisfaction signup form today.
handling community growing pains
This is part one in a series about ways you can deal with the trials and tribulations of a growing user community. Part two will be posted in the next few days and will deal with iterating on your site’s features and usability in order to accomodate the needs of your user base. Interested? Subscribe to my feed to keep informed of new additions to the series.
As many of you are aware, the reason I’ve been quiet over here of late is because I’ve been busy maintaining Protagonize and blogging regularly (in video and otherwise) on the official Protagonize blog.
What you may not be aware of is that the site is growing quite steadily, and with little fanfare, is starting to run in to the inevitable growing pains that social networks and communities tend to experience in their formative months (and years.)
I thought it would be useful to explore and discuss some of these issues, without getting into serious technical detail. If you can manage to avoid these problems, you’re well ahead of the pack.
Ouch, that hurtsThese days, you can’t toss a brick without hitting another blog post or microblog entry about Twitter’s downtime issues and inferior system architecture. While I don’t disagree that they’re not scaling very well to meet demand, I will state that I doubt the system was originally designed to handle the kind of exponential growth and volume they’re seeing right now. With over a million registered users, and some incredibly vocal and/or popular members — such as Robert Scoble (who appears to have toned down his Twitter usage in recent days), Jason Calacanis, or Leo Laporte — Twitter is experiencing inevitable growing pains. All three of these social media heavyweights have upwards of 25,000 followers and “tweet” on a regular basis. Apparently, this causes Twitter to have fits. While many have tried to blame their technology platform, Ruby on Rails, for the scalability issues, Twitter has gone so far as to shift the blame to these highly-followed users for some of the architectural issues they’re currently suffering from.
While some sporadic downtime would be understandable for most organizations in Twitter’s situation — where they’ve generated massive amounts of traffic in a relatively short span of time — much of Twitter’s user base consists of edge cases: hardcore early-adopters and tech-savvy users familiar with social media, neither of which is coping with the frequent downtime well (though one might assume those more in the know would be more forgiving.) Every big event, with Apple keynote speeches and conferences like SXSW leading the charge, seems to cause them more and more grief. This leads to hordes of disillusioned users complaining about their application, ON their application. You know what they say about all press being good press? It’s not so great if the bulk that bad press is being dispersed using your software.
Early adopters are notoriously fickle creatures, generally willing to jump ship to the “next big thing”, be it a similar service (remember Pownce? I’m still not using it), or a shiny new toy with a little overlap (Friendfeed, Pluck, or Brightkite.) Amusingly enough, Plurk and Brightkite are starting to run into similar issues of scale, with significant downtime since the media blitz they suffered about a week ago. Twitter, on the other hand, is a veteran in the lifestreaming world and is slowly starting to break into the mainstream, but if they don’t get their architectural issues dealt with quickly, they’re going to miss the boat. Is Twitter the next Friendster, unable to capitalize on a rabid, exponentially expanding user base and great press coverage? I sure hope not, because as a community developer, I’m completely able to understand their situation.
The pitfalls of rapid developmentMost of the largest and most popular applications developed during the unfortunately named Web 2.0 era have been built by small development teams with limited (or non-existent) budgets. Very few were backed by large organizations with deep pockets before launching and reaching a tipping point of some kind. This approach makes getting a new site off the ground cheap and simple, requiring only time and elbow grease, but little in terms of funds or manpower.
The converse dilemma created by this approach is that lack of sufficient time, funding, or staff creates a vaccuum effect. Regular best practices of software design and maintenance — which would normally be standard fare for any large-scale application with a proper release cycle in place — start to fall by the wayside to accomodate new, off-the-cuff features, designed to meet the ever-expanding user base’s demands. Why is this? Because you’ll hear from your power users — your community evangelists, if you treat them right — on a regular basis. They’ll message you, they’ll complain, they’ll tell you when something’s wrong, and eventually, they’ll give you suggestions. All of this, be it negative or positive, is good feedback to aggregate and parse. If you’re not hearing anything at all from your users, you’re probably in a pretty deep hole and should start making attempts to communicate with your community on a regular basis.
Maintaining the uneasy balanceThe issue at hand is keeping system architecture and maintenance in a balance with new features. For instance, your users won’t likely be aware of the fact that your application server’s single CPU is running at 100% with only a handful of simultaneous users. They’ll just see that a page is taking an inordinate amount of time to load, or a server error due to a timeout, and they’ll bail out on you. They’ll vent at you, telling you that one feature or another needs to be added, or fixed, or tweaked to their specifications. Take this with a grain of salt, but don’t forget it altogether.
With Protagonize, I try and maintain a balance, alternating site optimization and performance or usability enhancements with new feature development. It’s obviously a gargantuan task, with a staff of one (part-time, to boot!), but if you parcel out your tasks accordingly, it can definitely be accomplished.
Formulate a RoadmapI have a to-do list (that I maintain on on Basecamp) that’s a good 300+ items long. It’s basically a rough product roadmap for Protagonize, that I’ll build on as the site grows and as I have more time to develop it. I chip away at these tasks one by one, organizing them by priority and by type of task. Outstanding bug fixes, while there aren’t many, rank high on the list, as do serious performance deficiencies that need to be addressed immediately. At the same time, major new features are ranked by necessity and spread out evenly amongst maintenance-related tasks.
Try and break your task list down so that you can get a few small changes in before taking on something big — this makes you feel like you’re actually accomplishing something, and surprisingly, the smallest of changes on your site can make your users supremely happy. A tiny change like extending the story editing window to 24 hours (from one hour) on Protagonize generated all sorts of thanks from my members. Little things add up, so try and squeeze a few in before you take on a major feature.
Communicate with your usersEveryone is familiar with the “Digg effect”, “getting Slashdotted”, “being Techcrunched”, or any number of other variants on the theme of getting hit with (and succumbing to) a huge influx of users in a very short span of time. Most people are understanding of this kind of downtime, as it’s a one-off, unpredictable occurrence and is generally due to a major spike in traffic for a short span of time, measured in hours (or worse yet, days.) What people aren’t willing to put up with is extended downtime or system sluggishness with no obvious cause. If something is causing your site to run slowly, or requires a server maintenance window longer than a few minutes, communicate this with your users. The importance of a good back-and-forth discussion with your community cannot be understated. They’ll be much more willing to suffer through the tough times if they’re not in the dark.
Joshua Porter’s newly published book, Designing for the Social Web (affiliate link), has some excellent examples of how to communicate change with users in chapter 3, “Authentic Conversations”. I recommend this book to anyone building or managing a community — the advice Porter offers is invaluable, especially customer-relations case studies such as Dreamhost’s billing nightmare earlier this year, or the “Dell Hell” episode. His blog, Bokardo, is also definitely worth subscribing to, as he writes articles about community building on a regular basis (much of which provided fodder for his book.)
While I don’t (quite) have the audacity to compare Protagonize to a site that has over 500 times the number of registered users, I’ve discovered that nothing really compares to speaking from experience. I can definitely feel some sympathy for Twitter’s precarious position. As Protagonize’s user base has ramped up from a couple of hundred users to several thousand, I’m noticing issues with the site where none were obvious before. Most of this is because I just didn’t have the time or resources to properly load test the site when I developed it (and still don’t, to some extent.) Some of it is due to poor architectural decisions that I’ve since overhauled, and some of it is simply due to a lack of development time. Either way, your users won’t quickly forgive you unless you communicate with them, and make serious attempts to resolve the situation at hand in a timely fashion.
Features you may add as an afterthought can and will work against you if you let them. A rushed change can wreak all sorts of havoc if you let it, but it may not become obvious until much later. Basic additions, such as the addition of images to user profiles, something I added a few weeks after launching Protagonize, have a way of coming back to bite you in the ass if you don’t plan for them properly. Worse yet, they can become obfuscated by other issues or complexity that you’ve introduced since that point.
Small changes can spell big troubleThe problem in my case, without boring you too much with technical jargon, was that all database queries that pulled back user data were suddenly pulling back image information as well. While I store all of the user images on the filesystem for faster access, Protagonize has an original source copy of each image in the user records stored in the database as well. I added profile images well after the original site was built, and I was hurried while doing it. The result was that with a large influx of users, pages making user requests (especially aggregator pages like our central Authors page) were suffering from longer and longer load times. More comical still was the fact that we had dealt with a similar issue last year when I worked on ThoughtFarmer and it had totally slipped my mind.
Of course, as a developer, I immediately thought it was one of the more complex queries strewn around the page that was slowing things down. I proceeded to make little optimizations here and there to try and make things faster. Only after two days of tweaking did the thought occur to me that it might be the images on user records that were causing the excessive slowness. A half-hour later, I had the problem solved, and any page loading author information was suddenly loading a good five times faster. I have no idea how many potential new users I may have lost due to the sluggishness of various pages around the site, and I don’t really want to think about it, to be honest. :)
This all comes back to the fact that while the smallest of changes can please your audience to no end, it can also break stuff rather badly as well. I learned my lesson the hard way. While I don’t plan on repeating the experience, I’ll concede that it’s entirely possible it can happen again due to the way I work and iterate on the site rapidly. I can, however, take precautions against this kind of thing happening again. Now that I’m aware of the impact of a larger user base, I’ll be more careful with seemingly insignificant additions in the future. I can’t imagine the impact it would have had if my site’s membership was anywhere near the size of Twitter’s. My understanding for their troubles in recent weeks grows as I start to feel similar issues, even on a smaller scale.
In part two, I’ll discuss how to approach developing your site’s features incrementally and responding to user feedback, positive or negative.
Photo credit: yoannlb on Flickr.
Links for 2008-06-09 [del.icio.us]
- We Tell Stories
Six different stories told over six weeks from six different authors all of which are inspired by six different classic novels. - The 3G iPhone: First Impressions | Walt Mossberg | Mossblog | AllThingsD
I’ll have a full, detailed review of the new 3G iPhone in a few weeks, but here are some first impressions based on Apple’s (AAPL) announcement today. - Skinning MS SharePoint with standards ~ Authentic Boredom
All of this has required considerable customization, and thus for those of you waging a battle with SharePoint modding, I offer a few resources we’ve used along the way. - My DebugBar | IETester / HomePage
IETester is a free WebBrowser that allows you to have the rendering and javascript engines of IE8 beta 1, IE7 IE 6 and IE5.5 on Vista and XP, as well as the installed IE in the same process. - Ephram Zerb » Feed Wrangler
Feed Wrangler is a simple plugin that allows one to create custom feeds for their WordPress blog. You can customize the structure of that feed by creating a corresponding file in your blog theme, otherwise the custom feed will default to your RSS2 feed. - globeandmail.com: Y Combinator diaries
Michael Parkatti and Mike Marrone are in Cambridge, Massachusetts participating in the 2008 summer session of Y Combinator, a new kind of venture firm specializing in funding early stage startups, to begin work on their new stealth-mode Internet startup. - Maple Leaf 2.0 - Technology and Web 2.0 News in Canada
Continuing from yesterday’s great news about b5media and the Canadian New Media Awards, I heard from Nick Bouton today that his site, Protagonize, has also been tapped as a finalist for the CNMAs.