Phoning it in

Currently I own and use an iPhone 3G. I bought it almost two years ago, when the local phone provider LMT started offering the iPhone legally. I had a pretty good experience with it most of the time, but now it is showing its age:


  • The two year warranty will run out in September

  • The iOS 4 update left out most of the new features - my model cann't have multitasking or backgrounds or any of that new cool stuff that is exclusive to the new iPhone 4

  • The hardware itself is starting to wear - the speaker stopped working a few weeks ago (so I have to use the loudspeaker function or headphones) and also approximately around that time the phone stated to randomly lock up approximately one a week or two - it freezes and after a few minutes reboots and demads to be connected to iTunes and restored from backup

  • Also the battery does not last as long as it used to

I will try to send my iPhone in for repair hoping to extend its usefulness, but frankly it looks that I might have to get a new phone at or before Debconf.

So I am considering my options for a new phone and so far I have 3 main options each with some sub-options. The main options are: iPhone 4, MeeGo and Android. Each choice has its benefits and drawbacks and each also has several sub-options related either to specific phone models or to purchase methods.

What I need is a phone with: calling function, contact information synchronised to Google, support for Google Mail/Contacts/Calendar simultaneously with one Exchange account also providing mail/contacts/calendars, music, audiobooks - saving my place in the audio book and in the list of books, fully featured Twitter client with Twitpic and location support, encrypted password storage application (preferably open source), GPS with maps, ability to download maps for offline use, Geocaching support with offline cache info and logging, Skype client, ability to write in Latvian, English and Russian in all applications, reliable backup and restore of phones data including settings and data of installed apps. Optional features: last.fm streaming and reporting support, ebook applications with purchasable ebooks, high quality video and photo recording (for a phone), ability for me to write applications on the phone, ssh client, wireless data upload to the phone, ability to change the phones battery without loosing data in the phone (on the go), compass, physical keyboard, confidence in getting software upgrades and developer interest for the next 2 years.

I'll try to describe all of the options here to organise my thoughts and maybe also help someone else make the choice.

Option 1: iPhone 4

To get the iPhone 4 I have two options: LMT and unlocked.

The official arrival of iPhone 4 to Latvia is expected in September and it will likely be sold by LMT for the same prices as iPhone 3GS is now. If I choose this scenario, I will need to survive with my semi-broken iPhone for 2-3 more months. Total price over 2 years (LVL): 131 (purchase price) + 24 * 8 (surcharge) = 323 LVL.

Note: the surcharge is the extra cost of the iPhone call plan compared to a comparable regular plan (Vienādais 7 + Internets telefonā 5).

If I go and purchase an unlocked iPhone 4 in a country where such units are sold (UK is the most easily accessible choice, because a few of my workmates travel weekly to and from UK) then the total price over 2 years would be the purchase price: 499 GBP + 65 GBP (2 year warranty extension) = 505 LVL

Now lets go over the general benefits and downsides of the iPhone 4, first the positives:


  • It is a simple to use device that I am used to over the two years

  • The screen resolution is higher than any other option

  • It is smaller and lighter than Nokia N900 and the bigger Android devices

  • There is a huge number of free and paid apps as well as accessories for the iPhone - docks, headphones, chargers, ...

  • I know that it can do every thing that I need it to do (with apps) and most of the optional features too, except ... (see drawbacks)


