After so many years of anticipation I went to WWDC in person for the first time.

Intro

I have loved watching Apple events for so many years and have always wondered what it would be like to attend one. Years ago when I started learning iOS development my focus naturally veered towards WWDC as the specific event I’d like to attend. I knew there was a hefty admission price on top of travel and lodging, but I put it on my bucket list as something I wanted to do once.

When Apple announced they would be holding an in-person WWDC after being all-virtual for the last two years it certainly was exciting but the decision to go was actually quite difficult for me. I have been COVID cautious to the extreme for the last two years and I wasn’t sure if this was the right time to attend a large gathering in California. Since I thought this would be something I would only be doing once I also wasn’t sure if I wanted to wait for a WWDC of old where it was a week-long event and not just one day. I didn’t get into the first round of invitations so it seemed like a moot point anyway. However, when the second round of invitations rolled out I couldn’t believe it when I opened my email and saw this.

My email invitation to WWDC.

I did feel a tiny bit guilty that I got in while other indie devs I know that have huge audiences did not. But that’s not something I had any control over. I just couldn’t shake the feeling that if I didn’t go I would regret it for the rest of my life. I had less than two weeks to organize a trip I’ve dreamed about for years.

Early registration and Apple Developer Center

Sunday we were able to go to the Apple Visitor Center and then be led into the brand new Apple Developer Center to get our badges and tour the facility. The employees they had throughout the event directing people and answering questions were beyond enthusiastic. As I walked up to the Apple Visitor Center I had people yelling and clapping at me. It was hard not to be in a good mood in that environment.

RIP my notifications

I was foolish enough to Tweet a picture of the gorgeous pastries they were handing out to people in line. I didn’t think it would turn into the most popular thing I’ve ever Tweeted. At the time I didn’t know you could mute an individual thread. I was using Twitter to communicate with several people so I didn’t want to turn off my notifications for it. My phone was blowing up all day because of pastries! 😂

Apple Developer Center

I completely misunderstood the instructions on how the tours of the developer center were going to work. I thought they were only being held from 9 AM to 10 AM so I wanted to make sure that I got in. I was actually in the very first group that was taken inside! It turned out that they were still letting people in hours after I got there.

We picked up our badges inside and then were split into smaller groups for a guided tour of the building. There was an interesting variety of functionality to each of the rooms we were shown. Some had multiple computers where a class could easily be held. Some were more of a conference room (large and small ones) where a team could brainstorm and interact with Apple employees. Some of the rooms in the Apple Developer Center.

The grand finale was held in what looked like a smaller version of event spaces we’ve seen keynotes in.

What a thrill it was to sit in there and watch a presentation about the developer center.

Inside the Apple Developer Center keynote room.

On the way out we were given gift bags. As someone who collects enamel pins I was internally screaming when I pulled this out of the bag.

Apple Visitor Center

Now that the tour was done I had time to check out the gorgeous Apple Visitor Center. The walls of the bottom floor are all straight or curved glass and it contained an Apple Store, cafe, and a VR experience that I forgot to try. One interesting thing about the Visitor Center is that they sell merchandise you can only purchase in-person at this location. Unfortunately they were sold out of the t-shirts I wanted in my size.

Inside the Apple Visitor Center.

The top floor had a lovely outdoor gathering area with plenty of tables and chairs for lots of people to congregate. I immediately spotted Paul Hudson and couldn’t wait to go speak to him. It’s not an exaggeration to say that he changed my life.

By 2020 I had pretty much stopped doing iOS development as a hobby but I couldn’t stop being curious about SwiftUI. When the pandemic began I started working from home and realized that I would have an extra hour a day that I would have spent commuting. What if I spent that hour each day learning SwiftUI? I vividly remember watching this video when I was trying to decide if I should take Paul’s 100 Days of SwiftUI course.

I absolutely loved the course and am still so excited about SwiftUI. It makes me shudder to think how different my life would be now if I wouldn’t have done it. It was the first step on the journey that got me to Apple Park.

