May 12, 2013
This is based on last year’s equivalent, but much of that turned out not to be true, so I might as well repeat myself. Second time’s a charm, and all.
Sources of Inspiration
Mostly the same as before:
- Its sister OS, OS X. Smartly, the two share a lot of the underlying architecture. iOS happens to have received some more modern frameworks first since they had a chance at a clean slate, but other than that, iOS has more of a mobile/”console” focus, and OS X is more of a traditional desktop OS.
- Other mobile OSes; in particular:
- Android, of course. One feature that comes to mind is allowing multiple users on Android tablets; a cynic might argue that this would be against Apple’s hardware business interests.
- Windows Phone 8 / Windows 8 / Windows RT. Brief tangent: Phone 8, unless Phone 7, is NT-based, so while its UI looks much the same, its core is now much more similar to ‘regular’ Windows. Also, Windows RT is really just Windows 8 running on ARM instead of x86, with consequences like virtually zero Desktop apps being available.
- Blackberry 10. Its one and only selling point: well-separated private/business spaces.
- There’s more, like SailfishOS, Firefox OS, and so forth, but I don’t see much innovation coming from them.
- iOS’s own jailbreak community.
Now, keeping in mind that I have virtually no personal experience with other mobile OSes, I do have plenty with Windows 8 (in various settings, including on a tablet), as well as with some of what I deem to be more interesting jailbreak tweaks.
Let’s start thusly: iOS 6 disappointed me. Part of it goes back to what I wrote last year:
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.
And yet, 10.5 Leopard felt like a much bigger (if somewhat controversial — glass Dock, anyone?) leap than iOS 6 did. It’s not that it made the experience worse (to me, Apple Maps worked okay from the start, though I’ve found Street View to be far more useful and far less glitchy than Flyover, which isn’t really available here anyhow); it’s that people are using iOS devices more and more, in the “post-PC” way Jobs predicted, and in various ways, the OS hasn’t grown to accommodate for that. Hence, like I said, a bit of a repeat of last year.
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.
- Some apps now have a “Launch 1Password” button on their login screen specifically to make password look-up less awkward.
- Techniques like x-callback-url or Audiobus (even adopted by Apple’s own GarageBand) help.
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 — they’ve made a conscious choice to make their apps simple, leaving plenty of room to allow third parties (or themselves, as in iPhoto vs. Aperture) to offer something more advanced. 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.
And if this capability were to arise, it would encourage third-party developers to build alternative apps we can’t even dream of yet.
Plug-Ins / Bundles
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. Performance considerations aside, these should port just fine, so they can actually sync through iCloud.
The silo nature of “files belong to an app” isn’t for everyone, but it’s presumably here to stay. One thing that should alleviate the pain is system-wide search (see above). OS X has had this since 10.4 (though it really didn’t start working well for me until much later); resource constraints (e.g., battery life) aside, this arriving in iOS is hopefully just a matter of time.
In a sense, this will be more useful than on the Mac, due to so many native apps being available: search for a name, and see phone calls with them, their Facebook, LinkedIn, whatever profiles, your e-mail exchanges, replies and direct messages via Twitter, games you’re playing with them, and appointments you have with them. Search for a genre, and get the Wikipedia article as well as the iTunes songs or movies, or the books in iBooks or Kindle. Search for a subject, and get e-mails, articles, even news.
iOS gets this one so wrong, Apple’s own Pages has additional gestures to make it far less painful. Various jailbreak tweaks work similarly, and the whole thing screams for a UX overhaul.
While the phone app got some nice improvements in iOS 6, such as being able to set a call-back reminder or send a predefined text message response, it’s mostly the way it’s been since 1.0. It feels, perhaps to evoke familiarity, too much like a 90s’ era telephone brought to a touchscreen UI, ignoring technologies and capabilities like the Internet. It doesn’t even integrate with VoIP (though third-party apps have some limited hook-in abilitiy, such as being able to run in the background).
Eevn without a long-needed overhaul, though, there are improvements one could wish for:
- Better look-up of unknown numbers. Apparently, US versions of the iPhone can at least resolve the area code to give you a rough idea of who it might be; this doesn’t seem to work in Germany. In addition to area code look-up, it could also try and perform a Google search. In the case of businesses, this may often be enough to provide a best guess approximation.
- Blocking numbers. Perhaps carriers are pressuring Apple not to implement this, as they can now up-sell you on the amazing deal of being able to block up to 30 numbers for a mere additional 5 bucks a month. Anyway, one can wish.
There’s various smaller stuff — Mail ought to have OS X Mail’s better threading and junk filtering support; important toggles like Airplane Mode require far too many taps; Settings has gotten far too nested (maybe add a search field?).
You’ll also note that I skipped the current prevalent discussion entirely; that of 7 supposedly featuring a Jony Ive-inspired flatter UI. There’s not much for me to add to that discussion, really. Lastly, the discussion of whether Apple should add a Gatekeeper-like “allow me to run non-Store applications” switch is complex enough to warrant a separate post.
I think it’s a terrific OS. Let’s make it even better.