Next month, we have been working on Helishopter for a whole year (next month I will also be 30 years old, but thats material for a completely different post). There have been a really basic version of the site online now for a few months, and It’s really interesting to see how people start to use it. However, I don’t expect it to really start to take off until we reach our “minimum viable product” milestone which currently have a deadline in March.
One year is a long time though, so what have we been doing all this time if we don’t even have a minimum viable product yet?
Well, when we started working on the project we decided to be very ambitious and build a platform with a long-term strategy and we had some very specific goals:
- Helishopter should be available not only on the web, but also on “native”-apps, both on mobile and desktop.
- It needs to scale, even if we should become “the next Facebook/Twitter/Tumblr/whatever” in terms of traffic it should not be a problem.
- Everything should be optimized for code-reuse. We are a small team and we do not want to write the same code twice for different platforms.
- We need to be deeply integrated with social media sites, such as Facebook and Twitter.
- All content posted needs to be highly search engine optimized to make sure that we generate a lot of traffic from Google.
- It has to be easy to integrate with our platform in new create ways and to use our data.
- hsapi
A restful web-service and an OAuth2 provider. The “heart” of helishopter. - hsweb
A one-page webapp using HTML5, built with a custom OAuth2 consumer, html5boilerplate, backbone.js (with backbone-relational), handlebars.js, jquery, among other things. Completely hosted on Amazon Cloud Front and initiated from hsindex. Makes it easy to roll-out/roll-back new versions of the site, we just need to edit a config file on hsindex. The idea is to use most of this codebase for our mobile apps - hsindex
The “plain-html” version of helishopter. Provides google indexing of all content, acts as an initiator of hsweb and gives mobile and non-javascript browsers access to the content posted on helishopter. Also does some interesting html5 history API integration with hsweb and all Google Analytics calls. - hsbookmarklet
Bookmarklet for quick access to posting things to Helishopter. Inherits most of its code-base from hsweb. - hsembed
Our first “widget”, for easy embedding of a helishopter list in any webpage/blog-post.
What lessons have we learned during this first year?
On the technical side of things, the tools available simply did not meet our requirements. This has forced us to build almost an entire stack of tools ourselves, and getting all these tools to work reliable across all different browsers proved to be a huge challenge. (Die Internet Explorer. die!). We ended up doing more-or-less complete rewrites of hsweb 4 times during this year, which of course takes some time. But it is a necessity to get this right from the start in order to enable quick growth in the future.
Other than technical challenges, it has been a challenge for me as manager that the development team spend so little time together. When you are working full-time in the same office it is easy to keep a coherent vision of what you want to accomplish and to make sure that everyone is on track with what to do. Last year I have been consulting full time besides working on Helishopter, Gustav (designer) have been doing a lot of photography gigs to support himself and Emil (lead developer) is the only one who have been working full-time with the site.
To address these challenges and step up the work with helishopter a notch, I have made some big changes in how I will work with Helishopter in 2012. I will:
- Only spend 80% of my regular working hours on external clients, giving me one more full day devoted to Helishopter each week.
- Spend less time coding and more time communicating, organizing and leading.
No comments yet.