Paul’s only request for the FREE course was to post progress in social media. I didn’t fully understand why but I did as he requested. I still can’t believe how many friends I’ve made from what was a dead Twitter account with zero posts! When I developed the UIKit version of my app I was developing completely in a vacuum. I didn’t know any iOS developers and I didn’t really tell anyone besides friends and family when I released my app. Now I’m constantly sharing ideas, getting feedback, celebrating the successes of others, etc. It’s just a complete night and day difference.

Spotting those organizers

Apparently iOS developers are not morning people because I just wasn’t seeing anybody I knew show up at the Visitor’s Center. I decided to go back to my hotel and figure out what to do later. I got into an Uber and all of the sudden when we turned a corner I spotted what I thought was Mikaela and Frank. They’re two of my fellow iOS Dev Happy Hour organizers. I have never met them in person and wasn’t sure it was them, but I told my driver to stop and I jumped out of the car. Turns out it was them!

I had the best time getting to know them. We ended up waiting for it to be noon, when they would be allowed inside the Visitor’s Center to look around. While waiting I got an epic sunburn, all while having suntan lotion in the gift bag I was given. 🤦

I had already seen the Visitor’s Center so I just went to the open air seating area on the upper level. Almost immediately Julian Netzer recognized me and walked up to say hello. After I went and sat with him and Phil Niedertscheider more and more iOS developers started trickling in. I ended up having a great day there getting to know new people and people that I’ve been talking to online for two years. I’m still annoyed with Charlie Chapman for letting me try his Playdate and Frank for letting me try his Steam Deck. Now I want both of them!

The big day is finally here

The excitement was palpable as we lined up at the Apple Visitor Center on Monday morning waiting for the event to start. Normally the Apple visitor center is as close as anyone who does not work for Apple can get to Apple Park. This was actually the first time a group of guests had been allowed into Apple Park. I felt so lucky to be included in this group that was about to go inside. Before I knew it I was through security and found myself walking towards Apple Park.

The building was obviously unlike anything I had ever seen before. Just massive, unique, and beautiful.

Pictures don’t do a great job of conveying the scale. On the right side of this photo you can see how the enormous glass walls have been pushed open, somewhat similar to how an airplane hangar opens up.

This meant that people sitting inside Caffè Macs to eat and watch the keynote had a nice breeze and air circulation. Because of this and the fact that all of the events were held outside the only time you were really in an area where were fully “inside” was when you were lined up for food or in a restroom (neither a place you would linger for long). It was just perfect!

The inside had lots of open air and foliage.

Breakfast

The cafeteria was lovely and it turns out there was another version on the other side of the Caffè Macs seating area! We were free to take anything we wanted from the wide variety of choices. I felt like I was shoplifting when I left without paying. 😳

I probably should have grabbed something with protein, but when you put pastries in front of me all bets are off.

Keynote

After breakfast we decided to grab our seats. The first section was folding chairs, but the second section was lounge chairs! Here Hidde gives a demo of how we basked in comfort.

I had hoped that there would be a “live” portion of the keynote but I really didn’t expect it. Everyone started screaming when Tim Cook and Craig Federighi came on stage to welcome us to WWDC!

After an introduction we watched the same video presentation you watched at home.

