Scratching Your Own Itch
You know, that great idea you have had for years but you just never seem to find the time to get it done (or even started)? That site you want to built because no one else seems to have done it? The itch nobody else seems to scratch so you'll just need to scratch it yourself?
I had three weeks, lots of inspiration and - most importantly - I had experience in setting up Drupal-powered sites. The community site I created is for fast cyclist in the Netherlands. Each week, an estimated 500.000 Dutch people jump on their fast bicycle to ride tracks anywhere from 20km to 100+ km. I'm one of them myself. However, I had a problem. While there are an increasing number of devices to record your tracks using GPS, there does not seem to be a site - specifically for fast cyclists - where they can share these tracks, so I created it:
Fast prototyping and iterations
In order to design, develop and build the site by myself and release it in three weeks as a beta, I had to cut some corners. Instead of going through a detailed functional design and graphic design, I did a quick analysis, put down the basic elements of functionality and started looking for an existing theme that matched my vision best. I think fast cyclist are generally more attracted to gadgets, innovation, technology and design. So I wanted the site to have a certain 'polished' look. I decided to use the Acquia slate theme as a basis for my design. While this template is originally designed for corporate use, it met my first requirements.
After the first week, I had a basic Drupal community site with all the essential modules. The remaining time was used to create a custom module, tweak settings, setup content-types and adapt the theme. For example, I implemented the nivo views slider as a way to provide a quick overview on the frontpage of the site for anonymous users. The entire process was - and still is - one of small iterations, small steps, and pragmatic improvements, fueled by lots of coffee, drush and a number of people who were so kind to provide feedback along the way.
iPhone, Android,... iPad?
I also wanted to leverage the possibilities of GPS-enabled smartphones like iPhones and Android devices allowing users to use their favorite app to record a track and easily share it. After doing some research, I ended up by modifying the trackfield module. Now users can simply enter the Google Map url genereated by the Android MyTracks app or iPhone Cyclemeter. Support for other devices and apps is in the works, but ultimately we have plans for great apps of our own which we hope to have built by specialised iphone/ipad/android developers.
Besides sharing tracks, there is the whole community part. There is facebook integration and users can create profiles and connect with each other. They can put up notes on the messageboard and comment on anything. There is a blog and newsletter to keep everyone in the loop, and there are plans to implement features like achievements, and statistics/ visual graphs about your own tracks and performance. But in order to keep everything simple, there aren't any advanced options yet like groups, private messaging, friend-making or ratings.
Future features will be added along the way, but only if they will benefit the community. In the end, it all depends on passionate users and the content they generate. And while this project is a personal one and not directly related to my company, it's always a good idea to eat your own dog food. It's one thing to build Drupal site, but it's a whole other ball game if you are forced to actively use your own product. You will understand your complaining clients a lot better.