Trending Tags

Follow

About Michael J. Miller

Miller, who was editor-in-chief of PC Magazine from 1991 to 2005, authors this blog for PC Magazine to share his thoughts on PC-related products. No investment advice is offered in this blog. All duties are disclaimed. Miller works separately for a private investment firm which may at any time invest in companies whose products are discussed in this blog, and no disclosure of securities transactions will be made.

Apple Eyes the Future With iOS 8, New Programming Models

Apple's annual Worldwide Developers Conference (WWDC) has lately been the place where the company introduces new versions of its Mac OS X and iOS operating systems, and this year's version was no exception. But what stood out to me was that this year's keynote focused much more on developers with a host of new APIs and shared services, a model for creating games, and even a new programming language. Taken together, this is nothing short of a rethinking of Apple's developer ecosystem as the company tries to position itself for the future. Some of the results of this approach should show up in applications shortly, but it's likely that the real impact will be seen over a period of years as developers really get comfortable with the new tools.

Most of these tools are part of iOS 8, with Apple CEO Tim Cook saying they will enable developers "to create apps they haven't dreamed of before." In total, there are 4,000 new APIs, according to Apple senior vice president of Software Engineering Craig Federighi.

Cook said the App Store now has 1.2 million apps, with a total of over 75 billion apps downloaded. He said there were some new changes to the store, making it easier for customers to browse for apps and for developers to promote their apps. Among these are "app bundles"  which let developers offer multiple apps at a discounted price; short videos to preview apps; and a new beta-test service called Test Flight. As with iOS 8, this will be available in the fall. Together, Cook said, the new features make iOS 8 the "biggest release since the launch of the App Store."

In some ways, the biggest philosophical change in iOS 8 seems to be a move toward more extensibility. Currently in iOS, applications all run in their own "sandboxes"  enabling security and stability. But now, apps can extend the system and offer services to other apps, and run within those sandboxes. For instance, an app could now offer photo filters within the Photos apps.

Federighi demonstrated how Pinterest could create a "share sheet" that works within the Safari browser, and how Bing Translate could now run as a service within the browser changing the page from one language to another. He also showed third-party photo filters within the Photos app, and widgets from ESPN SportsCenter and eBay within the Notification Center.

Federighi also said the system now allows for system-wide third-party keyboards, and showed Swype as an example. Other extensions expose the camera API for the first time, and let third-party applications use Touch ID, so users can use it for things like in-app purchases. (Previously, this only worked for iTunes. It's an interesting payment option, though I was surprised not to hear more about payments at the keynote.)

Altogether, this seems like a big change, making iOS in many ways much more flexible. It's still not quite as flexible as OS X or other desktop environments, but it's certainly closer. (You still don't have multiple apps on the screen at the same time, for instance.) Overall, it sets up iOS to be a much richer environment going forward.

Health, Home and Cloud Connections
The tools that are likely to have impact the most quickly are the new APIs that let developers extend their existing applications.

These include a number of new services that pull together information that was previously available in individual applications. One of the most important is HealthKit, a single place where applications can contribute to a composite profile of your health and fitness. Today, there are lots of devices and applications for fitness and medical usage, but these all live in silos. With HealthKit, the idea is that on a per-application basis, you can specify which parts of the profile you want each application to be able to access.

Federighi explained that Apple is working with providers such as the Mayo Clinic, which allows the hospital to call a user directly if it detects something is wrong by looking at the data from multiple applications.

Another new tool called HomeKit is designed to do similar things for applications that control things in your home, such as lights, locks, and thermostats. This involves a common network protocol that can control individual devices, or even multiple devices, which Apple calls Scenes. This could be integrated with Siri, so you could ask Siri to prepare your home when you're coming back after a day at the office.

Since many if not most apps today have a cloud component, Apple introduced CloudKit, a new service for hosting cloud applications, handling things like storage, authentication, and notifications.

Federighi said this would be effectively "free with limits" as the capacity would scale with the number of users. I didn't hear too many details here, so it's unclear how this will compete with other cloud hosting providers for developers. But it did sound like something many developers will want.

Gaming Gets Better 3D Graphics
The other two areas dealt more with creating applications at a more fundamental level. I was a bit surprised by how much emphasis there was on creating games.

Perhaps the most important of these is a set of APIs called "Metal," which is designed to let game designers write more directly to Apple's A7 processor (and presumably future Apple processors as well), as opposed to using the more industry standard OpenGL ES.

Federighi said Metal dramatically reduces the overhead of the instruction set, and would allow for up to 10 times faster drawing and efficient multitasking. Among the game engine developers who are working on this are Unity, Crytek, Electronic Arts, and Epic Games.

Epic Games founder Tim Sweeney (above) demonstrated Zen Garden, an iPad demo game that used more realistic materials, and had many more animations than you usually see in mobile games. He said this will be offered for free on iOS 8.

Lately, we've heard lots of methods for bypassing the heavier APIs of OpenGL or Direct X, and Apple's entry should allow for faster, more graphically rich games. It's still unlikely that we'll see mobile devices get the graphics of mid- or high-end PC games anytime soon, but it's a big step forward.

For more casual games, Apple offers SpriteKit, a 2D gaming engine introduced last year, and now is supplementing that with SceneKit, with offers 3D scene rendering.

The Coming of Swift

Finally, and perhaps most surprisingly, Apple introduced Swift, a new programming language designed to replace the Objective-C environment commonly used to produce Mac and iOS applications.

Federighi said that Objective-C "served us well for 20 years," but it was time to create a new language, which he described as "Objective-C without the C." For the description, this appears to be a faster, modern language, but one that uses the same memory management model and the same runtime, so Swift code can run alongside Objective-C and C in the same app.

Director of developer tools Chris Lattner (above) showed off the new environment, including a demo of how it runs your code as you type instructions in it. It was a good-looking demo, though the real judge will have to be Apple developers after that have had more of a chance to really use it.

I do know developers who were complaining that Objective-C isn't as modern as some alternatives, though in general I have not been hearing them ask for a new language. Still, Apple needed something to compete with the suite of Google and Microsoft tools that have been dramatically improved over the past few years, with a goal of making it easier to create mobile and cloud applications.

Altogether then, this was a show that really emphasized the "developer" in Worldwide Developers Conference, which hasn't always been the case. The conference had a tagline of "Write the Code. Change The World." Whether the world will change is an open question, but the tools introduced certainly mark a change in how Apple apps are written.

Automatic Renewal Program: Your subscription will continue without interruption for as long as you wish, unless
you instruct us otherwise. Your subscription will automatically renew at the end of the term unless you authorize
cancellation. Each year, you'll receive a notice and you authorize that your credit/debit card will be charged the
annual subscription rate(s). You may cancel at any time during your subscription and receive a full refund on all
unsent issues. If your credit/debit card or other billing method can not be charged, we will bill you directly instead. Contact Customer Service