Highlights for me:

  • Custom lock screen - I’ve been experimenting with widgets a lot lately and can’t wait to get some of mine on a lock screen. I also love how you can have multiple lock screens. A lock screen based on location is especially interesting to me.
  • Live Activities - All I could think of was how nice this would be for using ride sharing apps.
  • Messages - The changes are going to make day to day conversations (and keeping track of them) so much nicer.
  • Enhanced on-device dictation - Mikaela will confirm that I use dictation a LOT. Being able to bounce between voice and touch is going to be a game changer.
  • Live Text - This is going to be so handy for grabbing code examples from videos that don’t provide a link to their code.
  • Visual Lookup - Being able to instantly “cut” out a subject is something I couldn’t wait to try. Get ready for even more cat pics.
  • Tap to Pay on iPhone - I actually got a real life demo of this in the Apple Visitor Center when I made some purchases. I was excitedly texting a friend of mine that has a small business who currently has to use an attachment he connects to his phone to take payments.
  • CarPlay - This announcement completely blew my mind. Several years ago when I was car shopping I had a steadfast requirement that CarPlay had to be supported in whatever car I bought. That is the reason that Acura was instantly out of the picture for me, because at the time they did not support it. Having a way to completely eliminate the hideous, clunky interfaces that cars have and replacing everything with CarPlay is absolutely going to motivate me to get a new car next year.
  • Apple Watch - I got to experience my usual frustration that configurable third-party watch faces still aren’t a thing. I just want a big, ugly digital time in the center of my watch face with complications above and below it. The medication tracking looks so handy and easy.
  • Weather app for iPad - I might have screamed the loudest in the audience when this was announced. As someone who uses their iPad a massive amount more than their iPhone it’s frustrating having to wait an extra year for features that iOS already has. The app looks gorgeous and is such a welcome addition.
  • Stage Manager - Can’t wait to try this because I constantly use Slide Over when I’m gaming on my iPad.

As wonderful as it was to be able to be so close to the stage outside, the longer the presentation went on the more of a struggle it became for me. The day before I got a bad sunburn on my arms so I was wearing the only long sleeve shirt I had to keep the sun off of me, which unfortunately was a flannel shirt meant for keeping you warm. I was also wearing long pants so I was getting seriously overheated. I was so grateful that Apple provided water stations that dispensed ice cold water. The water bottles they had given us in our gift bags were phenomenal and kept the water inside cool even in the blazing sun. I honestly think that’s what saved me during the presentation. I know I should have just got up and gone inside, but I just didn’t want to miss out on being so close to the excitement. Definitely a lesson learned for next time if I’m lucky enough to go back.

Lunch

For lunch I made it my mission to hunt down the pizza I had heard so much about. I was initially disappointed because I could not find it, but one of the helpers was able to pull up a map and let me know that there was an Italian station in the other cafeteria!

My dessert was absolutely delicious also.

I just sat at a random table where I saw there was shade. I said, “Hi, I’m Chris” to the person that was sitting across from me. At that moment Malin Sundberg, who had her back to me, flips around and says “CHRIS!?!?”. I was completely shocked that she recognized my voice. I had attended a few (virtual) Core Coffee events that she and Kai host. What a thrill to get to meet them in person. They are an absolute delight.

We got to see the famous 🌈 in the grassy area. We couldn’t walk out there but Apple employees were coming up and speaking people they knew who were attending. I recognized a few of them from following them on Twitter but didn’t want to interrupt a conversation to introduce myself.

I didn’t realize it initially, but the tables we were eating at were also download stations where you could put the betas quickly on your devices!

Platforms State of the Union

After lunch I walked back to the presentation area with Kai, Malin, and Zach Simone. There was absolutely no way I was going to sit out in the sun again, but the lovely cherry trees provided the shade we needed. It was so exciting getting to see Novall live out her dream and be one of the speakers.

I left the State of the Union feeling excited. Swift Charts, resizable bottom sheets, and UICalendarView are all things that I wrote my own clunky implementations of. Now I’ll be able to rip all of that code out and use beautiful Apple versions instead. I wish that there had been an SwiftUI equivalent to UICalendarView, but you can’t get everything that you want. There’s also so many nice changes to Xcode this year! The sticky headers are something that I never knew that I needed until I saw them.

Tour

Next up I headed to the tour I had signed up for. In a WWDC that was almost flawlessly executed, this was my lone disappointment. I had signed up for the “Hills” tour, which explored some of the outside of the campus. The problem was that we had a large group and they were leading us through some relatively narrow pathways. Well with a large group on a narrow path the people in the back are going to be very far from the people in the front. The tour guide would stop to talk and answer questions for what felt like a very long time. Those of us in the back were so far away that we could barely hear what he was saying. I’m not exaggerating when I say that I was picking up maybe five or ten percent of the conversation. What made things worse is that there wasn’t any shade where we were frequently stopping. I had come close to overheating during the keynote and I started to get the feeling that it was happening again. I was getting absolutely nothing from the tour and it was an easy decision to walk up to someone and explain that I needed to leave for heat reasons.

