We have all seen how the iPhone enabled applications that weren't possible before on any mobile device. Wouldn't it be cool if you could carry all your to-dos in your pocket? Wouldn't it be cool if you had a powerful responsive task manager wherever you go?
A resounding "Yes" was the answer we gave to ourselves some time ago when we began developing what will become Things touch. Honestly, will any mobile device that you carry around ever be complete without a personal task manager? We didn't think so either :)
The iPhone and iPod touch are a huge opportunity for developers and an equally huge challenge too.
The opportunity
iPhone and iPod touch constitute a whole new platform with a new distribution model as well - the iTunes app store. These devices are used by many people that have never owned a Mac before and some of them may never will. For a developer there is the potential of reaching a whole new group of customers. Customers that may not know Things already, or are not able to use it because they are on Windows, or may not even bother to use the desktop version at all because Things touch is already more than they bargained for.
Challenges abound
- The iPhone user interface is completely different from what we have become accustomed to from the desktop. Naturally, we had to recreate the code for the Things touch user interface from scratch. No way to reuse a single line from the desktop version.
- Due to the unique limitations of the iPhone OS we couldn't even port the data model code. Yes you assume correctly, a complete rewrite was necessary too.
- Fraser Speirs has an insightful article on how the market's ability to establish a fair price for iPhone applications will eventually determine whether there is a sustainable business model for creating them. I bet that we are not the only developer having a hard time determining a price point for our iPhone application. A price point that will enable us to aggressively evolve and support Things touch for a long time to come.
While developing Things touch does draw significant amounts of resources from the desktop version, it is in fact rather beneficial for it too. Recreating Things for the iPhone made simplicity even more predominant. We learned a couple of things from the process that will help us to make the desktop version even better. The same goes for the data model code. Having had the opportunity to incorporate all the lessons we've learned from the desktop version resulted in a fresh new code base that will find its way back into Things, providing an even better foundation for its future development.
In the weeks to come, we plan to write more about how Things touch will look like. But if you'd like to get a glimpse of where we are headed, you may want to peek at Chris' desk :)