My WWDC Wishlist

2 minute read

WWDC 2017 starts in a few days. I’m excited at the potential new toys Apple will be announcing for developers, and I’d be remiss if I didn’t have specific things I’m hoping for. We’ll see how many in this list come true, but I’ll be happy if we get at least a few!

Xcode

  • Statically linked swift libraries
    • This is already possible via swiftpm, and supporting this on iOS would solve the dylib loading time problem once and for all.
  • No more need for the simulator to run application unit tests.
    • This is probably the most frustrating thing dealing with continuous integration. Not having to rely on simulator wackiness would be a big plus.
  • Better Refactoring (renaming, extract method, etc)
    • Xcode has been pretty bad about this for years with Objective-C, but it’s inexcusable how much worse it is with swift. Taking even a fraction of the capability that tools like AppCode provide would do wonders.
  • More Xcode extension options
    • Adding sets of files to a project that follow a template would make it easier to add new VIPER modules, for instance.
    • Allowing UI for displaying info like dependency graphs or other code analysis would be really useful.
  • Better swift migrator
    • 2 to 3 was miserable, 3 to 4 needs to be seamless.

iOS

  • Better inter-app communication
    • A cloud based filesystem app could provide file access to a text editor, for instance, so that apps can focus fewer things well, rather than be all in one affairs.
  • Allow non-webkit browser rendering engines for browsers.
    • This is where Android shines, I think. There’s a lot more browser innovation there, with more healthy competition with chrome, firefox, etc. These browsers exist on iOS but are forced to use UIWebView or WKWebView, which drastically limits their ability to innovate or provide a potentially better experience.
  • Allow users to completely turn off internet access per-app
    • Android does this to a degree, where apps are required to list internet access as a permission. If users on iOS were given the choice whether to allow a single app to connect, apps that don’t need internet to function but use it to track users silently could be stopped from doing so.

Deployment

  • An officially supported, unrestricted way to sideload apps outside of the app store.
    • I know that enterprise accounts allow you to do this, but those can be revoked by Apple, and have price and organizational restrictions. I’d like to not have to pay $300 nor be part of a large org to have that privilege.
  • If we can’t get that, then less restrictions on app provisioning.
    • 100 devices for ad-hoc testing is too little in a big org, where testing features not available with enterprise-signed apps is critical. Testflight has some annoying restrictions as well, since external testers still require some app review.

Much of this is likely a pipe dream, but that doesn’t mean I can’t have a tiny bit of hope. We’ll see what comes true in a few days!