Last week I made the annual Apple developer pilgrimage to San Francisco to attend my third WWDC. Unsurprisingly, the week was filled with exciting announcements that will shape the apps of the next year and lend insight into where the industry is heading. From my personal observations and talking with other developers at the conference, two themes stood out at WWDC 2015: a maturing iOS and an open Apple.
It’s remarkable to think back just a few years to when iOS was considered a young platform. With no copy/paste, no customization, no multitasking, and minimal support for automated testing, it was easy to see the immaturity of the platform and the industry as a whole. Over the past several years, we’ve watched iOS grow, the visual design evolve, and new product categories emerge. This year’s WWDC announcements emphasize the maturation of both the platform and the industry.
For starters, iOS 9 introduces several power-user features we’ve been waiting for, mostly focusing around multitasking. When multitasking was first introduced several years ago, it was limited to suspending apps in the background until they were needed. Apple later achieved a similar effect to true multitasking by making it where only one app was actually running at a time (with a few limited exceptions). iOS 9 brings true multitasking to the iPad in three categories: picture-in-picture, Slide Over, and Split View.
Picture-in-picture allows video apps to keep a small player running on the screen while the user continues to use other apps. Slide Over and Split View both allow two apps to run side by side, such that you no longer have to leave one app to go to another. Keyboards also get a big upgrade with the ability to use two-finger gestures to quickly reposition the cursor and highlight blocks of text.
iOS 9 also takes steps to blur the line between “apps” and “the web” by integrating in-app results with web results in Spotlight searches and allowing apps to respond directly to web links. It would be hard to make a case that the iPad is just a device for consumption. These types of features continue the evolution of iOS into an increasingly powerful productivity and creation tool.
Perhaps the most evolved new feature of all is Proactive Suggestions, where the OS will detect patterns in your behavior and begin to proactively do things for you. For example, if you always go for a run at 7am, then iOS may automatically launch your favorite music app when you plug in your headphones in the morning. Siri gains some new capabilities as well, such as the ability to understand limited application context. For example, if I’m looking at a webpage, I could say “Siri, remind me about this later”, and the web page link would automatically be included in the reminder.
On the developer side of iOS 9, Apple introduced several improvements to their automated testing tools, including a new UI testing framework that makes it easier than ever to automate the process of testing common user-facing application interactions. In addition, they have integrated unit testing code coverage reports into Xcode, making it easy for developers to see which areas of their application are well-tested and which areas need additional tests built. Automated testing is one of the most important things to ensure the long-term stability and reliability of applications, and is a staple of mature industries.
Historically, Apple has been notorious for their secrecy, however, we have recently seen a distinct trend toward a more “open” Apple. Two weeks before WWDC, Jeff Williams, Apple’s senior vice president of Operations, announced in an interview that we would be seeing a native SDK for the Apple Watch at WWDC. This kind of off-the-cuff announcement is quite unusual for Apple, but is a welcome change.
The most significant example of this was the announcement that Swift 2 will be open sourced and continued development will take place in the public developer community. The importance of this announcement for developers cannot be overstated. Apple has provided a true value-add for developers who invest time in learning Swift. In addition to building apps for Apple’s platforms, we will now be able to use the same language to develop for other platforms. An open source Swift means that the developer community is able to build custom tools for improving our daily workflows and influence the way the language will grow and change over time. Rather than being “Apple’s language”, it’s now “our language”, and we want it to succeed.
Continuing on the theme of openness, Apple announced that their developer forums will no longer require logins to view. The developer forum has always been a wealth of information, but the login requirement prevented search engine indexing, which made information more difficult to discover. As a developer myself, I would often go to apple’s forums only as a last resort because of the extra effort it took to login. Opening the forums to the public reduces a small barrier, making it easier for developers to be more productive and build better products.
I’ve spent so much time praising Apple for its openness and all the new features in iOS 9, I haven’t even touched on the highlights of OS X (like natural language support in Spotlight or improved window management), the native SDK that we’re getting for Apple Watch apps and third-party watch face complications, or Apple Music. For more information take a look at the feature highlights directly from Apple:
And for further discussion, feel free to reach out to me on Twitter at @johntmcintosh. I’m always interested in hearing what fellow developers think about the latest Apple releases.