The alpha release of our site/product developed as an open agile project has just gone live!
http://tynerblain.com/nexus/ is the home page. More stats and updates below.
Time To Market
We started the project exactly one month ago today. We defined a vision and scope, target users, use cases, constraints, UI designs and implementation designs. We also created tests at a specification level (user login ID must be unique, etc). We designed a logo and worked on information architecture.
We learned Ruby on Rails (learned enough to launch, anyway – much more to learn) along the way, and had to get some help with setting up our deployment environment. Now, updates to the site can be pushed to the server with a single command-line.
We spent somewhere between 160 and 200 man-hours on this release, across all the different areas, with I believe, the following rough breakout of time:
- 1/3 requirements
- 1/6 design
- 1/2 learning
- 1/6 implementation (and most of that in writing tests)
Kevin Rose mentioned that the first version of digg was built by one guy in two weeks – after giving him a spec. I think we stayed competitive with that, especially given the time spent learning the language. Digg was built in php by someone who knew php already.
What can you do with nexus today? We defined the priorities for the first release on April 25th as follows:
- Browse An Area (Jill & Paul + Ellen). First. Done
- Suggest An Article [Version 1] (Paul & All). First. Done
- Rate An Article (Jill & All). First. Done
- Search For A Topic (Jill & Paul + Ellen). Second.
- Broadcast An Article (Paul). Second.
- Comment On An Article (Paul & All). Second. Done
After getting some great feedback, we recognized that commenting (aka reviewing) an article was also important – possibly more important than numerical ratings. When we discovered the security issues that we needed to address, that bought us some time – it delayed the initial release while we learned and implemented protection. During that time, we added in the ability to do reviews.
Some Bonus Features
We also implemented a couple other things “early” while we were there.
- The ability to rate a review – is it fair, accurate, misleading?
- The ability to view “my articles” – all of the articles you submitted are available on the “Your Page” page.
- Friendly URLs – part of this came out of our IA exploration.
- A first attempt at “scoring” the quality and content that each user contributes. The scores reflect how many articles you submit and reviews you write. More importantly, they are driven primarily by the ratings that your articles and reviews receive.
- Faceted navigation is in place too – allowing people to use different browsing approaches.
What’s Next for Nexus?
I’m about to leave for the airport – my mom is visiting for the weekend, so we won’t really make any progress tomorrow. Once we get started again, we’ll finish up the features for the second release (searching and emailing). Emailing will be tricky – we have to prevent spammers from using the site to bombard people with emails. Searching may be easy, but we have stuff to learn first.
We also have some “catchup testing” to write – there is a tool that provides code-coverage analysis, which we need to install and apply. So next week will be primarily working on those two features, adding testing, and refactoring.
I’ve had a couple ideas this week.
Rolf submitted an article that is in German. I want to see if there’s an easy way to leverage Google’s translation tools to automatically translate the articles (if desired) into the current user’s language of choice, when the user leaves nexus to visit those articles.
I’ve also been thinking about “books” as peers to “articles” – I want to explore that more, but I still believe it is secondary to at least the already-prioritized features.
I think it might be handy to generate an RSS feed from nexus, so that people can keep track of when new articles are submitted – both overall, and by category/experience.
I need to see how to make Ruby on Rails perform scheduled tasks (like backing up the database, tracking statistics, etc). I want to be able to monitor how the site grows over time. I think it also might be interesting to share that data publicly. For now, there are some counters in the sidebar that provide real-time data, but no history.
What Can You Do?
Sign up, and start submitting, rating, and reviewing articles. We have to collectively make a push to get enough content (and feedback on content) into the site to make it a useful, then compelling, then necessary resource for people.
Thanks to everyone who has helped so far, and especially to everyone who helps push us to get valuable content up asap.