Subhransu Behera was very persistent in inviting me to his iOS Dev Scout events in HackerSpace.sg — his fourth invite convinced me to come and see what it was all about. Personally my reason of coming was to network, mingle, and generally “show up”, which I haven’t been doing much lately. Not to mention that I’m a poor networker.
Today’s meetup at 26-Mar-2012 brought forward two topics:
- Programming In-App Purchases by Michael Del Borrello of BonoboLabs.
- Unit Testing by Peter Jihoon Kim of DecisiveBits.
Michael Del Borello put together a nice-looking presentation about how to use StoreKit on iOS, Apple’s primary interface for enabling additional application functionality that requires payment. It was quite apparent that programming StoreKit requires writing quite a bit amount of code and he also talked about this issue.
What’s strange is that Michael (del Borello) sound like he was unaware of Lodsys’ lawsuit spree where the patent troll sued a non-trivial number of small application developers that uses in-app purchase. He then notes that it’s a “good problem to have” – which on my opinion reflects either his experience in handling legal issues or merely he just being human and over-simplify stuff that he does not understand.
Reflecting from the difficulties of programming StoreKit, BonoboLabs publishes an open-source library for in-app purchasing. There wasn’t any existing open-source library that met their needs and thus the reason why they wrote yet another one. Michael promises that their library will:
- Apply the singleton pattern
- Apply the observer pattern
- Unit tested
- Easy to integrate
Michael also passingly mention about a customer feedback UI widget that they’re writing. Essentially it’s a better version of Appirater that annoys many iOS users. Michael’s component only takes the user to the App Store if she said that she’s happy about the app, but instead asks for feedback when the user is less than delighted. The widget is meant to be tidily placed in the application’s settings screen. Unlike Appirater that abruptly interrupts the user’s workflow. It does sound like a nice application of psychology – don’t let the user rate the app when they are pissed by it. Unfortunately Michael didn’t point out any Github link to the project and I couldn’t find the project published in Bonobo’s Github account as of this writing.
Peter Jihoon Kim wrote Specta as what looks like a domain-specific language for unit testing, implemented on top of Objective-C using a set of preprocessor macros. He argued that current breed of open-source Objective-C unit testing libraries (OCUnit, Cedar, Kiwi) are either too hard or too difficult to use and thus came up with his solution of a “test-specification language” of some sort that compiles down to Objective-C.
At a glance Specta looks promising and usable for writing unit tests. But personally I’m not keen of domain-specific languages. Primarily those that tend to be “yet another meta programming languages” – that is, a programming language on top of another language.
The second issue is that polyglotic projects tend to be hard to maintain and support. At one part of my career I supported a rather Rube Goldberg of an application, written in a hodge-podge of Java Swing, Servlets, ASP, ASP.NET, Transact-SQL, and some kind of XML-based BPEL workflow engine. It wasn’t a hugely popular web application with millions of users, but an internal application used by a few hundred salespeople.
The networking session at the end of the talk was quite short. Probably because the event ended quite late in the night and a lot of people still need to go to their jobs tomorrow.About half of the 20-or-so audience looks like that they’re recent graduates. Probably most works as employees in early-stage companies or claims to be a “freelance consultant”. Only one other guy confirmed to have a dayjob at a MegaCorp.
I did met with Michael Cheng‘s school friend: Yong Sze Yuen Kelvin, who said to be a self-employed branding consultant. He prowessed about his knowledge of marketing. In retrospect his business is probably more brick-and-mortar since his website is un-SEO, being mostly images, and terribly difficult to type. Anyway he then talked about a class that he attended where the instructor hands out class assignment to design a “breakthrough” operating system. On the latter part he then commented that a lot of the interaction designs that came out actually inhibit interaction instead of facilitating it. He also cursed the difficulty of using the Facebook app and the UI wonders of the Path app.
Here are my LiveScribe notes taken in the event: