Earlier this month, I attended the Apple Worldwide Developers Conference (WWDC) 2017 in San Jose, Ca for a second time.
There was a lot to take in. With so many sessions scheduled at the same time, I had to pick and choose the ones I could attend in person from the ones I could watch online at a later time.
Take a look at some highlights from the sessions I could attend at Apple's WWDC 2017:
A major announcement at the conference was the release of iOS 11 and MacOS High Sierra—already available to developers in beta. Both are officially scheduled for public release this fall. There were also some hardware announcements—updates to the MacBook lineup with the new Intel chip code named Kaby Lake, new 10.5” iPad Pro, new line of iMac Pro and the HomePod. For the purposes of this post, I am mainly going to focus on the key new features that were announced for iOS 11.
1. iOS 11 and WebRTC: Apple has announced that iOS 11 and MacOS High Sierra will come with WebRTC support built in natively instead of it being supported via plugins. Created originally by Google, the WebRTC web protocol is supported natively by most browsers including Chrome, Firefox and Opera. However, Microsoft and Apple were holding out—until now. Things have turned around in 2017 with Apple announcing support for WebRTC at this year’s WWDC, and Microsoft announcing support for WebRTC earlier this year within their Edge browser.
WebRTC allows developers to build exciting peer-to-peer audio and video applications on the web. Now that all major web companies and browsers natively support WebRTC, it will be interesting to see how developers will take advantage of this new web protocol.
One takeaway that excites me is that web-based unified communication systems that relied mainly on the Chrome browser can now be deployed on all major browsers.
2. Security: Security and privacy are important. In early 2016, Apple had informed iOS developers that beginning January 1, 2017, all iOS and MacOS applications will be required to use secure network connections over HTTPS, and that HTTP connections will no longer work with new submissions. However, because developers couldn’t update their apps in time, Apple gave an extension to this requirement without giving an exact date as to when this requirement would go into effect. Based on what Apple discussed this year at WWDC, it seems like this requirement will go into effect in the fall of 2017 with the release of iOS 11 and MacOS High Sierra.
Take a look at some of the other security changes that Apple is recommending:
- Stop using RCA and CBC encryption mode and instead use AES-GCM and/or ChaCha20/Poly1305 Encryption
- Stop using MD5 and SHA-1 hashes and instead use SHA-2 family of hashes
- Stop using RSA public keys lower than 2048-bit and instead use ≥2048-bit RSA or Elliptic Curves Public Keys
- Instead of http, SSLv3, TLS 1.0 or TLS 1.1 start using HTTPS and TLS1.2+ protocols
- Start utilizing Certificate Transparency and OCSP Stapling Revocations
Lastly, even though Apple is strongly suggesting that all developers should be upgrading to TLS 1.2 protocols, they are already working on integrating with the upcoming TLS 1.3 protocols to make sure that as soon as TLS 1.3 becomes a standard, iOS and MacOS devices are ready to take advantage of them right away.
3. Machine Learning: With iOS 11, Apple is giving developers access to Core ML Framework that allows developers to create a more engaging experience for their users. The greatest part of this Core ML Framework is the fact that the app’s data doesn’t need to leave the device to be analyzed, which is again great for security and putting the user's mind at ease.
Two main areas of ML features that should help a lot of developers is Vision and Natural Language Processing. Supported Vision features include face tracking, face detection, landmarks, text detection, rectangle detection, barcode detection, object tracking, and image registration. NLP APIs use ML to deeply understand “text using features such as language identification, tokenization, lemmatization, part of speech, and named entity recognition.” This will especially be useful when searching text in different languages, as well as, when searching for a keyword without knowing the tense of that word.
The new ML frameworks will enable a vastly improved user experience of unified communication applications and platforms.
4. Wi-Fi Connectivity: With iOS 11, Apple is making it much easier for you to share your Wifi password with others without them having to type in the password. The way it works is that if a new device tries to connect to your network, the devices that are already connected get a pop-up asking if you want to share your password, and if you choose to do so, the new device will get the password and iOS 11 will autofill in the password and connect the device to the network.
Another area of Wi-Fi connectivity improvement that Apple has introduced in iOS 11, is the release of a new API called NetHotspotConfiguration, which allows developers to connect to Hotspot 2.0 networks more easily via code. I am interested in seeing exactly how much improvement this API has made over what is available today.
5. Multi Path TCP: Apple just announced that iOS 11 will have support for MPTCP but requires some updated to the backend servers as well. This is very similar to what they have been doing with Siri since iOS 7 and Wi-Fi Assist since iOS 9.
For VoIP apps, this would be perfect for seamlessly switching between Wifi and cell connectivity without dropped connections.
6. Location Permission Changes: One minor change that iOS 11 is making to put users at ease is that with iOS 11, all apps will need to have the three levels of permission for location access, namely: Never, Always and While in Use. Even though this granular level of permission has been available in the past, developers were not forced to provide the “While in Use” option. With iOS 11, this permission level is mandatory so users have peace of mind that no app can be tracking their activities when they are not using the app.
7. Notifications: Local and push notifications have always given the developers the ability to keep the users informed of timely and relevant content as needed. However, with the recent changes to the notifications, developers can now customize the notifications so they fit the look and feel of their apps and allow the users to consume and interact with the notifications right from the pop-ups without having to launch the applications.
For example, in our unified communications apps, we can now deliver voicemails via push notifications and allow the users to listen to the voicemail without having to launch the app itself.
To summarize, new features in iOS 11 will add additional levels of flexibility and customizations, that I believe, will be welcomed by both developers and end users for an out-of-the-ordinary user experience.