WWDC 2017: What Did You Miss?
Last Updated: June 6th 14:00 CEST
Apple’s Worldwide Developers Conference is here. What does the giant have in store for us app developers? Let’s dive in.
The Worldwide Developers Conference is Apple’s annual conference, which takes place in San Jose (California, USA). Apple typically has two annual conferences: WWDC in the spring, focused on developers, and a more general event in the fall.
During the latter Apple typically unveils the new iterations of the iPhone and other hardware, whereas the spring event is more focused on iOS, macOS, tvOS and watchOS. WWDC also includes a great number of “developer sessions”, in which the specifics of new features, platforms and tools are demonstrated in a hands-on manner.
In This Article:
- Most Important Updates From WWDC
- WWDC 2017 At A Glance
- All-New App Store Redesign on iOS 11
- Xcode 9: Upgrades, Upgrades, Upgrades
- New SDKs: ARKit, Core ML, Metal 2
- iPad, Mac, HomePod, Swift Playgrounds
It’s greatly recommended for app developers to check out current and previous WWDC videos, because they include a ton of learnings and best practices. You can also use the excellent asciiwwdc.com to search full-text through WWDC videos.
Watch the WWDC 2017 Keynote here. Make sure to download the official WWDC 2017 app for iPhone, with which you can live stream developer sessions and talks. Registered developers can download the new iOS 11, Xcode 9 and macOS 10.13 betas at developer.apple.com/download.
Note: This article is mostly written for iOS developers, both beginner and intermediate, developing on indie, B2B and B2C apps. If you’re looking for a more general roundup of WWDC 2017, check this article.
Get complementary access to my course, Zero to App Store, and learn how you can build a real-time chat app with Firebase and Swift!
Christmas is early this year! Where WWDC 2016 was disappointing, this year’s conference really overdelivers on a wealth of updates, upgrades and changes.
These are the most important ones:
- The App Store has an all-new redesign in iOS 11. Coming this Fall, developers now get more opportunities to get featured, reviews have been revamped, and your App Page has more meta fields like a 30-character subtitle. You can now feature In-App Purchases directly on your App Page, and you get the opportunity to directly communicate updates in the “What’s New” section on your page.
- Xcode 9 has gotten a ton of upgrades. Swift Refactoring is finally here. Swift 4 is included, and has a fall-back for Swift 3. The build system has been improved. The code editor has been rebuilt from the ground up, so code completion, scrolling and editing is super snappy. iPhone Simulator has a new look, and you can now run multiple instances. Oh, and… wireless debugging!
- Apple’s joining in on augmented reality: with ARKit you can now create your own augmented reality apps. I have to say, it looks stunning! Both iOS and the Mac get a Metal 2 upgrade – with incredible graphics – and iOS gets an entire SDK dedicated to machine learning: Core ML.
- iPad gets a bunch of interesting upgrades, both in iOS as in hardware. There’s a new 10.5″ Pro model with improved performance. The new Dock (the app bar at the bottom of the screen) has gotten a ton of improvements, including more UI interactions. The same goes for multitasking and app overlays – major improvement! Oh, and iPad now gets a Files app that supports drag and drop. Yes, you read that right – you can now access any file on your iPad, and drag files, text, URLs and images across your apps! And if you’re a fan of the Apple Pencil, you’re in for a treat on iPad.
Many of these changes look like consumer-facing updates, but as an app developer, you can of course seize them as business opportunities.
Especially the new App Store design will prove an opportunity for app marketing and App Store Optimization. The new SDKs like ARKit will open up possibilities for new types of apps, and the updated Xcode 9 makes sure you’re more productive as ever, building your apps.
So… what’s the overall theme and focus of this year’s WWDC?
Note: As always, Zero to App Store, my iOS development course, will be kept up-to-date with new iOS, Xcode and Swift versions for free for all customers. It doesn’t matter whether it’s iOS 11 or iOS 20 – I’ve got you covered.
» Learn more about Zero to App Store
The “slogan”, visible on the WWDC front-page, tells a little bit of what’s to come in 2017:
Technology alone is not enough.
Technology must intersect with the liberal arts and the humanities, to create new ideas and experiences that push society forward. This summer we bring together thousands of brilliant minds representing many diverse perspectives, passions, and talents to help us change the world.
The previous iteration of WWDC, in 2016, already focused on diversity, and this statement shows that Apple wants to focus on any individual, and empower society as a whole.
The era where Apple is a workhorse for the creative professional is over, instead, Apple focuses more and more on the modern individual, adjusting their products for everyday use. The above slogan adds to that, and hints at a range of products that move people closer together.
Here, check out the introductory video for WWDC 2017, aptly named “Appocalypse”:
If that doesn’t underscore the importance of apps for the world… Now, let’s take a more in-depth look at some of the changes.
The App Store is serious business once again.
Over 1 billion devices have access to the App Store, and the App Store gets 500 million visits per week. Since 2008, Apple paid out over $70 billion USD to developers, of which 30% in the last year. That’s a world-class marketplace, app developer!
The most notable upgrade is… the all-new App Store design! The App Store now looks much more like the Apple Music app, and though most of us didn’t like the new Apple Music app, the new App Store design looks great.
Its UI is redesigned from the ground up, and follows a different storyline than the App Store did up until now. There’s 5 new tabs: Today, Games, Apps, Updates and Search.
Apple focuses more on editiorial features, giving you more opportunities to get featured. The Today tab, as the name says, shows new featurings every day, and includes editiorial content. You’ll notice that the new App Store “scrolls” much like a social network app, like Instagram.
Separating apps from games is a great move. If you’re a game developer, you have a full tab at your disposal, only showing featured games. Likewise for indie app developers, including productivity apps. The App Store now also shows you apps that aren’t specifically available for your device, i.e. showing iPad apps on iPhone, making a more unified experience.
Your App Page itself got a major update (see example). Your App Page listing now features:
- Your app icon, app title, a subtitle and your publisher name.
- A large bar with your app’s rating, including a numeric rating, stars and the number of total ratings. The same bar also shows featurings of your app (social proof!) and an age rating.
- What’s New, giving you the opportunity to textually highlight the latest version of your app, including updates, news and new features.
- Screenshots and videos – nothing’s changed there, so make sure you always include a textual caption on top of your app’s UI!
- A bit hidden – the page also shows your app description. It appears that the description is becoming less and less important…
- Your App Page shows whether your app supports iPad and watchOS. It also shows the publisher of the app (you!), and I’d be surprised if that part of the UI won’t include a publisher logo, photo or avatar in the future.
- You also get the opportunity to showcase In-App Purchases, and users can purchase them directly from your App Store page (cool!). In-App Purchases feature an icon, a title, a description and a pricetag.
- Finally – Ratings and Reviews. This is a big upgrade! At a glance, a user now sees that you’ve got a 5.0 out of 5 rating, and a breakdown of 1-to-5 star ratings, and how many users have given them. Below that, a user can directly give your app a rating, by tapping one of the 5 stars. Your App Store page also features textual reviews as highlighted ratings, including featurings and awards. Ratings count, more than ever!
Hat tip to @thomasbcn for many of these updates, and what they mean for indie app developers. Make sure to follow him on Twitter – his App Store Optimization game is on point.
Xcode 9 got more upgrades than Agent Smith in The Matrix Reloaded! There’s something for every app developer, including:
- Swift 4. It’s still in beta, but already included with Xcode 9. When Xcode 9 is released this fall, it’ll most likely have Swift 4 enabled by default. Check out some Swift 4 chances here.
- There’s an all new editor. Xcode’s editor has always been quirky, and code completion was notoriously CPU-intensive. No more! Or… no more so far, at least ;-) Scrolling has been improved, so has code completion, and you can now better customize code fonts, line spacing and cursor type.
- Swift Refactoring! Finally, you can easily rename functions, classes, files, and transform your code. With the new “Extract” feature you can update and refine your code structure, without losing track. If you’re unfamiliar with refactoring, now’s the time to get to know it.
- Wireless debugging! You can now install, run and debug your app on your iPhone without using a Lighting cable. As long as your Mac and iPhone are on the same network, you can wirelessly debug your app. That’s convenient, but it (hopefully) also allows for greater flexibility with networked build servers.
- iPhone Simulator’s gotten an overhaul. It’s UI is updated, with a slick style, and you can now run multiple instances of Simulator at once. This is ideal for multi-user apps and games, so you can properly inspect and debug realtime updates and networking in your apps. You can already do UI tests on Simulator, but with multiple instances, that’s now faster and more effective.
- Lastly, a feature I’m dying to try out during a production process, is faster indexing. Indexing and search are notoriously slow and CPU-intensive in Xcode, but Xcode 9 has a rewritten and upgraded indexing engine that’s up to 50x faster. We’ll see!
Logically, Xcode 9 also includes the new SDKs. As usual, you can install the beta of Xcode 9 via developer.apple.com/download. Keep in mind that this is beta software, so it’s bound to have unresolved bugs. Check out the specifics on Xcode 9, here.
You can easily install two versions of Xcode side-by-side. In
/Application, rename your current Xcode to
Xcode_8.app, then install Xcode 9 via the DMG/XIP you downloaded, install it, and rename it to
Xcode_9.app. Within Xcode you can choose which Xcode CLI version you want to use, if you need that.
Get complementary access to my course, Zero to App Store, and learn how you can build a real-time chat app with Firebase and Swift!
Xcode 9 and iOS 11 include a number of new Software Development Kits (SDKs), most notably ARKit for augmented reality, Core ML for machine learning and Metal 2 for graphics processing.
Augmented Reality with ARKit
With ARKit you can create augmented reality environments. Augmented reality is a close cousin of virtual reality. With it, you can overlay 3D visual graphics and effects on a normal camera image, blending the digital and real world, like this:
ARKit uses Visual Inertial Odometry to track the 3D objects and the world around it. It uses both computer vision and accelerometer data to “sense” depth and positioning, accurately drawing the 3D image on top of the 2D camera input, effectively blending the two together as one.
ARKit runs on both iPhone and iPad, but appears to be limited to the Apple A9 and A10 chips, i.e. iPhone 6S and upwards. ARKit can place objects on flat surfaces, and also can apply the correct amount of lighting and shadows.
More info on developer.apple.com/arkit.
Machine Learning with Core ML
Another newcomer is Core ML. It’s a suite of SDKs for machine learning, computer vision and natural language processing. With it, you can integrate trained machine learning models in your app.
You can train models directly on the device with on-device processing, but you can also convert training data and models from 3rd party tools like Caffe, Keras, scikit and libsvm.
Machine learning is becoming more pervasive in apps, and on-device processing is a step forward in creating offline apps with machine learning. If you’re looking to get hands-on with machine learning, this short guide comes greatly recommended: Integrating a Core ML Model into Your App
There’s simply too much updates to put in one article, but a few more things stand out:
iOS on iPad got an upgrade, most notably with more multitasking interactions. You can for instance access an app from the dock and directly place it over another app. You can also drag-and-drop images, text and URLs between apps.
iOS now sports a new Files app, which is pretty awesome. It’s exactly what you’d expect: “Finder for iOS”. You can access files on iOS and organize them in folders. Files also has support for iCloud, Dropbox and other cloud storage services.
iMessage now gives companies access to Business Chat, much like chatting with a Page on Facebook. Customers can complete transactions in Business Chat in iMessage, and reach your business via Safari, Spotlight, Maps and Siri.
Leading up to WWDC 2017, Apple announced an upgrade for its education app Swift Playgrounds (launched at WWDC 2016). With the app aspiring coders can learn the basics of Swift in a playful, yet advanced manner.
The upgrade is pretty cool: you can now use Playgrounds to control drones and robots! Apple partnered with toymakers including LEGO, Sphero, Parrot (drones) and Skoog. This introduces interesting learning opportunities, especially considering that Apple is doubling-down on machine learning.
Oh, and one last thing. At WWDC 2017, Apple launched the “HomePod”, which is a Siri-controlled smart speaker for in the home. The sound technology looks amazing, and the HomePod puts on par with Amazon’s Alexa and Google Home.
Strangely enough, the HomePod features the same trashbin-like concave-top stadium design as the Mac Pro. Let’s hope it sounds great…
Enjoyed this article? Please share it!
Most Popular Content
- How To Develop iOS Apps On A Windows PC
- How To: Build A Real-Time Chat App With Firebase And Swift
- Creating A Simple iOS Game With Swift 3 In Xcode (Part 1)
- How To: Random Numbers in Swift 3
- Understanding Model-View-Controller (MVC) In Swift
- Grand Central Dispatch: Multi-Threading With Swift 3
- How To: Pass Data Between View Controllers In Swift (Extended)