Archive for March 27th, 2009

Code: The Three20 Project

Chances are you’ve heard that Facebook Connect for iPhone was released as open source. No, we’re not going to waste a post on that; there’s a much more interesting piece of news from Joe Hewitt, the maestro responsible for that and the Facebook iPhone application; he’s gone to the trouble of refactoring all sorts of goodies developed for Facebook into The 320 Project. Goodies like:

TTPhotoViewController emulates Apple’s Photos app with all of its flick’n'pinch delight. You can supply your own “photo sources”, which work similarly to the data sources used by UITableView. Unlike Apple’s Photos app, it isn’t limited to photos stored locally. Your photos can be loaded from the network, and long lists of photos can be loaded incrementally. This version also supports zooming (unlike the version in the current Facebook app).

TTMessageController emulates the message composer in Apple’s Mail app. You can customize it to send any kind of message you want. Include your own set of message fields, or use the standard “To:” and “Subject:”. Recipient names can be autocompleted from a data source that you provide.

TTImageView makes it as easy to display an image as it is in HTML. Just supply the URL of the image, and TTImageView loads it and displays it efficiently. TTImageView also works with the HTTP cache described below to avoid hitting the network when possible.

TTTableViewController and TTTableViewDataSource help you to build tables which load their content from the Internet. Rather than just assuming you have all the data ready to go, like UITableView does by default, TTTableViewController lets you communicate when your data is loading, and when there is an error or nothing to display. It also helps you to add a “More” button to load the next page of data, and optionally supports reloading the data by shaking the device…

Wow! And there’s much more too. Source is all up on github under the Apache license, and there’s a Google group with pages here. Great stuff, and we recommend you check it out!

h/t: InfoWorld!

Continue Reading →
1