Drawbacks:

  • The first thing that I hate about the iPhone is its umbilical cord like link to iTunes. iTunes is the sole purpose I still have a real Windows installation on my main computer (in a Sun VirtualBox, thankfully). iTunes is slow, clumsy and generally unusable piece of dog excrements. It can only do one thing at a time, mostly: if you are adding a folder to your library, you can't switch to another tab and see how the backup of your iPhone is going. The actions do happen in the background, but more often than not you cann't switch away from some actions. If you try to do multiple things in parallel, instead of resolving any process conflicts and queueing the actions iTunes will simply silently fails to do something, often leaving remains of the half-finished actions. It also does not bother to check if the backup or restore of the phone is complete before using it - in this way I have many time gotten into a situation where I connect the iPhone to the iTunes, it starts backing it up, then crashes and next time happily offers this half-done backup copy as a valid restore point. Or it crashes during restore and only writes some files and settings to the phone - other settings stay at their default values. It is also very cryptic, for example if you have a lot of music it can take hours to import it into iTunes (it spent 2 hours 'Analysing gapless playback information' of 5000 songs) and then you will be puzzled about how to put some of that on the iPhone. If you just tick the checkbox to sync your music you'll get an error stating that there is not enough free space, which is not very helpful. The magic combination was to check 'Manually manage music' and then go to music tab and choose 'Autofill' option. At that point iTunes will spend half an hour choosing which songs to put on the phone, before it even starts copying. And god forbid that you would use that AppStore application on the iPhone to actually install apps - sooner or later you will run into a 'backup bug' where creating or restoring a backup of your iPhone might take 2-3 hours instead of more normal 5-15 minutes. Only a factory reset of the phone followed by selective reinstallation of applications (loosing all their settings in the process) can work around this bug currently.

  • The closed nature of the iPhone means that I cann't install 'unapproved' software unless I jailbreak the phone and even then it is rather problematic to develop for the phone unless you have a Mac and shell out 99$ a year for participation in the developers program

  • The iPhone is a consumption device and not a productivity device. I would like to have a device on which I could be creative as a software developer as well

Option 2: Maemo/MeeGo

Some of my colleagues at work (in the Riga office of Accenture) have N900 phones and I have been exposed to people with raw enthusiasm towards the Maemo platform ever since the Debconf in Helsinki, where we saw the first N700 devices in the hands of some lucky Debian/Nokia people using it as an Internet tablet. N900 has been a strong leap forward for the platform, before its head was teleported sideways by the whole MeeGo merger/debackle.

Again I have two options here:

Get a N900 either here in Latvia for 325 LVL (that would be the total cost over 2 years) or get it from USA during Debconf for 399 USD (+129 USD for 2 year warranty) = 317 LVL. And additional option would be to wait until October/November and then buy the new Nokia MeeGo device, rumoured to be N9-00 and likely to be around the same price as N900 was when it was introduced (around 500 LVL).

Benefits:


  • A fully open and rooted Debian Linux based device with apt-get, X, pusleaudio, d-bus and Qt as core technologies

  • I can install software from anyone and can also write my own software either in Qt/C++ or even in Python

  • There is (or was) a significant hacker community that develops applications for N900

  • As far as I know most of the features that I need do work on N900, but I am unsure about:

    1. audiobook support - how easy it is to put a MP3 on the device and tell it is an audiobbok so that the device would remember position when playing the file and save it even if the player is stopped and the device is rebooted or backed up and restored from backup?

    2. can I have Google Mail, Contacts and Calendar and at the same time also have an Exchange account with mail and contacts and calendar active?

    3. how is the Geocaching.com support - is there an app already that makes it easy to geocache while offline?

    4. Multilingual keyboards - I've seen people having to reimplement the on-screen keyboard in their programs, and naturally they do not bother to add support for all language. So support for multilingual keyboard input is an open one.



Drawbacks:


  • All the uncertainties above - while I could write all the above software, it would be better if I would not have to, so that I could focus on something more productive

  • Also the whole position of Nokia on the MeeGo support on the N900 is kinda ... backwards. I am now used to the Apple way that if I get a device, then it will get software updates for at least next two years and will get the new software features developed in the next two years at least. If Nokia would have said - "All phone-oriented MeeGo releases will have a version for N900 until at least the end of 2012." Then this drawback would not have been there, but currently it is a mayor sticking stone for me. I don't want to buy a device that will be on a dead-end software platform that will die before the end of this year.

  • N900 is the largest and heaviest of all the options

Option 3 - Android

After looking trough the options for Android phones, I've narrowed the selection to the ones that are either available from local carriers or can be easily gotten unlocked also the phones need to have announced plans to have at least Android 2.2 version. Currently the choice is limited to HTC Desire (from carrier or unlocked) and Samsung Galaxy S (unlocked). The prices over 2 years break down as follows:

