First off: yup, there's iPads at Apple running a version of Safari that claims to be on iOS 6.
Could be some Apple employee playing jokes on Ars, but, more pragmatically, is likely a legitimate pre-release.
So what could iOS 6 bring us?
Obvious sources of inspirations would be:
- Its sister OS: Mac OS X,
- Other mobile OSes; in particular, Android, Windows Phone, and the less-successful webOS and Blackberry PlaybookOS (now with, gasp, a mail client!), and
- iOS's own jailbreak community.
I have virtually no experience with other mobile OSes. I have some with Windows 8 (both the Developer Preview and the Consumer Preview; anyone care to remind me why these aren't simply called Alpha 1 and 2?), but where its goals do overlap with those of iOS, Apple has been more inspirational for Microsoft than vice versa.
With each successive release having been a little more mature than its predecessor, iOS 5 has perhaps reached roughly the point of satisfaction that 10.4 Tiger had: plenty of features, not all of which you'll use every day, and some you wish it had. But unlike Tiger, you're largely stuck with what the OS has to offer. Extensibility mechanisms are few and far between. Apple has shown no sign of willingness to change that, and each passing year proves them more right in their conviction that they won't have to.
All that in mind, here's three things to start off with:
Inter-app sharing workflows:
Various design choices make carrying a bit of information from one app to another fairly cumbersome: typically, only one app will be actively running in a multitasking sense; only one app will be visible; mechanisms like Springboard, the app switching bar and the Notification Center are less about temporarily interacting with an app than they are about switching to it and fully bringing it frontmost; and each app lives in its own sandbox, including file management, so accessing a file you've created in another app isn't as easy you might expect either.
iOS does provide a means of opening applications with URL schemes, enabling several sharing workflows. 3.0 and 5.0, respectively, added APIs to show sheets for sending off e-mail messages or tweets, so you won't have to leave the app at all. And 3.2 introduced support for an Open With feature. The main limitation with these is that (the middle one excepted) they're "push"-type workflows: you're sent from one app to another, and then never back. Rather, what you frequently want is to "pull" information from another app, returning to where you had left off afterwards. The original app lacks a means of getting any result.
For some cases, app developers have become inventive to work around this:
- Writing Kit, a word processor, advertises its built-in browser and Quick Research abilities.
- Many apps rely on Dropbox for sharing files with each other, effectively eschewing the local system entirely in favor of one whose API affords them more flexibility.
But those aren't desirable hacks, and many cases simply cannot be handled well at all. Tools such as 1Password and TextExpander come off as more cumbersome than their Mac counterparts through no fault of their own. Moreover, when integration is available, it is often limited to hardcoded, specific apps; you'd have a hard time launching a TextExpander competitor now simply because so many third-party apps have already been integrated with TextExpander itself in particular. You cannot, as an app, offer your services to other apps.
So, wanted: a means where app A (e.g., a word processor) can ask the OS for available apps of a type of service X (e.g.: text expansion), where app B in turn can register itself to offer just that, and where A can launch B with the special "bring me back my info when you're done" parameter. Workflow-wise, it may make sense (and be less confusing to the user) to show the app's relevant bits in a sheet; in particular, no navigation in the app's UI should be possible.
The built-in apps are hardly bad (unless you count Reminders, the UI of which clearly only happened in some nightmare of mine), but Apple won't and shan't try to cover all situations. Some may prefer using the GMail web interface as their mail client, iCab as their browser, or Calvetica as their calendar. There's APIs for accessing some or all of the same data, but there aren't ones to set defaults. Most jarringly, opening a web link in some app will still launch Safari, unless the app happens to provide its own means of choosing a different browser.
This doesn't affect me much, but one scenario where I recently saw this as a problem is wanting a locked-down browser for a kid without relying on Safari's own rather limited Parental Controls, but rather by using a third-party browser that's designed around kid use. Making that the default browser, and preventing app installation as well as launching of Safari itself through Parental Controls, ought to do the trick.
I know plug-ins go against Apple's "everything is an app" grain that they're apparently carrying over to the Mac as well, but they've already violated that principle in a few ways:
- Apps can provide their own preferences that show up in the Settings app. This is effectively just a hierarchy of data, rather than a means to run code, so it's limited (e.g., you wouldn't be able to provide a button), but it is nonetheless arguably a form of hooking into the system.
- iOS 4.1 added a VPN API, which to my knowledge is sadly still undocumented, but (by necessity) has code of yours running system-wide.
In addition to wanting an OpenVPN plug-in (sigh), there's various obvious places where plug-ins would help:
- You can already search for your app in Spotlight (and, to my knowledge it takes advantage of keywords developers can provide in the App Store, so searches don't have to be exact matches), but being able to search its data (and to tap on an item to launch the app straight to that very item) would be great.
- 5.0's Notification Center has two widgets for Weather and Stocks, which scream for extensibility, but alas, that currently requires a jailbreak. Here, too, the problem of default apps becomes clear: if you prefer a third-party weather or stocks app, tough.
- A "Quick Look" of sorts — tapping an attachment in Mail works for some formats, but what if your app could provide viewers for additional ones?
- Safari Extensions.
So, what are your wishes?