WWDC 2018
Yaaay apple conference tonight! Mac arrives Friday :)
— Rory Bain (@rorybain) September 1, 2010
15 year old me was pretty excited about watching the Apple Event where Apple would unveil the penultimate iPods Nano and Touch. 23 year old me was even more excited to have the chance to go San Jose and attend WWDC in person. I thought I’d write about my takeaways from attending and why I’m so keen to return.
Learnings and Inspriation
Although you can watch the vast majority of the WWDC sessions online, it’s nothing compared to 5 days of dedicated learning in proper theatres. There are around 6 time slots during each day which each have up to 3 concurrently running sessions. There is always something worth going to. This means that you end up going to so many sessions that you would have likely would never watch online and there are so many tricks to learn. I work on a large Objective C and Swift project and our compile time is dreadfully slow. I attended several sessions that taught changes you could make to your application to improve compile time which have now been compiled into a massive JIRA board at work of project cleanup tasks where the speed improvements alone are worth the cost of a WWDC ticket.
The sessions are great, but even more useful are the labs. These offer you the chance to speak to the actual Apple engineers who wrote the APIs that you are consuming. I cannot recommend enough making sure that you attend as many labs as possible. I went to a UIKit one and an LLVM one. The UIKit one I attended, I asked about some UITableView autolayout based sizing header and footers where I have a working solution (thanks to StackOverflow) but I was convinced there was a better way. Sure enough, I was linked a great GitHub Gist on how to do this properly. The LLVM session I was hoping for some simple solutions as to why our compile time is so slow (up to 40 minutes for a clean build and overly keen 20-minute recompiles). The engineer I spoke to was nice but he was just shocked as to how poor the compilers performance was on our project. The feedback I got was to file a couple of radars and to try and split up our main target into more separate frameworks - which is easier said than done. Even with no concrete actions to leave with, it was incredibly useful to at least have some validation that our build settings were correctly configured - something that can be all too easy to mess up.
My biggest regret would be that I could not remember enough things to take to the labs. In the future I’m planning on keeping track of all solutions I have to problems that are less than satisfactory. This last week I’ve added a note to check how Apple recommends that you manage screen orientation for single cases where you need to display in landscape. Particularly for the case where you have an AVPlayerViewController
- which you should not subclass.
My personal favourites of the sessions I attended -
- Advanced Debugging with Xcode and LLDB
- Behind the Scenes of the Xcode Build Process
- Building Faster in Xcode
- A Tour of UICollectionView
- Intentional Design
Networking
Possibly my favourite thing about the conference was the sheer variety of developers you met. There are 5000 developers that attend WWDC, and there is also Layers conference and Alt Conf running at the same time, also in San Jose. I met people who worked on custom email clients,banking clients, car rentals, music streaming, cycling, design prototyping, podcasting and even simulated Santa phoning, to name a few. All these companies are working so many different technologies and you are always chatting and exchanging experiences and recommendations. I met more developers in a day than I had previously met in my life. I found this to be invaluable, particularly at my age, should I ever come across a problem that I’m struggling with and perhaps my co-workers have no experience in, I now have a wealth of people to contact where there’s bound to be someone with some experience in what I’m working with.
San Jose
Silicon Valley is fully committed to all its cliches which is both a strength and a weakness. Whilst I was there, the most exciting things for me were the dock-less electric scooters and the Tesla Model 3. Both of which appear to me to be the future of transport.
For the unaware, the scooters are electrically powered, internet connected scooters that you can find on most sidewalks in certain US cities. You scan a barcode with your phone and you are then free to ride the scooter as far as its range of roughly 35 kilometres will allow. Typically you pay $1 to start and subsequently 25 cents per minute.
I for one, cannot wait for these to come to the UK. I hope that they become commonplace and people can learn to be sensible with them. My hotel in San Jose was around 2.5 miles from the conference center, for this commute I tried the tram, taxis, bikes, and scooters. Scooters were by far the most fun, convenient and cost-effective option. When traveling around Edinburgh, I’ll take my bike any chance I can get, because I love to be out in the open and to be able to move around at my pace and be limited by public transport timetables. Dockless scooters - and bikes - offer this same freedom wherever you are. They also have the added benefit of not having to lock up and remember your own vehicle and there’s a possibility that scooters will lower the bar for access to last mile transport. Not everyone feels comfortable riding a bike - some may feel far more comfortable on a scooter where you don’t get sweaty and in the case of an accident you can easier step off a scooter than a bike.
Whilst on the train from San Francisco International to San Jose I spotted my first Model 3. While I did not get to try one (I talked myself out of renting one on Turo) I can say that they look amazing in person.