Meet the teams

At the same time the tours were happening there was also a “Meet the Teams” event in the outside area where I had eaten lunch. I wish that I could have better taken advantage of this unique opportunity, but I was still feeling awful from heat issues. I powered through a little and then had to retreat inside. I was able to spot Luca Bernardi and told him how much his tip about Self._printChanges() had helped me over the year.

Here’s the tip I was referring to:

I was also able to have a quick chat with Super Betsy! She does such a great job with online events and she has been a great ally of iOS Dev Happy Hour.

Being a developer

Right before I went back inside I spotted the team from the App Store. I had a delightful conversation with them and asked them for tips about how I could get myself listed as a developer in the App Store. I showed them how some of my friends were listed (using Josh Holtz as an example) and I wasn’t. I explained how I had learned that people with less apps and less downloads than me were listed. They didn’t know the answer and suggested that I schedule a lab, which I did. Either something changed or one of them helped me later because on the morning of the lab I checked the App Store and guess who is listed as a developer now? 🎉

My new “developer” listing in the App Store.

After speaking with the App Store team I had plenty of time go inside, sit in the shade, and drink some cold water. It was exactly what I needed to refresh myself for the rest of the day. If I’m ever lucky enough to come back again I’m going to come with a list of Apple employees that I want to find and meet during “Meet the Teams”. The first person on that list would be Allen, the creator of iOS Dev Happy Hour.

Apple Design Awards

I felt great by the time the Apple Design Awards ceremony started but at the same time I was SO nervous for my friend Jordi Bruin. He was up for an Inclusivity award for his app Navi, which adds subtitles to FaceTime calls. Even though he didn’t win and I know how much this award would have meant to him I hope that he’s taking pride in what he accomplished. I have a feeling this won’t be his last nomination. After all he is the world’s fastest app developer.

Get out!

When the award show was over the employees had the unenviable task of getting all of us to leave. The big problem (and I am also guilty of this) is that they would tell people it was time to leave. Those people would walk a few feet and see people they wanted to talk to. They started talking to them and forgot it was time to leave! All the employees ended up joining hands and forming a human wall that was continually moving forward to guide us out. They were also singing and chanting happily while doing this. I have never had such a pleasant experience being ejected from a location.

End of a long day

I ended up walking out talking to Tim Roesner, who has given me many helpful tips via Twitter. Once we were back at the Apple Visitor Center I got to meet the wonderful NeoNacho, Sommer, and Shantini. After that I walked with a fun group to a nearby area where we looked for a place we could eat dinner outside. It was the perfect way to end an exhilarating day.

The people

Before I attended this event I didn’t really understand why some people would choose to spend so much money to travel and stay in the area for several days when they didn’t have an event ticket. Now I completely understand why you would do this. The energy during the event was electric and the sense of community and camaraderie was almost intoxicating. After talking with people for so long online it was such a treat to be able to meet them in person and get to know them better. There’s several people I met that I didn’t get pictures of. I’ll get you next time Ish, Josh, Emmanuel, etc. That idea of this being a one-time bucket list item is going in the trash.

Me and my friends at WWDC.

The future

Initially I had debated on whether or not I should wait for a week long, in-person WWDC as was held in the past. Now that I have attended this one I honestly hope they never go back to the old format. The old events had a hefty admission price, which was a big reason why this has been a one-time bucket list item for me. This year’s event was free if you got selected. If the company you’re working for is paying for your ticket then the admission price isn’t a factor. But for hobbyist developers such as myself with small audiences that can be a huge deterrent. I’m so appreciative that Apple tried this new format. I’m also so appreciative that we were the first outsiders allowed inside Apple Park. If I didn’t know differently I would have thought that they had been doing this for years because the event went so well. I am so thankful and feel extraordinarily lucky that I was able to take part in it. It’s something I will never forget!