I bought myself an iphone the other week. Yeah I know it can't do MMS and that the battery life sucks but it's awesomeness of the user interface and amount of fun and useful stuff in the app store more than compensates for those issues. Besides, the crap that comes out of both Nokia and Sony Ericson these days are so pathetic that it's not even fun anymore. Come on, Nokia hasn't done a useful phone since the 5110 and I can't remember (Sony) Ericson ever producing a useful phone...
However, there are a few quirks you should be aware of that they don't tell you when you buy an iPhone. These are things that came as a surprise to me after I've bought it
The "universal" dock
Apple completely screwed up the dock connector thing. My initial thought was "Awesome, since the iPhone has this dock connector, I should be able to use all the sweet iPod accessories out there, right?" - WRONG! While they are all the same physically (the device will fit any ipod cord or accessory) you are not guaranteed that it will work. Apparently, apple has changed the interface so many times now that it's sheer luck if you get it to work. I did a quick unscientific test at the local Media Markt store and tried to put my iphone into the 20-something different ipod compatible devices and none of them worked with my iPhone 3G. A handful of them did at least charge the phone but not even that is guaranteed.
I talked to a clerk at another store when I wanted to buy a car charger and he confirmed this problem. Apparently it's even worse that this. Even if you have your standard iPhone usb-to-iPhone cord (from apple, shipped with the phone) and connect it to a third party wall-outlet-to-usb you cannot be sure it works. The clerk said they had two different ones in store since they work on different iPod/iPhone models. USB has been around for years and it's not rocket science. There's 5V on pin 1 and ground on pin 5 and you can draw up to 0.5A on a single port. How hard could it be? There's no room for screwups, but they still managed somehow.. *sigh*
Getting data to and from it
While we're at it, let's whine some more at Apple :). To do anything with your iPhone from a computer, you will need to go through iTunes. Anything except photos, which seems to be using some sort of standard protocol (ptp?) iTunes, apart from being a pretty crappy music player, only runs on Windows and OS X, which is of course problem for Linux users. I'm using windows at work and also have a Vista partition on my home machine so it doesn't bother me that much. Also, I'm not using the iphone for music (I have the far more superior Cowon D2 for that) so I'm not hindered by having to use iTunes for my music either. The thing I do have a problem with is synchronizing my calendar and contacts. At work, we use Lotus Notes which isn't supported by Apple (Nokia and Sony Ericson both do, by the way) and the only way to do it is to use a third party product (CompanionLink, $49.99) which is not only expensive, but it's also really crappy (random hanging, lack of decent configuration). It's also sort of a hack since it goes through Outlook before putting data on the iphone (itunes only supports Outlook and as I mentioned you have to go through itunes to get data on the iphone). I've no problem with this approach per se, but I object to putting out $49.99 for a buggy hack just because it happened to be the only option available.
We haven't seen the end of this story yet, but I plan on writing my own (hackish) sync solution that does what CompanionLink does and then release it as open source. It will do a bare minimum required to let me view my calendar on the iphone - no advanced two way merging or stuff like. Now let's see if I succeed..
The status right now, after one evening of coding, is that I can read calendar entries from both Outlook 2007 and Lotus Notes 7. Now I just have to write the syncronization code and then use itunes to put it on the phone. Should be easy, right? :-)
Despite the above, i'm satisfied with the iPhone. It's an awesome piece of technology that simply looks astonishing...