The importance of releasing
An "old" adage in development is "release early, release often". This is a form of iterative development which allows for lack of functionality initially, and additional function in short releases afterwards. It's helpful, because it gets your site in front of real people, quickly.
I recently tried this approach with machine2date and SharedBetween.Us
machine2date is a site that focuses on one thing, converting "computery" dates into dates people recognize. If you do JSON or XML in your development, dates like "/Date(1240718400000)/" don't mean much to anyone but a Unix time programmer (it's ticks since January 1st, 1970 at midnight.)
SharedBetween.Us started out as something that was much simpler than what it is today. It's a simple task list that can be easily shared between users. It was originally "SharedLists", but the domain was taken, so I lazily renamed it to its current name.
Both of these sites are easy to make changes to and deploy quickly. A lot of the friction in deploying is managing releases and doing the physical deployment. The combination of git and AppHarbor makes setting up a new site stupid-easy. In 15 minutes, you can likely do all of the following:
- Create an AppHarbor application
- Buy a domain name
- Setup DNS to point to AppHarbor
git init
(in the root of the application or webpage you'd like to deploy)git add .
git commit -m "your comment here"
git remote add appharbor http://username@your.appharbor.url…
(Your URL is easily viewed on the AppHarbor application page after your complete step 1)git push appharbor master
That's it. To update the site, you may need 3 minutes. Just do the following:
- Make update to application or webpage. Trivial changes or spelling corrections no longer need to wait for a "full release".
git add .
git commit -m "your comment here"
git push appharbor master
AppHarbor explains it all here. There's not an excuse to do an initial release. Or a simple update.