iPhone OS 3.0: A thousand new APIs for developers

Chicago (IL) – In Apple’s iPhone OS 3.0 preview today, a new software developer kit (SDK)
2.0 was unveiled allowing developers to create iPhone OS 3.0-compatible
applications. The release packs over 1,000 new APIs designed to help programmers create a new
breed of feature-rich applications for the iPhone and iPod touch. Here we take a closer look at some key SDK 2.0 abilities, what they mean for developers and the applications they create, and how all of it impacts the end-user experience.

The iPhone OS 3.0 and SDK 2.0 both remain
backwards compatible to run all of the over 25,000 applications
written for the iPhone platform so far (in just 8 months). Older software re-compiled with SDK 2.0 shouldn’t require any changes by the developer, though the extensive new programming
functionality introduced in SDK 2.0 will be hard to pass over — making new versions of existing apps almost surely more feature rich.

Once it arrives this
summer, all of these new abilities will be exposed to work on all existing iPhone and iPod touch devices
that are upgraded with the iPhone OS 3.0 firmware. However, some of the new hardware functionality introduced with iPhone 3G will not be possible in the first-gen devices.

Push Notifications: Apple’s answer to background execution

Push Notification (PN) is Apple’s way of avoiding background applications that, in their words, “eat battery life”
while still providing a system to notify users of important events —
even if the originating application is not currently running on the handset. While the ability is very exciting, its arrival has squashed hopes
for background processes in one fell swoop.

Apple defended the move to PNs by citing tests
showing an 80% drop in stand-by time (by leaving the IM program idle in
the background on several mobile platforms), while the PN system only reduced it by 23%. Apple
also noted that background processes chew up CPU time, slowing down
programs in the foreground.

Apple’s PN workaround enables programmers to
create, let’s say, instant messaging programs that don’t have to run
all the time. This prevents them from wasting memory and CPU resources and draining battery,
but still notifies users when a new instant message arrives. While Apple
promised PN APIs
in time for iPhone OS 2.0 release, the feature briefly appeared in
early builds of the SDK only to be removed from later builds
without an explanation being given.

however, Apple officially unveiled that PN API is now part of the
iPhone OS 3.0. On a technical side, Apple said there will be three types of notifications: 1) Badges which overlay over an application
icon on the home screen (like unread message count which may appears in red
over the icon of built-in Mail program), 2) Sound alerts and 3) Text alerts
that visually appear just like text message (SMS) alerts.

While the
supported application is running on the phone, it maintains
connectivity via Apple’s servers. When the user exits the app, the server
pings the phone with notifications the operating system can then
display to the user or, through internal iPhone OS 3.0 support, provide the updated badges which serve only as visual cues the next time the home screen is accessed. The whole process is an automated interplay between the OS, Apple’s notification servers and cloud-based code designs which must accompany such applications.

Throughout the entire process of
notifying, the actual iPhone application is not running at all (thereby not wasting
system resources). The application will only launch if a user chooses to
reach to a notification, to reply a text message delivered by the
instant messaging program, for example. Apple stated that the PN system is “really scalable and ready to go,”stressing that notification servers are now optimized for 25 carrier networks in over 80
markets around the world where iPhone currently sells — meaning the company has taken care of all the different
configurations and protocols. Quite nice.

In-app purchases: A new gold mine

The App Store is already sure big. With over 25,000 programs and over 800
million downloads — all in the brief eight months of its existence — the software
bazaar has become the de facto poster child for a successful full digital
software distribution model. But why not extend it further to needs within applications?

Some programs, especially games, are designed to allow users to
purchase stuff online. For example, the newly released Fandango application
for movie ticketing lets you order up to 10 tickets online via a secure
online shopping system. Instead of spending time developing a dedicated
e-commerce systems for use in every such application, programmers can
now leverage the App Store infrastructure in iPhone OS 3.0 to enable in-app purchases without writing the entire purchasing ecosystem from scratch.

said it will keep 30% of the revenue from in-app purchases (just like it does with App Store application purchases today), with the developer retaining 70% without additional fees.

sell the feature, Apple let several developers, including Ngmoco and
Electronic Arts, showcase it on-stage during the presentation earlier today. The two developers
unveiled new pet and life simulator games for iPhone — respectively
called TouchPets and Sims. The two games allow players to purchase
in-game items for real money, using the new in-game application
purchase mechanism that comes with the new SDK. Another gaming app mentioned called LiveFire allowed the in-game users to purchase a rocket-launcher for $0.99 in real money, for example.

If the millions of dollars
spent on virtual goods in games like World of Warcraft are any
indication, this feature could turn out to be a gold mine for clever
developers who will rake in far more than the initial download sales fee. And especially for those who can create ongoing revenue streams by
selling subscription-based content like e-Books, digital magazines, game level upgrades, etc.
One caveat, however, free applications don’t get to use the new in-application purchases — meaning, if you download it for free, you’re guaranteed to never pay for something directly from within the app.

