Daniel Eran Dilger
Random header image... Refresh for more!

Inside iPhone 2.0: the new iPhone 3G Software

fight for the right to party

With the iPhone 3G hardware, Apple significantly improved upon last year’s original iPhone. It also extended many of the benefits of its newest model to existing users in the form of the iPhone 2.0 software update (which is also available to current iPod touch users for a nominal $10 fee). This segment presents what’s new in the 2.0 software, what hasn’t changed, what’s missing, what’s wrong, and how it compares to other smartphone software platforms on the market.

Inside iPhone 2.0: the new iPhone 3G Hardware
Inside iPhone 2.0: iPhone 3G vs. other smartphones
Inside iPhone 2.0: the new iPhone 3G Software
Inside iPhone 2.0: iPhone OS vs. other mobile platforms
Inside iPhone 2.0: the new iPhone App Store
Inside iPhone 2.0: MobileMe Push Messaging

Inside iPhone 2.0: the new iPhone 3G Software
iPhone OS X 1.0

When the iPhone arrived last year, its software set a new high water mark for smartphones. It delivered a rich, desktop class operating system that borrowed heavily from Apple’s Mac OS X, allowing it to support “desktop-class” applications such as Mail and the Safari browser that were far ahead of those offered on existing smartphones. The iPhone OS uses essentially the same Mach/BSD kernel, UNIX userland, and Cocoa development frameworks as Apple’s Mac OS X computers, although many aspects of the software are customized for the unique environment of the device.

Less Than: The iPhone’s software has to fit within a gigabyte of storage space, which means that Apple pared away lots of legacy (such as the Carbon-centric frameworks of Mac OS X designed to support Mac software from the 90s, including Adobe’s Creative Suite and Microsoft’s Office apps), as well as support for duplicative third party APIs (such Sun’s Java, which is largely a duplication of Cocoa; POSIX X11; and even support for web browser API plugins such as Adobe Flash).

Greater Than: While Apple left out some portions of the full Mac OS X when developing the iPhone OS, it also took the opportunity to create clean, new implementations of existing components. The QuickTime architecture of Mac OS X Tiger was optimized into a highly efficient, playback-only system targeted toward the modern H.264 video codec standard, giving the iPhone the ability to watch everything from YouTube to iTunes downloads to online podcasts to home movies. This optimized playback system has since been reused in the development of Snow Leopard, where it is referred to as QuickTime X.

The iPhone also prompted a redesign of the AppKit, the Mac OS X development framework used to create applications’ graphical user interface. Its replacement, the mobile-optimized UIKit of the iPhone, was specifically designed to deliver a modern new user experience that included smooth animations to make the system feel extremely intuitive and “real,” with heavy use of touch-friendly sliders and dials rather than the mouse-oriented pop-up and drop down menus, radio buttons, and other interface constructs Apple originally developed for the Macintosh desktop computer in the early 80s. Concepts from the iPhone’s UIKit were also reused in Mac OS X Leopard to deliver Core Animation in order to bring the same highly animated interface enhancements to the desktop.

Apple’s unique and luxurious opportunity to stop and rethink the technology and human interface of the iPhone resulted in a spectacular new jump in the state of the art in handheld mobile devices. Microsoft’s WinCE and Windows Mobile and the Palm OS (both from the late 90s) had largely pushed forward a circa 1984 Mac-like, stylus driven interface that is simply unsuited to a small factor device, and neither is now in a position to radically update their platform to make it comparable to the iPhone’s. Other phone platforms, from Symbian (a partnership between Nokia, Sony Ericcson, NTT DoCoMo, and others; it runs on the majority of phones worldwide) to RIM’s BlackBerry, have largely evolved from humble origins as PDAs or pagers, greatly limiting the sophistication they can deliver now and into the future.

While Apple’s incessant critics tried to invent calamity for the iPhone by harping on the potential of theoretical security exploits while lambasting both minor and significant omissions (including a lack of voice dialing, MMS, video recording, copy and paste, push messaging, and other missing elements), they failed to realize that Apple had delivered not just a product to sell in 2007, but a strong foundation to build upon over the next decade. Adding software features to iPhone 1.0 was clearly going to be a far easier task than retrofitting competing platforms to deliver a decent user interface, an efficient media playback architecture, rich development frameworks, and other features unique to the iPhone.

iPhone 2.0

Unappeasable critics and hopeful iPhone enthusiasts both had lists of desired improvements in hand when Apple revealed its priorities in the iPhone 2.0 announcement in March 2008. At the top was a software development kit for building third party applications, which will be discussed along with the App Store and leading mobile apps in the following segment. Significant improvements to the iPhone 2.0 software itself were also revealed. Most notably, the new software added push messaging compatible with Microsoft’s ActiveSync and Exchange Server 2007, a feature designed to position it favorably against the popular BlackBerry BES messaging service. Apple later unveiled its own MobileMe service as an alternative to Exchange for consumers. Push messaging is also a big enough topic to be considered separately in its own segment.

