Here’s my list of “predictions” for WWDC 2017. I’ve ordered them into very likely, likely, possibly and unlikely. This year is a little harder than usual, because there have been very few leaks and there is little low hanging fruit.

Very likely:

  • iOS 11 and macOS 10.13.
  • Xcode 9 with Swift 4 support.

Likely:

  • Extended SiriKit APIs.
  • A system wide “dark mode” in iOS.
  • A UI refreshment in iOS, hopefully restoring Buttons to look like Buttons.

Possibly:

  • New MacBooks and a shiny new Magic Keyboard.
  • Machine learning APIs, like the ones used in the photo apps. I guess these will be limited at first, but who knows what they’ll come up with.
  • Better iPad support in iOS. Sounds like an odd thing to say, but the iPad has been Apple’s neglected second child in iOS for a while now, and better iPad support was rumoured for last year’s WWDC.

Unlikely:

  • Changing default apps (web browser, Email client etc) to arbitrary third-party apps in iOS.
  • New Mac Pro. I doubt there will even be an announcement. It’s coming…in 2019.
  • iMessage for Android (el-oh-el).

Hard to predict:

  • A Siri Speaker (Amazon Echo / Google Home competitor). There have been rumors, but there are so many engineering problems surrounding this that I can’t say for sure that the thing is real.
  • UIKit for the Mac. This has been rumoured for years, and given the current state of AppKit it’s overdue. Basically Apple could make a UIKit-ish refresh of AppKit, or add a new framework altogether. Obviously both UIKit and AppKit still need a different treatment, because they have very different underlying input paradigms.

Now, what do I wish for WWDC? Regardless whether or not it’s likely:

  • Better tools.
  • Better tools.
  • Did I mention better tools?

Swift is a great language, but the tools are just holding us all back. Compared to other IDEs, Xcode is a mess. The compile times are ridiculous and much functionality is failing at times (syntax highlighting stops to work more often than it should). Also Xcode still lacks even basic refactoring tools for Swift, something that should be a given for any IDE that came out in the last ten years. I realise that Swift is not a high priority for Apple internally, because they are not using it for the important stuff (yet). So there is little inside pressure to make it better. But if they want Swift to get the developer support it deserves, they need to double down on their tools.