This summer, Apple, Google and Microsoft announced updates to their mobile operating systems: iOS 6, Jelly Bean (Android 4.1), Windows 8 and Windows Phone 8. All of the operating systems are at different stages of maturity, which is reflected in their unique mixes of competitive and innovative features.
Backward compatibility
Maps
Siri
Siri now understands nine languages, works in 15 countries, and is available on the iPad 3 and the iPhone 4S. It can tell users the latest sports scores or movie showtimes, as well as make reservations, post Facebook updates, tweet, or open an app. Unfortunately, there is no API developers can use to take advantage of it.
Passbook
Facebook integration
Multiplayer gaming
Reminders integration
Advanced camera features
In-app purchasing
In-app purchasing is great news for developers because it can increase conversions and sales. Rather than being sent to the App Store for a purchase, users can now purchase content or apps from within apps. In-app purchasing also makes for more effective cross-selling and upselling.
Safari on iOS 6
Using the Web Audio API, Web developers can create audio for interactive Web applications, use advanced color and pixel effects, and upload videos and images from the Photo Library.
Performance improvements
Improved accessibility
Developers are getting more control while disabled users are getting a better user experience. The new accessibility APIs enable developers to build accessibility services and to link tutorials with the Accessibility settings, so it is easier for users to configure and use the services. Apps using standard View components automatically inherit support for the new accessibility features. Apps using custom Views can use new accessibility node APIs to define the parts of the View that are relevant to the accessibility services.
Extended language support
Expandable notifications
Resizable App Widgets
Input enhancements
Apps can register to be notified when new input devices are attached physically or wirelessly. Apps can also query the device manager about the devices attached and the capabilities of each, as well as make use of any vibrator service associated with the attached input device.
“Android used to be a platform for mobile phones, but we’re seeing it move into different devices, from cars to home information systems. So having the ability to easily change the input devices helps that goal,” Gargenta said.
New connectivity types
Android Beam (an NFC technology) now leverages Bluetooth for data transfer so users can more easily share content. Now, users can simply tap two Android devices together to share content and apps. Similarly, Bluetooth devices can now be connected simply by tapping them with an Android device, which eliminates the need for searching and syncing.
“Enabling NFC and Bluetooth allows more devices to interoperate within the home,” said Gargenta. “Not everything has NFC capabilities; there are more devices that are Bluetooth-compatible.”
Jelly Bean also added support for multicast DNS-based service directories to enable apps to find and connect to other Wi-Fi-enabled devices, including mobile devices, printers, cameras and media players. Developers can use the service-discovery API to develop cross-platform and multiplayer games, or to add features that leverage Wi-Fi peer-to-peer (P2P) connections.
Wi-Fi Direct service discovery has also been expanded. Ice Cream Sandwich enabled apps to discover and pair directly over a high-bandwidth P2P connection. Jelly Bean adds support for pre-associated service-discovery so apps can determine what services a device supports before they connect to it. Developers have the freedom of limiting device discovery to only certain device types, such as cameras. They can also create apps that allow users to share content using a direct P2P connection rather than mobile bandwidth.
New media features
Jelly Bean provides low-level access to platform hardware and software codecs. Apps can query the system to discover what low-level media codecs are available on the device and then use them as necessary. DRM support is included. USB audio output has been added for hardware providers building accessories for Android devices. Jelly Bean also supports multichannel audio on devices that have an HDMI port, and adds built-in support for encoding/decoding AAC 5.1 audio.
“For a long time, Google has been focusing on end users and developers, not hardware manufacturers,” said Gargenta. “They’re basically making it easier for OEMs to customize Android so they can develop something new and different.”
Developers can now apply preprocessing effects such as noise suppression, echo cancellation, and automatic gain control to apps that require high-quality audio. The MediaPlayer supports audio stream chaining so audio files can be played back-to-back without pauses. There are also new media router APIs that developers can use to specify where media is played.
Android browser and WebView enhanced
Jelly Bean provides video play and pause capabilities, as well as a smoother transition from inline mode to full-screen mode. Rendering speed has been improved and memory usage has been reduced to enable better scrolling and zooming performance. Other improvements have been made to HTML5/CSS3/Canvas animation and text input. The JavaScript Engine (V8) has also been updated for better performance. There is also support for the updated HTML5 Media Capture specification.
New services
New services include Google Cloud Messaging (GCM), app encryption, and smart app updates. GCM allows developers to send short message data to users without a proprietary sync solution. It handles all the details of queuing messages and delivering them efficiently to up to 1,000 targeted Android devices with a single request. The messages can include up to 4KB of data.
Starting with Jelly Bean, Google Play will encrypt all paid apps with a device-specific key before they are delivered and stored on a device to help protect application assets. Google Play now reduces update overhead by about two-thirds by delivering only the changed portions of an app rather than the entire application file.
Backward-compatible with Windows 7
Common core with Windows Phone 8
Metro-style apps
Touch-enabled Metro-style apps focus the user’s attention on content that is reflected in text-based tiles, and live tiles that display live content feeds. Smooth animations and transitions can be created using app layout APIs and presentation controls. There is also a built-in animations library developers can use to build unique visual experiences. Flexbox (a CSS3 feature), along with the VariableSizedWrapGrid XAML control (which provides similar functionality), can be used to simplify UI layout and control.
Semantic Zoom
App contracts
Cloud services
Windows Store
The Windows Store supports free and paid apps, and counter to some rumors, line-of-business apps do not have to go through the Windows Store. The Windows Store supports localized, market-specific catalogs for customers in 26 markets from which developers can choose to place their apps, as well as market-specific payment providers. In a recent blog post, Deepak Mukunthu, a program Manager on Microsoft’s Developer Analytics team, described some of the app reports in the Windows Store dashboard that developers can use to improve app quality and to better align the app with market desires. App metrics include downloads, revenue, aggregate usage, in-app transactions, customer ratings, market trends, and app reliability.
Microsoft also has a Windows App Certification Kit developers can run before submitting an app to the Windows Store that helps determine whether the app will likely pass technical certification.
Use existing skills
Windows 8 can be built by developers with HTML5, CSS3 and JavaScript skills as well as developers who have XAML, C#, C++ and Visual Basic skills.
Multiple inputs
Although Windows 8 is optimized for touch, it also supports mouse and keyboard input. Pointer APIs have been provided that allow developers to take advantage of any input method without knowing the origin of the input data. There are also higher-level gesture APIs that can be used to predefine touch gestures and detect multi-touch events in apps. Developers also have the option of creating custom touch gestures or using input-specific APIs to create unique app experiences.
Multi-sensor support
The Windows 8 sensor platform can be used for desktop and Metro-style app development. Support is provided for accelerometers, inclinometers, gyrometers, compasses, ambient light, orientation, and geolocation (with the user’s permission).
Internet Explorer 10
The browser has been optimized for Windows 8 touch devices. Developers can use the same HTML5 markup to build interactive websites that support desktop and tablet experiences.
Windows 8 also takes advantage of DirectX graphics, so full-screen Metro style apps are smooth and persistent. Developers building graphic-intensive apps can use DirectX 11.1 to take full advantage of graphics hardware and to deliver new features such as stereoscopic 3D.
Backward compatibility
Developers who have already built Windows Phone 7 and 7.5 apps can run those apps on Windows Phone 8 without having to make any changes to code. According to a blog post by Microsoft Group Product Manager Kevin Gallo, applications will be able to launch and run faster without modification. Microsoft plans to compile every existing Windows Phone app in the Windows Phone Marketplace in the cloud. Developers will not be required to resubmit their apps.“Windows Phone 8 is designed to run all existing Windows Phone applications,” said a Microsoft spokesperson. “Developers can continue to build applications that run on both Windows Phone 7 and Windows Phone 8 devices, by compiling their applications for Windows Phone 7.”New Windows Phone 8 apps will not be backward compatible for customers using a device running an older version of the OS. Since all Windows Phone 7.x applications will run on Windows Phone 8, and the new Windows Phone 8 tools will support Windows Phone 7.x development, developers who want to target both 7.x and 8.0 phones should build for 7.x, the spokesperson said.
Common core
Windows Phone 8 and Windows 8 share a common file system as well as common networking, security, media and browser technology, so Windows 8 apps and Windows Phone 8 apps can share code. In some cases it may be possible to simply reset the screen size, although that probably would not yield the best possible user experience. Similarly, hardware manufacturers can build one driver that runs on desktop PCs, tablets and smartphones.
“[D]evelopers will be able to leverage much of their work writing applications and games for one to deliver experiences for the other,” said a Microsoft spokesperson.
New start screen
Microsoft has added a palette of theme colors and three live tile sizes that can be adjusted dynamically so users can control and personalize the UI.
Multicore support
Windows Phone 8 includes multicore processor support to accommodate future handset designs.
Larger and HD screen support
Support is now included for 1280×768 and 1280×720 screen resolutions to accommodate high-definition 720p displays.
Wallet
The new digital wallet allows users to store credit cards, debit cards, coupons, boarding passes and more. Users who want to pay for products and services at compatible checkout counters must have a secure identity module card from their carriers.
Content storage and sharing
Windows Phone 8 supports MicroSD cards so users can store content and transfer it to their PCs. NFC support has been added so users can wirelessly transfer content from a Windows Phone 8 to another device that supports NFC. Alternatively, users can accept content from print media such as magazine ads, posters or business cards that use NFC tags. The technology can also be used for multiplayer games using P2P Wi-Fi.
IE10, Maps and Directions
Like Windows 8, Windows Phone 8 uses Internet Explorer 10. Microsoft teamed up with Nokia to provide detailed maps and turn-by-turn directions for many countries. Users can download maps, store them on their phones and then access them.
More international support
Windows 8 supports 50 languages; Windows Phone 7.5 supports 38. Users in 180 countries and regions can download apps, which compares to 63 for Windows Phone 7.5. (By comparison, Windows 8 will be available in 109 languages across 231 markets, according to Windows CMO and CFO Tami Reller.)
Wireless updates
Windows 7.5 and previous versions require users to update their phones via their PCs. Windows Phone 8 users can update their handsets wirelessly.
Windows 7.5 users will be able to update their phones with the Windows Phone 8 start screen, although they will not be able to get the Windows Phone 8 OS as an update. As of May, Microsoft required Windows Phone 7.5 to be installed to access Marketplace apps.
Native code support. Windows Phone 8 offers support for native C and C++. There is also a common Windows 8/Windows Phone 8 shared native API set that spans graphics, audio, media, file system, networking, media, commerce, base types and sensors.
In-app sales
VoIP
Multitasking enhancements
Expanded speech capabilities
Windows Phone 8 includes a number of features IT departments are demanding, including device encryption, enhanced security, and remote app and phone management:
Device encryption
The entire device, including the OS and data files, can be encrypted to keep content and passwords safe.
Enhanced security
Windows Phone 8 supports the United Extensive Firmware Interface secure boot protocol and improved app sandboxing to protect the phone from malware.
Remote app and phone management
The tools are similar to what is available for Windows PCs.
Company hub and apps
Enterprises can take advantage of Windows Phone 8 hub (an app) that can be used to list and distribute employee apps and other critical business information. Line-of-business apps can also be deployed to enterprise devices via a website, SharePoint or e-mail, which opens up opportunities for the “appification” of the enterprise, as well as opportunities for third-party developers.