What a fantastic WWDC! This is my first time in San Jose so it's been really interesting to see how different things are here compared to San Francisco. From my perspective, I love it! The show and all the surrounding activities fit so much better here and I feel like I've run into many more people just because the scale of everything is a little smaller. Oh and the scooters are 💯💯💯!
Talking of running into people, thank you so much if you came up and talked with me this week! If you're still here I'll be around all day today so please do feel free to stop me if you see me. Also, be careful or I'll sneak into your photos! 😂
So, on to the announcements. I've spoken to several people who expressed disappointment about the lack of a "wow" feature on stage (although I'd say Siri Shortcuts pretty much counted as wow for me), but I really don't see it that way. What we did get was a whole load of smaller features and refinements and nothing that should distract us too far from spending the next 12 months building amazing apps.
I won't name specific technologies, but think back to previous years where a huge new "wow" feature or a new type of app was introduced. We then spend the next 3-9 months furiously implementing them, only to find out that it didn't really bring any more success or revenue in the long run. I feel like this year Apple is saying "You've got great tools and APIs to make apps, we'll concentrate on making the core operating system better, you go do the same for your apps". I like that, and you'll be grateful of it when the new, paradigm shifting, Metal rendered, holographic UI framework requires us to re-implement everything next year. 😂
Of course, I also want to talk about Marzipan but before I do I want to give a little advice to Apple. If you don’t give UIKit on macOS a name, quickly it’s going to get called Marzipan for the rest of time. It may already be too late! 😀
I've seen some confusion around Craig's use of the big NO slide that iOS and macOS are not merging, and then previewing UIKit apps running on macOS. To me, this makes perfect sense and it's how I always hoped it would be done. Let's bring some of the tools and techniques to macOS that we've been enjoying on iOS. This is UIKit, but it's not iOS. I'm also glad to see enhancements to AppKit at the same time. This is not (yet?) a replacement, but a compliment. I like it. It's also a really great sign that this is being used internally.
Wrapping up, I can't skip the improvements to Xcode. Again, there's nothing revolutionary here but there are some great smaller changes and the source control change bar is especially impressive.
I also can't finish this without raising a glass to "Bug fixes and other improvements" which will no longer pass for release notes unless that is only what the release contained. This'll cause problems for some (larger) companies, but will be better for users. Here's to you, useless release notes! 🍷
But Dave, what about all the other stuff from this week? What about the new App Store Guidelines, the Swift 5 delay, ARKit 2.0 or the oodles of ML related announcements and improvements, or the fact that iTunes Connect is being rebranded to App Store Connect and now has an official API and TestFlight invite links! 😱 Yes, there's a lot I didn't talk about up here and you won't find coverage of these things down below either. However, we have 3 months to cover everything important before the official releases. There's still time... 👍
What a week, I love this event and this community.
So, it was shaping up to be a quiet week until yesterday! Unless you've been locked in a windowless, soundproof room for the last 36 hours you'll already be aware that Swift was released as open source, right on schedule. Everything is up on GitHub and already people are tackling the hard problems. 🙄
I'm sure the madness that is the current set of PRs will calm down over the next few days (or weeks) and the proper work will start. But instead of focusing on that, let's talk about the release itself.
I'm extremely impressed with how Apple have approached releasing Swift into the community. When it was announced that there would be an open source release, there was very little detail on what that actually meant. It could have been anything from a simple, occasional source drop to development done in public. What did we get? Well, pretty much everything we could have hoped for. This truly is an open development process now. Not just in terms of the source code, but in terms of everything that goes along with it, including discussion of plans and features for future releases.
To me, the source code itself is the least interesting part of the release (don't forget that Objective-C was open source too!). I really have no need to peruse the depths of the Swift implementation. I’m not a compiler engineer and I doubt that the vast majority of iOS/Mac developers will ever end up deep inside the Swift implementation. What’s exciting to me is all of the peripheral information, and tools that accompanied the release, and even more important than that the fact that the Swift team inside Apple has managed to effect this kind of change.
There’s links to various interesting bits of the release below, but I’ll end here by saying congratulations to all of the team who have been involved in this project. It can’t have been easy and you’ve all done a wonderful job with it. Bravo.
This week's issue is going to be a little lighter on the other links due to the amount of information on the Swift open source release. Back to normal next week though!
My bags are packed and in less than 24 hours I'll be in the air on my way to San Jose! ✈️
Whether you're going to be at one of the full length conferences (WWDC, AltConf, NextDoor or Layers), one of the shorter events (try! Swift), watching the keynote online either through the official page, the official app or through the recently updated WWDC.io app or at one of the countless other events that are happening all over the world (like this one in London) I hope you all have a great week! Let's meet back here next week to recap it all?
I'm going to be starting my week in California with a pre-keynote #noqueue breakfast and I'll also be attending some of the runs being organised throughout the week over at WWDC.run. As for the evenings, there's the WWDC Parties app to fill up your schedule.
If you're going to be in the area, I'd like to highlight two great ways to meet and socialise with people next week which is by far the most important reason you're there. First is WWDC.family which is location sharing for everyone at the conference. Also, Beacon which was launched last year for impromptu events. I'll be using both!
Let's wrap this up with some great advice from Tyler Fox. Actually, I'm going to slightly modify his advice. No matter your career plans, if you're lucky enough to be inside the convention centre go and spend time in labs with the engineers of the frameworks you're interested in. I've lost count of the amount of positive things that have happened that started with a lab conversation. In fact, I'm sure that the first time I met Tyler was doing exactly that. Even if you're not inside the main event, make sure you meet and spend time all of the other engineers, designers and other people involved with iOS who'll be in the city that week. Come back from the conference thinking "Wow, I can't believe how many amazing people I met".
Oh and if you see me, please do come up and say Hi! 👋
Who's ready for WWDC? Siri is! Was this an intentional move or a premature deploy to the Siri servers? My guess is that it was intentional, and a fun way to get everyone talking for a few hours before the official announcement. Thanks Siri!
Anyway, there's a few changes this year with Monday's keynotes and the design awards being based in a different location. There's been some talk that with the increased seating capacity in the auditorium (~7,000 instead of ~5,000) that this is to increase the capacity for the conference as a whole, but again no one really knows. A change of scenery will be nice though!
If you're on the fence about whether to attend, you've still got about an hour to get your name in the hat for the lottery. If you need a little advice on the decision, why not take the next 30 minutes and listen to the latest episode of Under the Radar with Marco Arment and David Smith which takes a pretty balanced look at the pros and cons.
See you there, hopefully!
Did you get a pre-order in? If you're hoping for a new phone (or watch) I hope you had fast clicking, or tapping skills. From watching Twitter, it looks like there may only have been about 7 jet black devices that were available for shipping next week! 😏
I've been thinking a lot more about the App Store cleanup during this week, and I've decided to run a little experiment on how effective it's going to be. It'd be easy to find some truly terrible apps and watch them disappear, but I'm interested in the grey area between good and bad. I've shortlisted some apps that are still ranked highly in searches for popular search terms, but that haven't been updated in at least 18 months and have reviews that complain about things like crashing on startup. These apps are clearly still being downloaded and I want to see what their fate is. I'm not going to name the apps as I don't want to embarrass the developers, or tip Apple off on which ones I'm watching! 😂
I have no doubt the clean up will be effective, I 'm just curious where the line will be drawn.
So this week saw a rather surprising acquisition from Apple and while I wouldn't usually cover acquisitions, this is one that could have implications for developers, so here goes.
Both the app, and the team have been acquired and while it remains on the store, admittedly without some of the existing integrations (the reason for which, I'm sure Marco Arment is correct about) we really don't know what's going to happen next.
My prediction (and hope!) is that the app sticks around in its current form, but I don't think we'll see updates with anywhere near the regularity that they've been maintaining until now. Instead, I hope that the team is already working on bringing better ways for apps to communicate into the core of iOS, and that what we see is better, public APIs that everyone can benefit from. I believe that would be a fantastic outcome and would show a commitment from Apple which might come as a surprise after last year's disappointing news about Sal Soghoian.
Given the timing of this, I'd be surprised if we saw anything appearing as a result of it in iOS 11, but maybe in 12? Oh and huge congratulations to the Workflow team! Amazing work both building an incredible app, but also having an opportunity to bring some of their thinking to iOS! 🎉
Are you involved enough with your local iOS developer community?
A tweet caught my eye this week and it made me remember all the good experiences with various developer groups I've been involved with over the years.
I also got a message from a friend that a new meet-up was starting close to where I live, which also reminded me that I haven't been to my regular local group in far too long as I have a long standing clash of events on the evening when it usually takes place. So, I changed my priorities and booked to attend both of those next meetings and I'll make them a priority in the future too!
Meetup is completely dominant in terms of community events like this, so if you've been lazy in engaging with (or even with discovering) your local developer community, take that tweet thread I linked above, and these few words as inspiration and get out there and meet some old friends, or make some new ones. I promise it'll be worth it.
I got a few emails after my comments last week asking why I didn't mention Xcode for iPad. It's an interesting subject, but I deliberately didn't bring it up as I was primarily talking about the consumer perception of the iPad. But, I don't think the time is right for Xcode for iPad, and I'll tell you why.
What makes Xcode different from Swift Playgrounds? I think the biggest difference is that Xcode builds apps that run independently, whereas playgrounds are neatly self contained. Yes, of course there's more to it than that, but that's the fundamental difference.
So why don't Apple make Xcode that can build and install other iPad apps? Sure, they could. But what about iPhone apps? I'd say that until Xcode can build and deploy to other iOS devices, especially phones, it's probably not going to see the light of day. Can the iPad do that? Of course it can, but I don't feel like that's where Apple's priorities lie, or should lie, right now. For now, the Mac is an amazing platform to build iOS apps on and Apple are focusing on building the platforms out for consumers first. Us developers can come along later, it'll be fine. 👍
Now, I could be completely wrong and I may be eating my words after next week's event, but I'd be really surprised if this is the year that happens.
Last year was the 10 year anniversary of the iPhone, and this year it's been 10 years since our world as developers changed with the release of the iPhone SDK. I'm sure you've read Craig Hockenberry's article by now as it's been widely shared, but it's a great look back at the really early days of development on the iPhone. It also seemed to trigger something and quickly Twitter was filled with great stories of everyone reminiscing on those days, so let me go next with that. 😀
I clearly remember the announcement of the SDK, I was working on a Mac app at the time and it took everything I had not to immediately abandon it and get started on an iOS app. I managed to resist, but as soon as it was done I immediately dived right in and shipped my first app to the store a few months after the launch and I was hooked.
In the years following, I wrote (and helped to write) apps both for my own company and for others. I also trained hundreds of developers on Objective-C and iOS development. I spoke at conferences everywhere from the USA, to Russia and all over Europe. I also started a newsletter! 😀I can honestly say that in my whole career I have never been so passionate for so long about any technology as I continue to be with iOS. It really did change my life.
The last few years have taken me away from primarily doing iOS work, and while I had an amazing time working on Curated, and other email related things this anniversary couldn't come at a better time because I have a little announcement to make. As of this week, I am now again an independent developer working for myself and so, iOS is back to being 100% of what I do! 🎉🎉🎉
So what are my exact plans? I don't want to make too many firm promises as I'd rather let things happen naturally and be able to say yes to things as they appear, which is something I haven't been able to do in quite a while. However, I do have some plans in progress, and there will even be a (very) small announcement of something right here, next week, so keep an eye out for that!
As part of this change, I'll also be going back to being the sole author of iOS Dev Weekly. I'd really like to say a huge thank you to both Evan and Vicc. They have been an enormous help over this last year and both brought fresh new perspectives on the iOS world. Thank you both, it's been wonderful working with you.
Sorry this turned out to be so long! Let's get on with the important stuff... The links!
Terrible news yesterday if you're using Parse for your app's back end. They have announced that the service will be shutting down next year, and I must admit I'm a bit surprised. There's no explicit reason given for the closure but if Facebook couldn't make a service like this work, that's not a great sign for the other companies with similar offerings.
It's always a tricky balance between using a BaaS platform like Parse, or building everything yourself. We're all aware that any service we rely on could potentially go away at any time but there is none more disruptive than your entire back end! On the other side of the argument, you could spend years building everything you need from scratch and completely custom, then have the app not gain any popularity and have it all wasted. It's a tricky problem and there's no right answer.
The only good news here is that the closure period is generous. You've got a year to get your app migrated to something else. There's also a migration tool to MongoDB and even an open source implementation of the Parse server. It's missing features like the dashboard, but once you've got over the bad news at least there's a plan to be made.
So, alternatives? There's CloudKit of course and there's a list of other alternatives also being put together. Or, maybe it's time to build that custom back end?
Obviously for successful apps, they will start this migration straight away and get over to some other solution. That's a much harder decision for a small/less popular apps. Migration of any kind will take significant work and I'd imagine this will kill off quite a few apps when it happens.
Full disclosure: Parse have previously been a sponsor of iOS Dev Weekly on multiple occasions. As far as I know, it wasn't that which caused them to shut down though! 😃