Apple announced something far more important than shiny new gadgets at its Worldwide Developers Conference (WWDC14) in San Francisco overnight Australian time: a fundamental shift in the architecture of its mobile operating system iOS. It’s brought back the excitement, at least for developers.
Apple, the world’s biggest company by market capitalisation, is competing to service your digital future — some might say control it — against global No. 3 Google and No. 4 Microsoft. Each is trying to persuade you that its combination of desktop and mobile devices, operating system and core application software, back-end cloud services, and ecosystem of third-party hardware accessories, apps and services is the one that will best make you a socially acceptable human being and, to a lesser extent, be most useful.
Each company looks at the challenge in different ways, at least publicly.
Apple is the designer. It’s all about the user experience (UX). Indeed, Apple’s strength has been its total control of UX in both hardware and software. If you play with Apple, you play Apple’s way.
Apple’s challenge is to leverage its front-end experience by supporting it with solid back-end infrastructure — something it hasn’t always achieved.
Google is the engineer. It’s all about data and how it can serve you. Visual design is an afterthought. Google’s Android operating system runs on hardware from myriad manufacturers — Samsung has the biggest market share — with the freedom to interconnect and tinker. But the price paid is an inconsistent, clunkier UX.
Google’s strength is that it knows all about you. Google’s challenge is to leverage all that back-end data by delivering smooth, desirable applications — desirable to consumers, that is, not engineers.
Microsoft is the businessperson. It’s all about their traditional dominance of the business and corporate environment through Windows and the Office application suite, which together deliver roughly half of the company’s revenue.
Microsoft’s strength is its brand recognition. Its challenge is to come up with a strategy that can leverage that into continued success in the new, more consumer-oriented mobility-cloud-big-data world, where the company is in distant third place.
All three of these empires are really doing the same thing, though. They’re building the infrastructure and tools for a world made of data — data you create yourself, some of which is called “media” or “documents” or “content”, and data that is created automatically as a result of your activities. The differences between them are really just details.
Do they make their own smartphones or leave that to the market? How much control do they exert over the development of third-party apps? Do they provide cloud infrastructure that developers can use, like Microsoft’s Azure, or must they find that elsewhere, say at Amazon Web Services? How do they manage their app marketplace? How much personal data do they sell? Is that at an individual level, or only in aggregate?
At WWDC14, Apple announced changes that continue the consolidation of its imperial domain. The new Mac operating system, OS X Yosemite, appears ever more like iOS. Dropbox-like file storage, shared across your devices, is provided iCloud Drive. There’s a long-overdue upgrade to the iOS on-screen keyboard, and better integration between Macs and iDevices.
But the biggest change was in the new iOS version 8.
App developers will get far greater access to the operating system’s internals, to Apple’s iCloud services, and even to each other’s apps. No longer does everything have to be done Apple’s way. Developers can build their own modular toolkits on top of Apple’s, or create clusters of inter-communicating apps.
Apple is also providing new toolkits of its own: HomeKit for home automation and security apps, and HealthKit for health and fitness apps. Both will come in handy for Internet of Things (IoT) developers.
As Quartz tech editor Dan Frommer put it:
“Many of these new improvements will never be known to their users. They will, however, lead to better, more useful, and more entertaining products in the future. And that’s the point.”
This isn’t groundbreaking. Android has long allowed for third-party keyboards, for example, including the superb SwiftKey that learns your writing style. Apple’s introduction of third-party widgets to the iOS notification screen is still but a shadow of Windows Phone 8’s excellent live tiles.
Within the cloisters of Apple’s walled garden, though, iOS 8 represents an opening of the shutters. A fresh breeze of app development will soon follow. But after the disappointment with the merely incremental iPhone 5S last September, Apple needs to match that wave of innovation with a similarly breakthrough iPhone 6 this year.
Wow, looks like Apple are copying Java, the most ubiquitous framework language on the planet. Pity they didn’t make life easy for everyone and adopt it as there main programming language/API as per Google, typical Mac balls-up when it comes to non-UX initiatives.
I was doing a clear out of my apps the other day. Google Chrome appeared ( I never use it). I looked at the file size – 6.7GB from memory. Deleted!
@Patrick Brosnan: When OS X first came out, Apple supported Java as a first-class language for writing Cocoa apps.
The Java-Cocoa bridge was maintained for years, but the advice every third-party Mac developer would give you if you asked them was that you were much better off taking the time to learn Objective-C. Java’s brain-dead type system and heavyweight runtime were a very bad match. The Java-Cocoa bridge was an abject failure, and was deprecated in 2005.
From reading the documentation on Swift, it’s pretty clear that seamless interoperability with the Cocoa and Cocoa Touch frameworks was a major design constraint, and one that would have made it hard for Apple to just reach out and adopt an existing language.
It’s worth remembering that to get Java running acceptably on Android, Google had to write their own virtual machine from the ground up, and then spend years in court with Oracle over their right to have done so. I’m pretty sure Apple are happy to have avoided that fate, too.
“Java’s brain-dead type system”
Yeah, I’m not sure about that, using emotive language doesn’t help your argument. Java has a very clear and safe type system. I think that if you’re come from a typeless or sloppily typed language (Javascript, Perl) you may have a bit of a learning curve but you’re code will benefit in the end (less type cast errors). As to the runtime, well I think you’re living in the 90s there. It sounds a bit like you’ve worked exclusively on Macs using their IDE.
“6.7GB from memory”
I think your memory’s faulty …