Let me preface this post with a little note; I have only dabbled in Xcode – and all of the opinions herein are surmised from my user experience of iPhone, my observations and reading about the iPad and my own imagination (and 25 years of first hand experience).
I really enjoy the model of simplicity which the iPhone introduced to a computing experience. The things people bemoan about the operating system I completely understand and – well – I enjoy and appreciate.
I appreciate that concept of no filesysyem. I appreciate no multitasking to ensure a primo user experience. I appreciate an approval process before applications can be released on the platform. Of course there are down sides to all of these points – but they all represent compromises which had to be made. The focus has been always on the end user experience and I appreciate that.
Then came the iPad.
I can easily draw the dots between the experience a user will have working on an iPad given a while using the iPhone. I also see some of the deficiencies which be immediately obvious. So in this post I want to postulate solutions to problems facing the architecture and user experience on the iPad and how that might be solved.
First issue is that of the filesystem. The idea that apps have isolated storage is awesome – until you want to do some things which are a little more computer like in their nature. For example – look at the iWork demo from the iPad keynote – apps which use assets like images need to access the photo library. Fair enough – the photo library seems to have some API level access so other apps can load and save to it. What happens when I want to attach two presentations to an email? Would it not make sense that I can attach iWork documents from email the same way I can email documents from iWork? What about say zipping up a couple of documents? What we see today is certainly use of common storage like the photo library but also duplication of concerns in a lot of applications – or even worse, invocation of other ‘required’ apps.
GoodReader is a prime example. Why should it compress files? Why should it have to implement it’s own filesystem and ‘commander’ style interface? And worse, it’s a sucky metaphor which has stuck with us for 30+ years, directories and then folders. Heirarchy. Yuck! It sits at odds with the user experience of the iPhone. But we need it for lack of a better model. It also means if I want to open attachments I receive in email akin to those I send from custom apps like goodreader sending a zip file – I can’t. But with the iPad it becomes imperative.
I don’t know how Apple want to address this – perhaps in a similar way to file recognition on Mac osx – mime types and a publisher subscriber model? It would make sense and could be added to the user experience without breaking existing applications.
Second issue is that of devices. We see a keyboard being released for the iPad. Does this mean that the whole os now can recognize keyboards? What about mice? What about printers? Hmm does this mean we see a device driver model get introduced? It would make sense for it to be the case and furthermore for it to flow through the app store – wireless delivery of drivers which are tested and approved. It just works.
This would also answer some of the talk of multiple tasks on iPhone os. Device drivers are a key part of that space.
The other thing about multiple tasks is the hit on performance. Do we really need multiple apps open at once on an iPad? No. This leads to my final observation. Multitasking.
I think we may see the formal introduction of device drivers in to iPhone os4 – this allows apps to take advantage of certain devices without containing a copy of device drivers for every app – which would be the only way something like a custom heartrate monitor – any third party device could work on an iPhone today. The other aspect of multiple tasks which may change is that of saving application state. If apps can provide an experience more like Safari on the iPhone – where it is looking just as it was when you left it – even though it has been closed and reopened – then the goal of performance versus practicality may well have been achieved.
I hope you found this an interesting read. Like I said – just my observations based on a lot of reading and thinking.
