I just wrapped up my second year at WWDC! It was great meeting so many people, making new friends, and talking to Apple engineers in the labs.
Some things I thought were especially noteworthy:
- iMessage. Apple completely revamped their iMessage app to include recorded handwritten messages that you can play back, bubble and screen effects, music sharing, reactions, and more emphasis on emoji, including suggestions and 3x larger sizes. However, I'm most excited about iMessage apps! Not only can non-programmers now quickly make sticker packs without writing a single line of code, but also developers can create interactive iMessages. People can download these apps from an app store in their iMessage apps. Furthermore, the messages can be saved in sessions, so people can save screen space - this is especially useful in group chats. For example, in Apple's demo iMessage app, you see just the final ice cream and the history ("we added scoops") instead of a bunch of half-finished ice creams.
iMessage apps have a lot of potential: users in the future could easily make payments, talk to businesses, book appointments, request rides, order food, play games with friends, etc. The changes so far and in the future could help iMessage catch up to and maybe replace apps like Facebook Messenger, WhatsApp, GroupMe, Slack, and Snapchat. (See this post from a16z for more about where iMessages could go: http://a16z.com/2015/08/06/wechat-china-mobile-first/) You can download Xcode Beta to try making an iMessage app now! It's still a little buggy, as to be expected from a beta - as I was developing, I noticed glitches between autolayout constraints and the Messages framework. A couple Apple engineers explained some of the hacky things they were doing at the moment involving iMessage app view controllers, so continue filing bug reports if you notice anything strange!
- SiriKit. Apple is also opening up Siri to developers.
- Swift. It was fun seeing an overview of all the proposals for change made by the open source community for Swift 3, with a focus on clarity and compatibility. You can see a full list of proposals here: https://github.com/apple/swift-evolution/tree/master/proposals. I'm also excited about Swift Playgrounds, which is an iPad app Apple made for kids to learn how to code. In addition to the dedicated coding keyboard, the graphics on it are really fun - I'll definitely download the app and try it out when it's released this fall!
Here are also some links to the talks that I really enjoyed, in no particular order:
- What's New in Swift: https://developer.apple.com/videos/play/wwdc2016/402/
- Optimizing App Startup Time: https://developer.apple.com/videos/play/wwdc2016/406/
- Thread Sanitizer & Static Analysis: https://developer.apple.com/videos/play/wwdc2016/412/
- System Trace in Depth: https://developer.apple.com/videos/play/wwdc2016/411/
- Apple Design Awards: https://developer.apple.com/videos/play/wwdc2016/103/
- Going Server side with Swift Open Source: https://developer.apple.com/videos/play/wwdc2016/415/
- Debugging Tips and Tricks: https://developer.apple.com/videos/play/wwdc2016/417/
- What's New in LLVM: https://developer.apple.com/videos/play/wwdc2016/405/