iOS Dev Scout Hackathon 2012

The first ever iOS Dev Scout hackathon (and probably the first iOS hackathon in Singapore) — called the iOS Dev Scout Hackathon 2012 — started on June 16th, 9AM and ended the next day at 11AM.

70 developers participated in the event, together with a couple of mentors and organizers (Michael, Sayanee, Subh, and Mugunth) over the weekend, held at Plug-In@Blk71.

It was a fun experience, and with no prior knowledge of Objective-C, I was able to build three different simple apps that kept me working and learning through the night. It was my first hackathon experience.

I didn’t pitch nor joined any groups, but instead, I approached Stephan and Sam to learn Obj-C together.

Text field to text view

I started off with a basic single view app, randomly. I placed in a UITextField, a UIButton, and a UITextView. Initially, I updated the UITextView with whatever a user has entered into the UITextField, through the UIButton. Huge thanks to Steve, a student who sat beside me, for explaining why I had problems with IBOutlet vs IBAction. Then, Subh encouraged me to append and add on the subsequent text a user enters.

A little search here and there online allowed me to append subsequent text, and cleaned up the UITextView a little. By then, it was time to “Show and Tell” at 7PM-ish.

Presented. Bla bla bla. Dinner.

Navigation bar

I forgot how I created the navigation bar or how I started, but anyway, here’s what I did: The first tab had a navigation controller in it; I pushed the plain text fields (username and password) into a view controller. I was trying the accessors (@property and @synthesize) here, together with the pushing of the view controller into the stack. (Push in, back with pop)

In the second tab, what I did was to load a UITableView in that tab, with an array of data (hard coded, not dynamic).

It started getting messy as Subh taught me how to programmatically create the views and put them together. I’ll need to re-read guides and my codes again. By the time this was done, it was already 1 or 2AM, and then another “Show and Tell”.


Late into the night, I decided to rest a little by grabbing a can of Red Bull, since I had a little problem and was restarting the laptop. Talked a little about Obj-C and Rails (I have no experience, just curious) with Subh, and then probably an hour or so with Michael about PHP and git.

There were only a couple of people left (around 30 or so), sitting around working on their stuff through the night till morning.

I overwrote the second app with new stuff; two tabs, still. First tab was to add a person’s name, and then the Twitter handle of the person (must enter without the “@” sign, and had no validation).

I was messing around with NSUserDefaults after Subh recommended me to use that for a start. No idea what I wanted to do with the data stored, but I had the second tab with a table view. Called the data stored and put it into the table view. Next, I made it such that when a user selects a row, it will do an alert to show which Twitter account the user has selected.

Near 7AM, I then decided that when a user selects a row, it will display that particular Twitter profile’s tweets in a new table view (with navigation, push). By selecting a tweet (or in this case, a row), it will display the whole tweet in an alert (or push notification) box. That was what I had to show for the “Final Demo”.


Nothing fanciful, and I was so darn tired from not sleeping, yet cramming so much information into my head in a night. It was great looking at fun and awesome ideas being pitched at the hackathon, including the crowd’s favourite – Thumbatar.

Huge thanks to Subh, Michael, Ashish and Steve for their tips and guidance, and also thanks to the organizers, sponsors, mentors and developers who made this hackathon fun and possible!

iOS Dev Scout Hackathon 2012 – Demo Day Group Photo

Photo by Michael Cheng

P.S.: I slept at 3PM on Sunday, woke up at 10PM, tried CodeIgniter (PHP) till 1AM before sleeping again, and then woke up at 6.30AM to prepare to head to the office for my internship. I am supposed to sleep earlier tonight but decided to finish this blog post before I forget about anything I had in mind. I’m out. Peace!