I was lucky enough to grab an O2 3G iPhone online last Monday when they were briefly offering pre-ordering online. Here are my first impressions together with a few development implications. I’ll concentrate on the new features.
I am surprised the iPhone App store is so populated. OK, there are lots of e-books but there are also many real applications. Neither Windows Mobile nor S60 achieved this number of apps in such a short space of time. There’s one catch – you can’t download the free apps until you have added a credit card to your Apple ID based account. If you don’t, you just get the unhelpful error "Authorization Failed, Please connect to iTunes".
One observation I have is that it’s going to be difficult to discover apps on the phone – especially when there becomes thousands rather than hundreds. The iPhone’s simple but clear standard UI only allows viewing of a few on the screen at any one time. In time, expect they will have to create a full screen application (Apple call it an immersive application) to allow more applications to be discovered at any one time. Apps can also be discovered and downloaded on the Mac so it’s not too great a problem.
GPS? At first I thought it wasn’t working. I took it inside, outside and I just got the busy icon in the maps app. While writing this, I left it searching and it’s got a fix… but took 15 minutes! It’s currently accurate to about a 3m and it successfully tracks me within a few seconds as I move around. I am not sure yet if the long lock time is a one off thing or not.
Despite 3G, the iTunes application still insists on a WiFi connection to download. This is a pain for me as I have now standardised on power line (IP over mains) networking for reliability. My WiFi access point has now come out of retirement.
It’s interesting that people have been approaching me with cross platform native projects that include iPhone but not Android development. I think this is mainly because the iPhone is a real device and it’s already being offered by 22 network operators. Android still has a long way to go in this respect.
In what little time I have (I am very busy at the moment), I am getting up to speed with iPhone development. I can’t talk much about the SDK because you sign away such rights when you agree to the SDK agreement. However, generally, I am seeing how you use the iPhone screen assets (table Views, toolbars, tabbars, alerts etc) being more of an issue than learning the Cocoa/Objective-C idioms.
It’s interesting that of the initial set of released applications, very few actually need to be native. However, it all depends on how good your connection is at any one time – online apps obviously need to connect.
Another interesting observation is that Apple is allowing applications to be free but ad-funded. This is good news as the current trend seems to be for applications of this type.