In addition to the SDK and push messaging, the iPhone 2.0 software supports new hardware features in the iPhone 3G, and includes a variety of smaller improvements to the system in general and its bundled apps. This segment will focus on those improvements, along with the things that were not addressed in the update and the flaws that crept in along with those enhancements.

In many ways, the iPhone 2.0 update is a bit like the jump from the original Mac System Software to System 7 in 1991, or the subsequent jump from the classic Mac OS to Mac OS X earlier in this decade. Both jumps enabled vast new potential while also initially eroding what was at the time a stable reference release. Both advances included features that were too good to pass up, while doing so with entirely new code that needed years of refinement before it was really able to match the stability of the previous system. The new iPhone 2.0 is no different, although hopefully it won’t require nearly so much effort to bring it up to the level of stability of the original iPhone experience.

That having been noted, the iPhone 2.0 software does disappoint. While the original iPhone’s apps might occasionally disappear, dropping you back at the Springboard start screen, the new iPhone 2.0 is more likely to freeze up entirely, something that was extremely rare before iPhone 2.0. The interface in some apps, most notoriously Apple’s own Contacts, is frustratingly lethargic to an extent that the original bundled apps never were. In addition to delays, lockups, and restarts, the new software also introduces some other irritations: battery life is significantly shorter, which can be attributed in part to more demanding hardware improvements in the iPhone 3G, but also to features unlocked in iPhone 2.0, including third party apps and push messaging.

The next segment will take a closer look at how iPhone 2.0 stacks up against rival smartphone platforms, but first we’ll take an in depth look at the new features and improvements Apple delivered in the new update, along with the problems that weren’t addressed, and some significant new flaws that hound users of of the initial version 2.0.0 software.

Software Improvements in iPhone 2.0

Let’s start with a look at what has improved in the new iPhone 2.0 release. In addition to support for downloading new iPhone apps from iTunes or directly via the App Store icon as well as push email messaging, calendar and contacts from Apple’s MobileMe and Microsoft Exchange Server (both of which we will be considering separately in their own segment), the new iPhone 2.0 also includes a few other system-wide niceties, and some of Apple’s bundled apps are also spruced up:

Airplane Mode now allows you to independently turn WiFi back on while leaving mobile service off (below).

iPhone 3G

Calculator now offers scientific functions when held in landscape view (below).

iPhone 3G

Calendar now supports viewing and using multiple calendars, just like the desktop iCal. Previously, iTunes would aggregate all your iCal calendars together. Now you can view, edit, and create new events in a specific calendar, such as one designated for work, home, or school.

Camera now “geotags” your photos with longitude and latitude metadata tags so that other applications can determine where they were taken. While neither the iPhone nor iPhoto currently do much with this data (iPhone will only display the coordinates), Preview will show the GPS metadata along with a crosshairs on a world map. Clicking the Locate button pulls up the coordinates from Google Maps within a browser, as shown below. This photo overlooking Berkeley and the San Francisco Bay was taken from Tilden Park on Grizzly Peak Boulevard.

iPhone 3G

Contacts are available directly from a home page icon just as they are on the iPod touch, rather than only being buried inside the Phone app. You can also now search for contacts rather than only scrolling through the list to find what you’re looking for, and look up contacts from an Exchange Global Address List. Under Settings, you can now set sort order and display order to “first, last” name or “last, first.” You can also import any contacts stored on your SIM card.

Keyboard displays a globe icon to toggle between configured languages (there’s also now 20 keyboard layouts to choose from). There’s also a touch input system for Chinese. Additionally, the “.com” key, used to quickly complete a web URL, can now be held down to bring up alternative top level domains, such as .edu, .net, or .org in Safari (below). In other apps, such as Mail, you can bring up a domain suffix by holding the period key down.

iPhone 3G

Mailnow has an edit button that allows you to select multiple messages for mass deletion or moving to a mailbox folder. You can also now read PowerPoint and iWork (Numbers, Keynote, and Pages) files attached to emails, in addition to the existing doc, xls, text, HTML, TIFF, JPEG, GIF, and PDF support. Microsoft’s new Office formats pptx, docx, and xlsx are also now viewable. Graphic file attachments can now be sent to your photo album by touching and holding for a moment. If you forward a draft email, you lose any attached files on the draft email. However, you can now forward an email (including an email from your sent items) with multiple graphics attached; you will be prompted to include or not include the attachments in your forwarded message. This finally enables you some mechanism for sending out a pre-formatted email message with multiple attachments from your phone.

