While lots of people are eagerly waiting for the iPhone to land in Germany next week, i finally bought the birthday present i asked my wife to buy me last year: a decent successor to my 4G iPod (which began having hard drive failures just after it’s two year guarantee expired). With decent being specified as: Having a big screen and wi-fi, being able to play videos and if possible being touch controlled.
Since my birthday is in late August i hoped that i could get it sometimes in September 2006. But unfortunately i had to wait until January and the iPhone announcement to be quite sure that this years iPod lineup would include one a device that fizs that spec.
So after the iPod Touch was announced i knew that this is going to be my late birthday present. But before i present you my first impressions let me answer the question you may have formed in your mind: “Why not wait a couple more days and get an iPhone?”
Well. Because i don’t need one. I already have a digital camera and a Nokia N95. So i’m already able to take picturs and make phone calls. And since i’m doing all kinds of mobile platforms at work i presumably have access to an iPhone sooner or later if i need to
I needed a device that allows me to surf the web at home without booting a computer first, a device that allows me to listen t music and watch Google TechTalks or iTunes U videos (maybe some real movie) while commuting or use it as an addressbook etc. while traveling.
And i wanted the device with the ultimate user experience and great design.
But what wrt. internet connectivity while being away from home? Most of the time i’m staying at a place that has wi-fi so no problem there, and for the cases when there is no wi-f i, first i think that i can actually manage enjoy time without connectivity and secondly wait until somebody comes up with a similar solution to this for Series60 phones.
And i wanted a device that i can hack / develop for (see here). Hence i waited with my purchase until a jailbreak for the iTouch was available and it was clear that Apple would open up development for the device.
So lets have a closer look (I’ll occasionally include comparison to other mobile devices or gadgets i own /used like the N95, the iLiad, the Sharp Zaurus C700, a JVC MP-C33, a Nokia N800, …)
Setup & Initial Browser Test
The initial setup was as expected, seamless. Nothing to actually write about: Connect, sync, done. Since i already played with MobileSafari for a couple of hours, i already knew that, although MobileSafari and the browser of the N95 share the same roots (i.e. WebKit) they are incomparable. MobileSafari is waaaaay better it provides a completely different user experience.
Especially double-tap to zoom to the nearest enclosing block of a web page together with panning and flicking, for the first time made me feel comfortable to surf normal, non mobile-optimized web sites on mobile devices (and i tried it now for 8 years with all kind of devices) .
But there where a few things i couldn’t test without owning the device. E.g. if it could cope with that strange Radius and token based authentication scheme involving lots of redirects that is used for wi-fi access at work. Since the N95 couldn’t, i was prepared that the iTouch couldn’t do it either. Hence i was pleasantly surprised that it wasn’t a problem at all.
Jailbreaking
Since i wanted to hack / develop for the iTouch i started to jailbreak the device immediately after the initial tests. Since http://jailbreakme.com was just announced this was the first thing to try. Unfortunately, although i made at least 10 attempts and even left one attempt to download installer.app run overnight all i got was MobileSafari crash reports when i connect the iTouch to the MBP.
Looking at various forums i’m not the only one that has / had this problem. Does anyone know the reason? I already began to accomodate to the fact that i had to wait until February in order to access the iTouch via ssh when i thougth that may be i should try sme other jailbreaking methods.
The first method i remembered was iJailbreak so i tried this one. Downloaded it and started, followed the instructions and about 15 minutes later i had an jailbroken iTouch with Maps, Mail and Installer.app installed.
So i was happy. But then i tried to use installer. Knowing other PackageManagers e.g. the OPIE PackageManager for the Zaurus, and having read about installer.app i expected a long list of installable apps. But the list was empty and there there was only one entry in the update list. Installer.app itself. So i tried to update the Installer.app but this always resulted in a checksum error.
After some googleing i found that this may be caused by the wrong permissions for the application. If i remember the iJailbreak correctly this was one of the things that wehre expected to be done, but may it didn’t go through. No problem i thought, just ssh to the iTouch and do a chmod and your done. So i ssh’d to the iTouch and tried to cd . Another surprise. the BSD subsystem wasn’t installed by iJailbreak, hence no cd command.
Then i had to go to work being prepared to try some other jailbreaking utility (like INdependence) after returning from home. After returning home i gave the Installe.app updater another try and fro some reason i don’t know this time it worked. Presumably i tried another iJailbreak in the morning and this time the chmod step worked or there was a real problem with the package and the package was updated during work.
Finally i was ready to install some 3rd-Party-Apps.
Essential Developer Apps
The first things i had to install was the BSD subsystem and the TIFF exploit fix that fixes the security hole in MobileSafari that makes the jailbreak possible but also enables all kinds of malicious attacks. Another thing i wanted to install was the first application a geek normally needs on a mobile device, a terminal emulator.
Then three other application caught my eyes: Python, Apache and Lighttpd. I’ve already written that i installed Python for Series 60 and MobileWebServer on my N95, so it was clear that i had to install them.
So lets do that.
- First the installation process on the iTouch is much faster and easier than the installation process on the N95.
- Second , i had the choice between Apache and Lighttpd on the iTouch whereas there is only the Apache based MWS for series60. I opted for the much more lightweigth Lighttpd.
- Third Python on Series60 is still at version 2.2.x whereas Python on the iTouch is at version 2.5.1 the same version that comes with Leopard.
- On the plus side for the N95 is the fact that the MWS comes with a user interface for starting /stopping the server etc. and with a server side gateway, that makes it possible to connect to the Websserver on the phone from the internet. This is important when the server is running on a phone and the connetion is going through a carrier that is assigning dynamic addresses and playing all kinds of tricks, but irrelevant when you just want to access the iTouch server from the iTouch itself or some other device in yout home network.
In addition i also installed Erica’s Utilities and Erica’s Ported Utilities especially in order to be able to take screenshots.
Reading Apps
After this essential apps i tested a couple of other apps finally settling on the following: Books, Labyrinth and Sensors. The first because i wanted to test how the iTouch compares to the iLiad and the Zaurus as a an eBook reading device, the second becaus i wanted to knowmore about the resolution of the the accelerometers. So lets have a look at the Books first.
Compared with the iLiad the iTouch obviously has a smaller screen. Hence it is only able to display less text. But as you can see from the example screenshots, the texts are very readable, and since HTML and not PDF is used you can easily scale the size of the text to your needs.
As all 3rdParty-Apps if seen so far it doesn’t support landscape mode but this is something that definitely will change in the future.
Judging from my limited experiences, the battery life of the iTouch and the iLiad is comparable, but with the iTouch and Books you get a much more versatile device, that e.g. also is able to display color and video etc. Especially the latter is something i wouldn’t expect in production eInk displays in the near future.
It’s far easier for me to image an iReader device, that is as slim as the iTouch and has the same functionality but is of the size of a paperback book, sporting a 1024×768 screen or so. This kind of device would make reading cool again.
Comparing the display of the iTouch to the higher resolution and higher density displays of the Zaurus C700 and the N800, i have to say that Apple made the right tradeoff. Higher density displays typically result in smaller texts which lead to higher fonts sizes and only marginally better readability. being able to zoom with a easy gesture easily compesates this.
I alsp tried PDF Viewer and weDict as reading applications, but PDF is at version 0.02 and wasn’t able to render the PDFs i tried, and i couldn’t figure out quickly where to put the various dictionaries so that weDict was able to find them. I now did but it wasn’t that impressive. It’s practical to have MerrianWebster as well as the German Duden around, but the UI is lacking right now.
Accelerometer Apps
With the advent of accelerometers in Macs people have found interesting ways to build user experience that take advantage of these sensors. hence i was very interested to have a look at the first iTouch apps that take advantage of these sensors. Whereas Sensors is just a demo aoo show the sensor readings, Library is a gap-stop solution completely replacing the classical wooden gam with a digital counterpart. It is amazing how quick and sensible the tactile feedback is. Unfortunately the screenshot utility does not work with Labyrinth, do you have to try it yourself.
Summary
The iTouch is definitely the device i hoped it is going to be. So i’m very much looking forward to building webapplications / applications for the iPhone/iTouch platform. I already i have a couple of ideas related to my other interests: news services and neogeography.
Hence the Apple-centricity of this blog will hopefully come to an end and i’m going to shift into a more content oriented mode with my next blog entries.