WWDC 2015

Twocanoes was lucky enough to obtain a ticket for WWDC 2015. Here are some observations we came away with, and how it will affect out products here at Twocanoes Labs.

It’s a Whole New Crowd

Once upon a time, Apple platforms enjoyed a small but dedicated group of developers. WWDC was generally populated by the same crowd year after year. It was a great chance to catch up with old friends. These days thing are much different. I saw exactly two people I knew at the conference, in addition to a couple I ran into outside the conference.

While I agree with’s Apple’s strategy of keeping the conference size small, it means that even if you are lucky enough to get in, you probably don’t know many other people with the same luck. Plan your social and networking opportunities accordingly.

It’s All About the Labs

The sessions are most useful to the extent that they prepare you for the labs afterwards. If you attend WWDC and do nothing but sessions, you’re squandering the best opportunities available.

We spent some time in the Accessories Lab to talk to Bluetooth engineers about some ways we can improve the interaction between Blue Setup and Bleu Stations.

We also spent time in the Swift lab and Testing lab. The testing suite for the Bleu SDK relies heavily on mocked versions of Core Bluetooth objects. While it works, there are a couple problems with mocks. One is that they are difficult to use in a strongly-typed Swift environment. Another is that they tend to be fragile, even when properly built out in Objective C. Protocol-oriented development provides a path to testing that can avoid mocks and still test the code that interacts with system objects we can’t create.

The Pendulum is Swinging Towards Swift

I’ve always liked Swift, but there hasn’t been a huge reason to migrate away from Objective-C. Swift has nice features, an I’m generally a fan of strong typing. Even so, writing new Swift seemed like a wash in the overall tradeoff.

With features like Protocol Extensions and Availability checking, Swift is gaining tangible benefits over Objective-C. Also, Xcode and the debugger are getting more robust support for Swift. Overall, I’d say the advantage has tipped towards towards Swift, especially for new development.

Our Blue Station SDK will be Objective-C for the immediate future, but we do plan to implement the new Objective-C nullability annotations to make it easier for developers to call our SDK from Swift.