I attended the Facebook Hackathon last Saturday with Zenan and Qiyue. It was an awesome experience. People there are really geeky and some teams are technically very strong. Unlike other hackathons I attended which are somewhat business oriented, this hackathon consists of only developers. No business models need to get examined. I guess that's the reason why it was so geeky and fun.
The problem we want to solve is to help couples living long distances to better communicate with each other. It is painful for them to stick with each other while they cannot meet face to face very often. There are basically two needs:1. to have a unique private messaging channel where only two of them are in each other's contact. 2.to have a pair diary space that keeps track of their memorable conversations from the instant messaging channel. Zenan is really awesome in UX design and implementation. Qiyue is also very good. We managed to build the pair diary app with Pods, JSMessageViewController and Parse. Zenan finished the design and storyboard very early while Qiyue and I splited the implementation tasks into the chat+diary part and the login+pairing part. I am in charge of the chat+diary part. At the beginning, I picked a traditional tableview approach to develop the chat room which turned out to be very troublesome http://attila.tumblr.com/post/21180235691/ios-tutorial-creating-a-chat-room-using-parse-com. Later, we used JSMessageViewController which is really neat. The process itself takes too much time which slowed down our overall progress to some extent. That's mainly due to my fault in not taking Zenan's suggestion of using JSMessageViewController earlier. Thankfully, we made the instance messaging working around the midnight and started to add on the pair diary summary feature as well as the social login and pairing feature. Around 1~2hours before the hackathon finishes, we managed to get the pair diary part working which is a big celebration.
In the end, we've made a prototype which is more or less the same as the original design by Zenan with a few unnoticeable bugs. The demo and presentation is pretty good with a lot of claps and praises. It is indeed a pretty promising prototype. We can definitely get a good prize in a normal hackathon. However, the challenge is that the other hacker teams are as awesome as us. Some are even more amazing. In the end, a team with creative UX web design standed out in the first place while two gaming teams won the second and third. In fact, I don't think the second prize team is that awesome inventing QR code for multi player access. The third prize team is the legendary NUS CS code monkeys while I guess they deserve a better rank. The team impressed me most is Xiangxin, Xiangyun,Ziwei and Eugene's kitty team though they didn't win any prize. In fact, the reason why Xiangyun attended the hackathon is to make an auto animal food monitoring machine for the lonely cat in SOC. That is so loving. One makes an auto food feeding machine with camera, wifi, infrared ray detecter simply because he finds the cat lonely and hungry asking for food around his lab. I am deeply touched.
After the hackathon, I becomes more energetic in making products. I do coding more quickly than usual. I also have a better sense of UX/UI taste learned from Zenan.
For the readpeer project, I have taken the suggestion from the Lean UX book to collect important feedbacks from reliable people every Thursday. I also redesigned the authentication method for the readpeer API while the Restful API module and OAuth2 module in Drupal rely too much on another very heavy module. In Drupal, most method in the modules are public to other modules which can take a lot of time searching for the right methods. The routing approach in Drupal also heavily relies on the hook menu settings in each module, which can also be slower than simply routing via the web server settings (Please correct me if my understandings are wrong). In terms of flexibility and reusablility, Drupal is definitely not an optimal framework. I heard something about meta programming with ruby, which sounds pretty cool. However, UX, UI, usability becomes of higher priority than the frameworks now.
For health, I haven't eaten meat for 3 weeks including the Chinese New Year. However, when the antie downstairs invited me on the Lanten Festival making meat dishes for a whole afternoon, I felt it impolite to not take a bite. However, I immediately felt like I'm gaining weight after eating the meat. Next time, I shall be more determined even facing a lot of temptations.
Keep learning and stay healthy!