The Apple World Wide Developer Conference (WWDC) is an annual event for developers who want to see the latest announcements from Apple. I was blessed with the opportunity to attend WWDC19, and I’m grateful that LINE covered all the expenses to make it happen. As this was the first time attending this wonderful conference for all iOS developers, I wanted to make this trip worthwhile.
Traditionally WWDC consists of two main parts: sessions and labs. Sessions are where Apple developers present their new tools or technologies on stage. Labs are where developers can meet up with Apple developers to ask questions or clarify any issues they may have in developing for Apple platforms. I decided to attend as many sessions and labs as I can to get first hand information and answers to some of our team’s iOS development questions.
The announcements made at WWDC19 were way above my expectations, with many new technologies and tools introduced, such as SwiftUI and Xcode 11. Apple made a huge step this year by announcing many useful features on both iOS and macOS. Furthermore, during WWDC19, engineers from all over the world were able to learn various new tools for iOS development and get to know the latest trends of iOS development from the developers working at Apple or other famous companies. The interaction between developers was an experience in and of itself during the event.
Last but not least, WWDC19 also provided developers with various activities that help us have some fun during the event, such as live music which made the atmosphere of the event even more special.
First day and keynotes
Before hitting the road to attend WWDC, we need to be well prepared. After I was selected to attend the event, I instantly searched the internet for last year’s WWDC event and tried to get as many information as possible. First and foremost, I learned that the WWDC keynote is so important that people will arrive at the main venue way in advance to get front row seats. I decided to arrive at the venue at six in the morning, four hours earlier than when the keynote was scheduled to start. Even so, the number of people already waiting in line to attend the keynote was incredible, with thousands of people eagerly awaiting entry. My diligence paid off in the end as I did get a seat not far from the stage, so I could get a closer look of Apple CEO Tim Cook and Craig Federighi, senior vice president of Software Engineering. It was really exciting to see these two key Apple figures announce great news for iOS developers, such as SwiftUI, a revolutionary tool for easily writing Swift code to build your iOS UI.
When attending WWDC, one of the most important things to do is choosing the sessions you want to attend wisely. All the sessions will have video archives that you can check online after the event, so make sure you only choose the sessions that you want to attend in person and use the remaining time to attend labs. I personally chose sessions related to SwiftUI as the introduction of SwiftUI was one of the most exciting news for me, and I wanted a first-hand look at what it was about. I also chose sessions about Xcode 11 as the release of the latest version was another huge announcement. And I needed to know what the new features were and how it helps us to develop and debug more efficiently. Because I’m an automation developer at LINE, I also needed to know the latest announcements on CI and automation in Xcode. That’s why I attended the Testing in Xcode session to learn what Apple has in store for the future of CI and automation in iOS and macOS development.
When you attend labs, you can ask questions directly to Apple developers, and there are two varieties of labs: technical labs and App Store labs. In technical labs, you can ask technical questions to Apple developers. Whereas in App Store labs, you can ask questions related to App Store or how to make your app more successful. In my opinion, going to the labs may provide you with a more lasting experience than attending sessions, because you don’t always get the chance to ask an Apple developer about the many issues that you may have had during development. I prepared tons of questions that I wanted to ask Apple developers so that we could solve problems that my team and I were having.
As an iOS CI and automation developer at LINE, the most important lab to me was the “Simulator, testing and continuous integration lab.” There are many issues related to iOS CI and automation that I have encountered during development, so I had many questions that I wanted to ask. While I was asking different questions, I received many valuable answers from Apple developers and I was also able to get to know some of the future plans for CI and automation at Apple.
I also come across many issues caused by the instability of XCUITest, which is an official Apple UI testing framework for iOS. The Apple developer also shared his opinions and experience on the unreliable tests, saying that you should be aware that the fault tolerance of a machine is way less than a human being so UI tests are prone to being unreliable. If you keep that in mind before you start your UI tests, you can have more stable UI tests.
One thing I’ve learned from talking to Apple developers in labs was that when you go to a lab, make sure you prepare a demo or sample code related to the issues you are having so that you can show them to Apple developers. Preparing material like that can help them understand your problems quickly and speed up the whole process.
During my five days at WWDC, I spent most of my time staying at the lab getting as much information as I could to help our team’s development on the iOS platform. The answers that I brought back to my team was helpful for all of us. I also want to thank LINE for providing me with such a wonderful opportunity by allowing me to attend WWDC19, The experience I gained from the event will help my team create a better product. Finally, I would like to wrap up my key takeaways from WWDC19 as follows:
- The lab is more important than sessions. If you have time, join labs first because you can always watch video archives of sessions later.
- Ask questions in labs with a demo or sample code, it helps Apple developers understand your questions easier and faster.
- There will be lots of developers in labs trying to ask questions so you will need to wait in line. It is definitely worth your time to arrive early and get your questions fully answered.