Yesterday, my company released VSS Food Guide, a vegetarian food guide in Singapore, to Apple iTunes. We are already planning for more app releases in the next few months. However, a technical question for our app development efforts remains: should we continue using Three20, the same framework used to develop Facebook for iPhone. I like the framework, especially its URL-based navigation for navigating a user from one view to another and for persisting an app view state. Because the state of each view is represented by an URL, the entire view state of the app is automatically persisted by saving the URLs of all views when the app exits. Other benefits of Three20 includes a large collection of visual controls, caching, and network utilities. I used Three20 extensively in the VSS Food Guide. The framework is very useful once you get used to the programming model.
Despite all these advantages, I still contemplate using Three20 to develop future apps. The recent discussions in the Three20 forum board echo my concerns. The timing is quite uncanny. The thread expresses concerns over the lack of direction, a general lack of documentation, and fragmentation due to numerous forks of the source. The framework is cool but it can be quite confusing since it isn’t well maintained or documented, which is quite typical of any open-source project at this stage. The good news is that it looks like efforts are being made to steer the project back on course.