Read on the next page:  P2P gaming, Bluetooth and dock access to Apple-authorized accessories, Maps in apps, Turn-by-turn directions, Additional features, Conclusion

P2P connectivity:  Meant for games, but not limited to them

like BitTorrent, the iPhone OS 3.0 now sports peer-to-peer
connectivity (P2P) which enables the iPhone to find other iPhone and
iPod touch units in the immediate area. Strangely, this capability works only
over Bluetooth and not Wi-Fi — meaning it is meant to be used over
very short-distances (like your friend sitting next to you).

P2P connectivity leverages Apple’s zero-networking
Bonjour technology to enable seamless device connectivity without the
need for pairing or routers. While Apple created this feature mostly with gamers
in mind, it will likely find its way into regular applications which encourage users to share date with fellow iPhone users
in close proximity. Apple said P2P could find uses in Enterprise apps as
well, citing the example of a custom business application that can beam
contact cards only to approved devices. [Apple is still trying very hard to sell the iPhone as an Enterprise device, showing also an on-stage Oracle demonstration in today’s presentation. -Editor]

The choice of Bluetooth
for its P2P ability could allow iPhone applications to share data with
other mobile platforms — at least in theory. In addition, it’s a great
way to play games with your friend even if there is no Wi-Fi coverage (as Wi-Fi requires a router).
However, we should note that the iPod touch lacks Bluetooth features,
meaning it can’t take advantage of wireless networked gaming — only the iPhone. On the
other hand, several tear-down analyses have shown that the touch-based music
player has Bluetooth circuitry internally that’s simply been disabled in software. [Nice, isn’t it? -Editor]

Direct accessory access

now have access to third-party hardware attached to the iPhone
via either Bluetooth or dock. Developers can also write custom protocols which work only with a specific hardware accessory. This new change in policy
now allows accessory makers to create tailor-made software
for their hardware.

For instance, a speaker manufacturer might build an
equalizer application to let users control the volume of external speakers using touch controls
on the iPhone — something that would only work with the appropriate hardware attached, and would therefore only be displayed when it is present. Another example is an FM transmitter accessory that
could use the application on the handset to help it find the
optimal frequency and tune to it. Apple particularly highlighted the
example of medical applications, saying that a blood pressure cuff
could talk to
the phone and help users track blood pressure over time. The same goes for insulin monitoring.

should note that direct access to accessories is limited to hardware
marked with the “Made for iPod/iPhone” label — meaning it’s one more way for
Apple to distinguish between high-quality add-on makers that pay
royalties to Apple between a crop of unknown makers whose accessories
work on iPhone, but has not been approved by Apple (nor does the company
take royalty cut on each sale).

Turn-by-turn directions:  Maps in apps

new CocoaTouch control enables programmers to wrap the device’s Maps feature, inserting it into
their applications. Apple said that almost the entire Maps app has
now become API-driven so developers can use it in their own apps — with a full range of features including satellite, hybrid and map views, pinch zoom, geolocation,

As expected, Core Location now supports turn-by-turn directions by
leveraging location information obtained via GPS, Wi-Fi hotspots and
cellular tower triangulation. However, Apple warned developers to “bring
[their] own maps”
in turn-by-turn navigational applications,
citing licensing reasons — meaning Maps cannot be used to display the map content for turn-by-turn routes. Apple said that every existing iPhone can
become a GPS navigational device once the iPhone OS 3.0 is released.

Additional features that are nice to have

can now call email clients and allow users to send email
from within their own application, without being forced to quit due to the launch of the Mail
application which takes over during email delivery. The company also enabled
developers access iPhone’s proximity sensor, and built-in iPod
library so users can select tracks and playlists from within an application — making background music in some apps (like games) a wholly customized experience.

New streaming audio and video HTTP standards are also supported, while
data detectors now recognize more content. A new shake API detects when a user shakes the handset — allowing features like shake-undo/redo, while an entirely new
in-game voice chat will ease the creation of games with built-in voice
chat — similar to the voice feature recently revealed in the new iPod Shuffle.

Conclusion: A thousand new reasons the iPhone platform just works

reality, there are over thousand new APIs in the SDK 2.0, and we we can’t
possibly cover them all (nor did Apple go into details on all of them). However, we have conveyed the most interesting ones.
There are very few things Apple didn’t deliver in the SDK 2.0, and this may be a sign of their finally realizing just what they’ve got here — remember, Apple didn’t want to open up the App Store in July.

Besides the much desired background processes feature which was replaced with Push Notification, developers also didn’t get any Adobe
support. Apple said that HTML5 audio and video tags
used with H.264-encoded content is a recommended workaround for the time-being, though they did not promise Flash support in the future either. Still, if
developers leverage even a fraction of these new abilities, we should start seeing some
amazing new games and applications that aren’t currently

All in all, this looks to be a major OS upgrade
with real benefits to users from features we’ll undoubtedly begin to use in everyday life. And, as more capable applications are introduced, the essential ingredient for the long-term success of the iPhone platform seems assured.