9/5/11

Thought on a hackathon

Last weekend turned to be very exciting to me as a mentor in Hackathon.
Working with young and passion students always bring you a lot of fun and interesting.
Despite of their fast learning, creativity and enthusiasm, many teams make mistakes during the contest. I wrote down all of these as tips for contestants in next Hackathons.

Research a little bit more when brainstorming and choosing idea.
In hackathon, creativity is always emphasized. You need to think about an interesting idea that can convince your judges. When you have an idea, although it is interesting to you, but it may not be novel. Your judge definitely know a lot of apps and idea which are already in App Store.
That's why, to convince them and others, you need to have some research about your idea, find out if there have apps that do similar, if yes, find out what make your app unique from others.
During the beginning of competition, many teams hadn't thought about these question, until we judged their idea.
For example, a team want to build a calendar app (both server and client side) in Android, without taking enough looking at Android's built-in Calendar app. If they said that they want to integrate Maps to your app, I hope that they can play with built-in app a little bit more, they will see that feature also.
So, it is quite hard for their apps to be ranked high about creativity.
Take a look at other apps also bring you more interesting feature for your app.

Think big, but focus to your unique feature first.
When having an idea, you can brainstorm whatever your app can do, so that you can get a list of features your app may have.
You can also use this features list to show the potential of your app in front of judges.
However, when starting to code on your app, ideally you should narrow this features list down to only ONE feature.
Ask yourself, what is your app's purpose? Is removing this feature out of your app, make it totally different?
Is this the simplest feature that is appropriate with your app's purpose?
Choosing this feature help you know where you should put your hand to code.

Many teams spend time on many planned features,or start to work on supporting view first (splash screen, menu, list view, info...)
Forget all of these supporting features, implement your main view with core feature first
Doing this will really help when you run out of time before implementing all planned features, because, at least, your main feature is ready for demo.

Start to code on your main feature immediately, then iterate, iterate...
You can always start small, if your main feature is helping user to track their money spending easily by recording amount of money, product's photo, location...
You might think to spend time to solve technical problems like photo capture module, then get location (with PhoneGap framework) first.
However, you can build a financial tracking app, by just display an input box, for users enter there money, then save it to database. That's all you need to start immediately.
So, if your main feature is too big, simplify or narrow it down.
If you view is not simple, choose to implement an important & simple part
If you have a lot of technical problems, spend time to solve necessary one.
The key is that, you can start to code at your first minute, have something to show and build your confidence over time.

Despite all of these limitation, all contestants finished their competition with great results.
All of them are young and really really passion with their apps. Passion is definitely the source of their energy for all days coding, not from bread, instant noodle with small amount of beef. With 2 days continuously coding, they are "sleepless monsters" also :) Another surprising is most of contestants, like second prize team, knew about their platform only a few days before the contest. They learned really, really fast.

Hope all of participations have experienced a lot of new things in this great event!

PS: check out their photos here: http://www.facebook.com/apcshackathon?sk=photos




Không có nhận xét nào:

Đăng nhận xét