Maps, when displaying your location, now shows you a wide area map of the general area first, then zooms the location crosshairs in to a local view. This is great if you’re in an unfamiliar area, where you’d otherwise have to manually zoom out first to get some idea of where in the surrounding area you currently are. The flip side is that the two part location process requires more maps to be downloaded, a problem if you are roaming internationally at great expense or if you’re stuck outside of 3G or WiFi coverage and have to drag in your maps over EDGE or, god forbid, the even slower GPRS. While viewing a map, you can double tap with one finger to zoom in, and double tap with two fingers to zoom out. With an iPhone 3G, you of course get the more accurate GPS location, marked with a blue dot. If it can’t determine a precise location, you get a light blue circle drawn around your dot indicating the relative margin of accuracy.

Safari now allows you to save images from web pages to the photo album by touching and holding the graphic. This brings up the option to Save Image (below). Double tap near the top or bottom of the page to scroll up or down a page at a time.

iPhone 3G

Screen capture: hold down the home button and touch the screen lock button and the display will flash, sending the captured shot to your photo album. Screen captured are not geotagged however.

Software Flaws and Limitations

There are also a number of issues left unaddressed in iPhone 2.0.

Bluetooth: No support for A2DP stereo headphones, file transfer, data sync, tether or dialup networking, serial support for GPS or barcode readers, keyboard input, or mouse output support, or other standard Bluetooth profiles. Apple has to supply this support itself, as the iPhone SDK does not allow third party developers to directly access the hardware. Users have also reported some new Bluetooth issues with a refusal to sync data with certain car integration systems and an echoing audio problem.

Calendar: You can not change the calendar of an event after it has been created. You can no longer select which calendars you want to keep in sync when using push updating instead of iTunes, and you can’t sync in events from subscribed calendars without manually importing them (and losing the dynamic updates).

Camera: There’s no new photo capture features. No video support, no shutter timer, no camera settings or other adjustments. The unchanged software shutter button is hard to target, particularly if you’re trying to include yourself in the shot. The Camera app will also still rapidly kill the battery if it’s left open as the foreground application.

Contacts is absurdly slow to the point of being nearly unusable. How it escaped from Apple’s labs is an embarrassing mystery. There’s also no way to create or delete a contact group on the iPhone, or move a contact to a group. Also missing is any to do event display and any capacity to sync to do events with iCal, MobileMe, or Exchange Server.

iPod: No way to create a playlist and select songs and put into it. There’s also no way to search for songs, an interesting omission now that the interface for Apple’s Remote app lets you search the contents of remote iTunes systems (below left). Remote also provides separate listings of Movies, Music Videos, and TV Shows (below right), while the local iPod interface only shows Videos (below middle). Expect that to catch up quickly.

iPhone 3G

Keyboard: There’s still no forward delete, requiring tedious precision in positioning the magnifying glass to correct a word. There’s still no mechanism for copy and paste, nor a way to simply add shortcuts (typing a short letter sequence to enter a long phrase or section of text). Keepers of complaint lists also like to point out that most apps don’t present a landscape keyboard, but the iPhone keyboard simply works better in vertical mode (below), is easier to type on, and leaves more usable screen real estate open. The landscape keyboard presents fatter keys with wider spacing that are paradoxically harder to hit quickly. It’s not better.

iPhone 3G

Mail still lacks a unified mailbox, so if you check messages from multiple accounts, you have to browse the messages from each separately. There’s also no way to search email, sort or filter by sender or other criteria. The Mail app also does not support sending messages from the alias email addresses configured on the account (as desktop Mail does), nor does it support syncing over or selecting from multiple email signatures, or the use of certificates to sign or encrypt sent emails. You also can’t address an email to a group in Contacts. There’s also no way to flag messages or mark them as unread (on the message itself, if you tap details in the upper right, more heading info appears with the option to “mark as unread”), or set priority on outgoing emails.

Maps: While the original Maps app blew us away, the latest version is not really improved at all. Where is Google traffic info (Google Traffic actually is supported), and what about Street Views, or Terrain mode? And how about consulting Google transit and walking directions for instructions on how to get to your destination without burning $5 a gallon gas? And while we’re at it, how about integrating NextBus information? Google has already done the heavy lifting here, so Apple just needs to add support to its iPhone client software to present this rich (and free) information.

Notes: Still does not sync to the desktop, MobileMe, or Exchange Server, despite the addition of iPhone-looking Notes (and To Dos) that appeared in Leopard Mail. This can’t be too far away however. Also no way to send a note out as an SMS. John Gruber is probably not pleased that Apple is still using Marker Felt (the long time companion of Comic Sans) while offering no alternative font in Notes.

