As you may have heard Apple’s World Wide Developer Conference was last week in San Jose, California showcasing all of the latest updates across all of the Apple platforms. Since Apple and Unix technologies are something I am heavily invested in I thought I would take a few minutes and provide an overview of the Siri and Networking updates that came out of WWDC 2018 that I found interesting. And, as an added bonus, I also wanted to briefly run down the latest ARKit updates and get the thoughts of Justin Davis, who works with ARKit regularly, to see what his take is on these latest updates.
What’s New in 150 Words or Less! 🚀
This year the latest macOS update is called macOS Mojave (10.14) and contains many new performance and security updates as well as a new light and dark mode. Xcode 10 beta’s are now out with A LOT of performance, debugging, and testing enhancements for the LLVM compiler and Swift 4. FaceTime is now getting a group chat mode. watchOS 5 beta’s are now out with improvements to Siri, new walkie-talkie capabilities, and a brand new workout competition feature. And last but not least, there was a subtle mention that the Marzipan project does exist. Apple is test driving phase 1 of Marzipan with this year in Mojave with ports of UIKit projects like News, Stocks, Voice Memos, and Home to macOS to see how they run.
Apple’s New Network.framework 👨💻
A very exciting announcement that came out of this year’s WWDC was that Apple announced a new Networking framework as an alternative to BSD sockets, entitled Network.framework. The goal for this new framework is to abstract the tedious parts away from dealing sockets while still providing new features and support for mobility challenges that require a lot of coding. As an example, delegating connection handoff when connectivity is poor, DNS resolution on a host name, and automatic transport layer security for each connection. These are just some of the tedious challenges that a developer would face if developing a modern mobility application with sockets that Network.framework is trying to solve. Creating connections with Network.framework seems to be very close to using sockets in some areas, but in others, it seems to provide nice APIs around the challenging tasks.
When deciding the networking stack of your application, Network.framework or URLSession can now be evaluated based upon the needs of the application. One interesting point was that Apple made a recommendation to not use SCNetworkReachability to detect internet connectivity. Apple wants you to move away from checking for network reachability in this way and instead react to events sent to you about the state of the connection through connection viability. Overall, some very interesting features here in the new Network.framework and I am excited to get in and try it out in an app.
Siri Shortcuts 📱
Siri Shortcuts is a new feature that I have been wanting for a long time now. Siri Shortcuts now allows iOS developers to add a shortcut phrase to their app and have Siri pick up that phrase and take action on it. For example, let’s say I have a security camera setup at my house that I could access over my phone. In the security camera app I could add a Siri shortcut to have Siri open up my application and display my video feed without having to do it manually. Making this a great feature for accessing information and applications on the go.
One thing that I am interested to see is if there will be shortcut extension to Apple apps like Apple Health since Health is a closed source app. Possibly this is where the Shortcuts app will now come into play? The new Shortcuts app gives you the ability to configure rules, phrases, and events that Siri can take action upon to prompt you to interact with it. So using my Health example here, possibly I could pre-configure a shortcut in the shortcut app to allow me to add carbs to my daily total just by telling Siri to do so via dictation.
Augmented Reality 🎨
Apple jumped right in this year talking about the robust set of updates to ARKit and Augmented Reality across all of their platforms. One of the major announcements was the release of the new USDZ file format. USDZ allows content authors to embed 3D objects and animations right into the context of Messages, Safari, or Mail. This could be a big deal for marketers or companies that want to display 3D assets or animations of their products over the web. Using USDZ would provide customers a way to quickly inspect and interact with their products while shopping on the web.
Another major announcement was the release of ARKit 2. ARKit 2 included a number of major enhancements making an already very advanced library even better. To get some more insight on the release of ARKit 2 I wanted to consult with a former colleague and AR developer, Justin Davis, Lead Developer of Trekk, to get his thoughts and opinions on the release of ARKit 2:
Justin told me was impressed by the latest release of ARKit and had 3 main takeaways after reviewing the new release. The first was how ARKit can now tie a persistent experience to a location instead of just using a target. What makes this so special is that the location can then be used at a later point in time to re-enact the 3D experience and you do not need the target.
instead of just using flat or 2 dimensional targets. What makes this so special is that this opens up a whole new dimension of objects to work with and gives the person scanning a wider field of vision to work with.
The third major takeaway was the support for multi-user experiences. In the keynote their were two uses interacting at the same time with the Lego demo, but Justin mentioned a good point that 2 users worked well, but how well would a demo like this scale with say, 10 or 20 users?
In Summary ⌛️
In summary there are many things to be excited about coming out of this years WWDC. However, one thing that I think is happening is that Apple is pouring the foundation for what is to be more and more cross platform collaboration in years to come. The reason I feel this way is due to the admission that project Marzipan is real and is in its early stages. This brings opens up many future doors and allows for the possibility that more code code be reused across platforms. Excited to see how phase 1 goes for News, Stocks, Voice Memo, and Home, and also what lies ahead for Apple development. Thank you for reading!