A hackathon is a very focused way to gain experience on our platforms in a short space of time. At the recent Hacked event in London we had lots of 500 developers present asking all sorts of questions about the Heroku and Force.com platforms. As the hackathon produced lots of custom customer facing apps, much of the development was done using the Heroku platform. If these apps are developed commercially, then the data they create is a natural fit to be managed by a Force.com app.
There were lots of great ideas realised into apps in such a short space of time and many teams used Heroku to deploy their apps quickly, so they could focus on getting there app finished in time for the demos. With 500 developer making up 74 teams there was only 90 seconds in which to present your app, so it needed to look slick.
Learning the ways of Heroku
The interest in Heroku generated lots of great questions about the service to which the answer was yes:
* Yes, there is a free developer edition
* Yes, it really is deployed using standard git commands and there is an Heroku plugin for Eclipse.
* Yes, you can get Postgres database on demand and other RDBMS & NoSQL data stores as Heroku add-ons.
* Yes, you can deploy your apps in different data center regions (US & EU)
* Yes, you can create multiple environments from the same project and use heroku fork to clone an application and all its add-ons.
It was great to see enthusiasm from developers wanting to make the most out of the cloud.
As Heroku used Git to securely transfer your code to Heroku I also ran a workshop on Git, which also gave developers confidence with putting their code up on Github. Once you are comfortable with basics of Git, deploying to Heroku becomes very natural.
@neilmiddleton also gave a workshop on the new Heroku API, allowing you to programmatically create apps, scale them and monitor them from your own applications.
Heroku hackathon winners
There was plenty of interest in Heroku, with 30 teams signing up to the platform for the first time on top of the teams that had already used Heroku. Here are some of the most notable hacks.
@theNeomatrix369 created a wrapper around the Heroku API to help Java developers create cool applications easily with the Heroku API.
The API Unifier is a lightweight Java library that brings together a collection of RESTful APIs under one roof! This simplifies the use and maintenance of dependencies on external APIs. This library creates an abstraction layer between your application and APIs from disparate vendors to increase cohesion, reduce coupling.
MusicMatch is a social music competition where you need to guess the correct 10 second clip to build up points to get you up the leader-board. The quicker you answer the more points you get, but get the answer wrong and you and you lose points.
The application was developed with Nodejs and uses Nokia music API to get the music tracks. Redis (Heroku addon) is used to manage the leader board and the app was deployed on Heroku.
This app is a really fun idea and adds a different dimension to the experience at an event. With Boomerang you take a picture and throw it out there and see what picture you get back in return. You never get your own picture back, so you get to experience a little of what everyone else at an event experiences.
The team built this as a native android application with a back-end service running on Heroku to manage which images you received. The app could also be passed to your friends or strangers at the event if they have a NFC enabled phone.
This app helps people develop their ideas and get thought the barriers to turn those ideas into apps. 99hours connects people with those ideas to those who can help them out. The goal is to create a highly collaborative place to nurture ideas into projects. This collaboration is realised in features such as feedback from the community on ideas by up-voting, or providing a variation on the kick-starter model and allowing direct donations to a project you want to support.
Tom Morris created an app called Pidgeon as a kind of location brokerage service, a personal api for your location. Deployed on Heroku, this app has a simple API to post location information into Foursquare to give real time updates of where you are. To display map information on the website, the hack was written using Rails and used MapBox, OpenStreetmap and MongoLab Heroku addon. Sometimes you want to hide your location, so the app also had rules to hide your location when you are at home or other personal locations. To test the app, Tom also used MacOSX ControlPlane to simulate different networks.
The Heroku team had a few spare minutes free to build an app too. Using the Heroku API, we built an app that would show a snippet of your logs when ever someone connected to one of your running apps, showing the location of the users IP on a map.
As Heroku were a major sponsor we decided to give out prizes to 5 teams, even then it was still a challenge to choose only 5. We also gave out lots of swag and the t-shirts and moleskin notebooks went down a storm.
There were many other notable hacks to choose from in my role as one of the overall judges for the event.
The next UK Hackathon
It does take a few days for the adrenaline and lack of sleep to balance themselves out after a Hackathon. Luckily then there is a few weeks before Leeds Hack. Leeds hack is great, especially if you want to get your children involved in coding.
I’ll be at Hackference Birmingham next, the first event of its kind in Birmingham, so it should be a great event. I’ll be doing workshops around Heroku & Git and it seems there is lots of interest around Clojure, functional programming on the JVM.
Mike Elsmore I cordially invite everyone who went @HACKEDio to come to @hackferencebrum help me make something awesome! http://hackference.co.uk
Run your own Hackathon
Its also fun to run your own hackathon, whether that be a public event or something internal to your company. Its easier than you think to run a hackathon, so give it a go and see how much you learn. Its also a great thing to have on your resume.