HTC Desire (locked to LMT): 69 + 9*24 = 285 LVL
HTC Desire (locked to Bite): 199 + 2*24 = 247 LVL (Note: only 500Mb of data per month available)
HTC Desire (locked to Tele2): 179 + 6*24 = 323 LVL
Note: all the above options would also require me to pay a 45 LVL early termination fee on my current iPhone contract if I choose to do this before September.
HTC Desire (unlocked): 311 LVL
Samsung Galaxy S (unlocked): 350 LVL (import from Germany)

Benefits:


  • As far as I could find, the features I need are out there in one way or another - there usually is an app for that!

  • Google looks poised to continue development at a rapid pace

  • There is an active hacker community and also an active commercial software community that offers cool applications for a few bucks

  • As far as I understand the phone backups onto itself - a backup of the phone is created onto a SD card in the phone and you can then copy that off the phone for permanent backup, it is a nice concept

  • There are literally thousands of sources for Android applications: from the official Market to Google Code to individual web pages and forums

  • The hardware looks solid, powerful and generic enough to last for a couple of years

  • It is likely that knowing how to program Android app will be useful for me at work

  • It is cheap and simple to start writing Android apps on Linux

Drawbacks:


  • Typical usability of Android apps is pretty low compared to iPhone

  • The Android environment is very unique and is not like anything else - it's not really much of a Linux system from an apps perspective

  • I would be relying on HTC to provide OS updates in a timely manner - it is quite likely that after a year or so the updates to new version will come slowly or even stop altogether and I will have to use hacked ROMs

  • I have a dislike for Java. I wish one could write fully featured Android apps in Python :(

Please correct me if I am wrong with something!!! And also it would be cool if you expressed your own opinions in the comments.

Currently I am very undecided about what I am going to do, but after completing this entry I am leaning towards an unlocked HTC Desire.

Update:
Olivier Crête shares a N900 vs. Nexus One experience

Edit 01-07-2010:

Handed my iPhone in for a warranty repair, got a dumbphone Nokia as a loaner during repairs. Very surprised about how long a battery can last on a low powered and cheap phone.

In the mean time from all the comments here and elsewhere I am starting to see that I am too annoyed with the iPhone platform (mostly iTunes) to stay there and that I am also not convinced in the direction MeeGo is going (a lot of community developers are annoyed and are jumping ship), so N900 is also out. I will need to see 2-3 MeeGo smartphones and also see how Nokia will treat their smartphone users and developers on this platform, in the long term, before I'll be ready to trust them with my money. Therefore, my choice is becoming pretty clear - look for the best Android phone (after my iPhone dies). We have this thing at Accenture, where we can get company phones at a discount and HTC Desire is on that list. If I can get that, it would slash 100 LVL (almost a third of the price!) off it, but to get there I either need to get a promotion (rather rare after just one year with the company) or prove the necessity of the phone for the needs of my project (kinda hard currently). Well, the situation will be a bit clearer next week when I get my iPhone back. (Apparently the Latvia's largest holiday - Midsummer Festivities or Jāņi/Līgo - with tons of traditional outdoor activities, caused a lot of phones to become broken and there is a backlog of warranty service :))

So at this point my plan is: get my iPhone repaired and get a promotion or a project where I can justify a company-paid HTC Desire and then hope that Nokia/Intel really get their stuff together and make MeeGo a great smartphone platform over the next year or two.

Update: Got my iPhone 3G back from the 'warranty'. It is in quotes because they just gave me a new iPhone 3G. The battery lasts for 3 days of minimal use and it has not crashed yet. The recovery process was a pain - again caused by iTunes: iTunes refused to restore my backup onto the new phone, because my backup was made on a iOS 4.0, while the new phone I got from the warranty has 3.1.3 on it. So I had to set this phone as a new phone, initialise it, make a backup, upgrade to 4.0, restore from the (empty) backup, then reset the phone to factory settings again and only then I could start restoring data from my original (pre-warranty) backup and start copying my data on to the device. All in all it took nearly 3 hours if iTunes doing something and almost a dozen reboots of the phone. Almost half of that time was spent doing completely unnecessary steps to work around the fact that iTunes is braindead.

I'll continue using my iPhone for now, keeping my eyes on the newest Android phones and also waiting for the long-promised first MeeGo phone from Nokia.