inessential by Brent Simmons

Early Thoughts on WWDC 2014

It was the best WWDC in the years I’ve been going. (Since 2003.) I didn’t actually have a ticket — due in part to not trying to get one — but I was there to speak at AltConf and see friends and make new friends.

We will think of this WWDC as the beginning of a new era at Apple. It’s not true that Apple just woke up one day as a changed company, but it’s a convenient and obvious marker.

I’m excited. Surprised — multiply surprised, surprised over and over — and happy.

I haven’t even watched any of the videos yet. (They’re downloading as I’m writing.) But of course I have a few thoughts already.

CloudKit

I joked in my talk at AltConf that I might go down as the last guy in history to write his own custom syncing system.

I have wanted Apple to partner with Azure to make web services and syncing easier. This seems like a step in that direction. (I don’t know if they’re using Azure, but my intuition thinks so. Apple has used Azure before.)

Could we use this for Vesper? Well, I’ll know better once I’ve watched the videos. But it appears that it can be used for iOS and Mac apps only, and it’s important to us that we leave open the possibility of a Vesper web app. (I’m not promising anything, of course — just explaining our thinking.)

There are also some data limits that might have precluded our using it for Vesper. I need to learn more about these.

But this is just an evaluation of CloudKit for our specific needs and not a general critique. John Siracusa calling it rational tells me it’s designed well. My guess — early as it is — is that this is going to get used in a ton of apps.

I don’t really think I’ll go down in history as the last guy to write his own syncing system. But I bet there are people right now who realize they don’t need to write that syncing system they thought they’d need. And I bet there are people right now planning apps that CloudKit makes possible and economical.

Swift

I keep calling it Self, but only because of the similarity of name. I’ll get over it.

It probably has some things in common with Self, but I know almost nothing about Self and couldn’t say. It has things in common with lots of languages, as it should. Of newer languages, Rust appears to have a decent amount of influence.

I’m lucky. I’ve just started a Mac app, and I plan to write it in Swift.

I’ve heard other developers say they want to wait about a year, and I totally understand that attitude. It’s reasonable to assume that Swift code written today may not compile in a few months — it’s a work in progress.

But my thinking is this: if I start using it now, I can provide feedback, and that feedback will help shape the programming language that I’m likely to use for the rest of my career. Maybe I’ll have a ton of feedback, and maybe I’ll have none — but I’d sure hate to have missed my chance to help.

I’m no language purist — quite the opposite. I’m a pragmatist with many years of experience who wants to write better software more quickly.

I did not expect Swift. I expected it in five years, maybe. But this is — far and away — the thing I’m most excited about. (I’m about a third of the way into the book.)

Playgrounds

I suspect that before long it will be hard to remember what development was like before Playgrounds.

Other Things

One of the jokes this week is that suddenly we developers have nothing left to complain about. It was all taken care of on one Monday in June 2014.

But we’ll find things, of course.

It was like this, though — we kept hearing about things, even relatively small things, that all by themselves would have made for a great week. It was like the greatest Christmas ever — and then Santa Claus hung out so you could take selfies with him. This friendly and generous Apple reminds me why I love writing iOS and Mac apps.

Okay. I’ve got some videos to watch.