I spent most of this morning looking back through old posts about the Chandler Project and OSAF. I've thought about this a lot, due to the many parallels with my work at The Open Planning Project. For newcomers, those parallels are:
Massive funding from a visionary with a dream (in OSAF's case, Mitch Kapor, in TOPP's, Mark Gorton), where that dream may not always be perfectly articulated;
Rapid staffing around an open source project attempting to satisfy that dream (OSAF's Chandler to TOPP's OpenCore /
OpenPlansCoActivate);Due to both of the above, a propensity to expand scope and broaden the potential market(s).
Since Dreaming in Code (the book chronicling the story of Chandler and OSAF) was published in 2007, Kapor has stepped away from the project and pulled his funding. Through 2008, OSAF operated under his funding, but with a scaled down staff (10 down from ~25). Long story short, the project failed to get enough traction and was just too expensive. There has been lots of commentary about why this happened, so I'm not really attempting to describe anything new here. For my own understanding, though, I want to jot down the takeways that seem most relevant to my work at TOPP. Here's what it seems that OSAF couldn't do, and what I'm hoping to do at TOPP Labs: Choose one market to start with, and satisfy it fully. In Crossing the Chasm, Geoffrey Moore describes a (high tech) market as the following:
a set of actual or potential customers
for a given set of products or services
who have a common set of needs or wants, and
who reference each other when making a buying decision
According to Moore, it's the last one that tends to hang people up -- it's not a market unless the members reference each other. In other words, you need to focus. In his "beachhead" (aka D-Day) strategy, he advises putting your full effort into your initial market segment, generalization be damned, and satisfying other users with what's left over. If there aren't any real constraints, create some. If embrace change was the mantra of the XP movement, and embrace constraints is the mantra for web 2.0 startups, then perhaps introduce constraints to create change should be the mantra for over-funded tech non-profits. Some constraints that are particularly relevant in this case are: target market (see above), team size, project scope and timelines, and if all else fails, funding. Granted, it is difficult (but not impossible, IMO) to introduce other constraints when funding is plentiful and reliable. Don't get too academic, OR, let the market drive your decisionmaking. This is perhaps just an extension of "constraints", above, but I think it's worth mentioning separately. Looking at the way Things (team of 2 devs) and OmniFocus (experienced sofware entrepreneurs) ate Chandler's lunch, it's clear that there was a failure in the product development process. While the Chandler team was debating database infrastructures and making endless product spec notes in their wiki, Things brought a simple, usable product to 1.0 in just over a year. They didn't have the luxury of lengthy debates; they needed to get something out there, get people using it, and get feedback. Since their 1.0 release in January 2009, they've steadily released relevant updates based on real feedback. Can you be market-based and constrained in an open source environment? I think so; it just required leadership and understanding of these factors. It could be argued that Chandler wasn't able to implement these kinds of changes because of its open source nature and collaborative process, but I believe that it's possible (and this has been
For a recent personal project (I won't say which since that would defeat the purpose), I was in need of a new kind of authentication. My wife and I wanted to create a website where we could post photos and news for our family and friends, while keeping that information off of the broader intertubes. With a baby on the way, we plan on having lots (and lots and lots and lots) of photos to share. Regular, account- or password-based authentication wouldn't work, because I didn't know exactly who would be visiting, so either creating one password and sending it around, or creating passwords for each individual person were not options. So, what I ended up creating was a "do you know me?" authentication system. Here's how it works:
Upon entering the site, you are posed with a challenge. You can choose your question from a group of 5. In this case, I chose questions that anyone who was part of the family or knew us somehow would be able to answer. For example, "where did Nick grow up?" or "boy cat's name". I picked enough different questions, pulling info from enough different aspects of our lives, that anyone who we'd want to get in would be able to get at least one right. In this case, I was using WordPress, so I first created created a series of logins that would correspond to the questions I wanted to ask. Then, I created a custom login screen using the Themed Login and Registration plugin. I updated the login template, substituting the standard "login" text input with a select menu, where each option consisted of a question and its corresponding login ID. My question for all of you out there is: are there other existing examples of this kind of system? Better solutions for implementation? It seems like a generally useful system. If time permits, perhaps I'll wrap this up and offer it as a WP plugin. That's it! So far, this has worked pretty well for us, and has been a nice solution to opening up our lives to our family and friends while maintaining our privacy.