Steve Troughton-Smith put together a phenomenal WWDC wish list for MacStories. This is probably my favorite list of this kind ever, for any WWDC. This list does a great job of capturing the features that professional software developers need to make iOS more useful.
A couple of points below I wanted to comment on, first on the command line, Troughton-Smith says:
Much like the file system, for a certain class of user the need for a command-line environment of some kind hasn’t gone away as I’m sure Apple had hoped.
How you feel about the command line is good litmus test for how you feel about iOS as a whole. One way of looking at it, the way Troughton-Smith seems to think Apple does, is that command line is trudging along despite its flaws, and we’re all just waiting for the day we can finally be rid of it for good. Another, the one I believe, is that the command line is one of the most refined ways of working with a computer that there is. It’s carried the programming industry on its shoulders, from collaboration, to compilation, to testing, to style, to languages, to frameworks. Not only is it not going anywhere, it’s going to increase in relevance for as long as humans program computers.
On adding a robust entitlements system, he wrote:
Apple could entrust e.g. Google, Microsoft, or Mozilla with the entitlements they need to use their real browser engines on iOS instead of WebKit – real Chrome, real Firefox. VMWare and Parallels could be entrusted to build virtual machines or emulators, without leaving this open as an attack vector for malicious third-party apps. Disk utilities could be permitted to partition disks, IDEs could be permitted to run background processes, install apps, or attach a debugger to running apps. So many of these things, given freely to developers, would arguably make iOS a much less safe place (read: just as powerful as a desktop computer), but with the entitlement mechanism in place Apple could still keep the control they want and not let it get out of hand. Seeing past the inter-company politics, iOS is going to need methods to do all of these things eventually, especially if the iOS app ecosystem is to supplant the Mac app ecosystem in due course. A Mac without the ability to build and install apps, or attach a debugger, would be unimaginably crippled.
I would love an entitlements system that would allow some classes of software that are outright banned right now. But I can’t support any system that gives special privileges to existing companies. As much as possible, Apple should be fostering innovation and competition on its platform, and giving existing company’s special privileges does the opposite (why innovate when Apple is acting as the muscle keeping the competition out?). Every App Store policy should be applied equally, regardless whether a company is big, small, old, or new. If you want to own the market, it has to be because you made the best product, not because you made a backroom handshake.