Phone: No speed dial apart from the favorites list. No voice activated dialing. There’s no way to export the list of calls you’ve made or received that the iPhone keeps track of internally. It would be great if this data synced into your desktop Address Book to provide a listing of dates and times you’ve called each contact. There’s also no simple way to record and export voicemail messages to your desktop.

Photos: No way to create or delete photo albums. No way to pull up a map of the location of a geotagged photo.

Roaming: You can’t reliably choose your roaming provider when traveling overseas. If you have to pay carriers through the nose to use the iPhone internationally, you should at least be able to pick which provider you want to use (such as the one that has the best service for the area you are in). Unfortunately, while the UI is there under Settings, it simply doesn’t work to select a specific carrier rather than allowing the iPhone to pick its own provider automatically.

Safari: Bookmarks sync, but your desktop history does not. It would often come in handy to be able to reference a webpage you viewed earlier at home but didn’t bookmark.

SMS: Can be dreadfully slow to start up. Initiating a new SMS can kick off a dead stall that lasts for more than 30 seconds. No ability to export your SMS conversations. No way to send or receive MMS picture messages. AT&T will relay a text message with a username and password you can use to log into their website to view a sent MMS photo, but the process isn’t automated. It should send a URL that would open itself in mobile Safari.

New but awful in iPhone 2.0

It’s easy to think up features that are missing, but iPhone 2.0 also introduces some significant problems that go beyond missing “things that would be nice to have.” The interface frequently balks for absurdly long periods of time (30 seconds is about long enough to consider smashing the unit), far longer and more frequently than the previous software. System-wide crashes were also once extremely rare, but now happen quite regularly. Apps also crash more frequently, particularly the new third party apps. This can be chalked up to less experienced third party developers, but there also appear to be problems with the iPhone OS that cause third party apps to die.

One common trigger is Apple’s picture taker module, called from other applications to grab a photo. This hasn’t ever worked flawlessly (or quickly), but iPhone 2.0 doesn’t seem to help things; third party apps attempting to take photos often fatally fail in the process. Another example is location services, particularly when called up from coordinates outside the US. it appears many apps make assumptions that the iPhone is within the US, and when given a remote location they simply die rather than responding correctly.

Another irritation that began with iPhone 2.0 is that iTunes now does a very lengthy backup everytime the iPhone is plugged in. The purpose of the backup is to allow all data on the phone to be restored, but it simply takes too long. This process needs to be greatly optimized, perhaps using a differential backup model instead. It is possible to prevent the backup from happening with “defaults write com.apple.itunes DeviceBackupsDisabled -bool YES” but of course this will remove the safety net that currently makes restoring the iPhone’s data (in case of a unit replacement or other need to perform a full software restoration) the great experience it currently is. The recent iTunes 7.7.1 update seems to help slightly, but the backup process is still really just too slow, and frequently unnecessary if nothing or very little has changed since the last backup.

There are also some irritating issues with push messaging (or rather a failure of messages to push) and the Apps Store and thrid party apps (such as apps crashing at launch and needing to be reinstalled) that will be noted in dedicated followup segments. The most painful problem with iPhone 2.0 is probably power management however; it simply lasts well short of a full day on a single charge. The original iPhone could often coast through two days of light use before dying. No amount of features can be impressive when your battery ends up prematurely dead.

Storm before the calm

It’s not yet clear how much software optimization can do to improve the power consumption of 3G data service and GPS lookups, but the shorter life span of the iPhone when running 2.0 is a significant ding against its usability. Somewhat ironically, a key reason why the iPhone doesn’t last as long is because third party apps, particularly graphically intensive games, make it easy to blow through the battery because they put pressure on the processor while continuously lighting up the screen.

A major reason why Apple was able to achieve fantastic battery life on the iPod was due to the fact that it was designed to do as little as possible, coasting along with the screen off while music played from its RAM cache. Playing games on the original iPod will also burn through its battery much faster because it has to do more. Software updates may help optimize power use in some circumstances, perhaps even intelligently turning off 3G when in standby, but it may be a simple reality going forward that users who put heavy demands on their iPhone 3G will need to recharge it more than once a day.

Apple is known to be internally testing an iPhone 2.0.1 bug fix for release in the short term, and working on an iPhone 2.1 feature update aimed for September. The second update is expected to deliver support for background notifications for third party apps, as well as significant improvements to GPS location services that should be able to provide reports on your current direction and speed, information required to provide turn-by-turn directions.

The next segment will look at how Apple’s iPhone 2.0 software platform compares to that offered by other mobile vendors, in particular Microsoft’s Windows Mobile, the Palm OS, and the Symbian OS. The following segment will consider iPhone 2.0’s most significant feature and largest change: the Apps Store, SDK, and third party apps that transform the iPhone (or iPod touch) from a streamlined handheld device into a general purpose computer and games console.