Daring Fireball’s wishesQuoting “iOS Low-Hanging Fruit” on Daring Fireball:
What else remains hanging low on the iOS new-features tree, though? I can think of a few:Details on #1: Windows 8 provides extensions and contracts. Extensions allow an app to plug into the operating system. Examples are your app being started when a device is plugged in and running tasks in the background. Contracts are for letting applications communicate with each other. One example is an app sharing content with another one – say, a photography app sending a picture to a Twitter app. For this kind of sharing, there is always a sender and a receiver. Another example is a search contract. Quote: “When you participate in this contract, you agree to make your app’s content searchable by other participants and to present search results from those participants in your app.”
- Clever inter-application communication. Seems crazy that iOS, the direct descendant of NeXT, doesn’t have anything like Services, which were one of NeXT’s most touted features (and rightfully so). It’s also worth noting that Android has a pretty good Services-esque system in place, called “Intents”, and Windows 8 has an even richer concept called “Contracts”.
- Third-party Notification Center widgets. Like the Stocks and Weather ones from Apple — information at a glance, without launching an app.
- Third-party Siri APIs. Let other apps provide features you can interact with through Siri.
One important extension would be to choose a default browser. Especially on the iPad there are several good alternatives to Safari available and having to open external URLs in Safari is inconvenient.
More wishesTyping is inefficient. That is mainly due to two reasons:
- Selecting text and positioning the cursor is cumbersome. This needs to be fixed. Either via cursor keys or gestures. Note that if you pair a Bluetooth keyboard with iOS then that problem goes away, because cursor keys work as expected, optionally even with a the Shift key for selecting text.
- Lesser used characters are time-consuming to type. Frequently used characters (such as parentheses) should be directly accessible (currently: switch keyboard layout once). Other common characters (such as plus or less-than) should require at most one keyboard layout switch (currently: two). Adding another row to the keyboard would solve this problem, it wouldn’t even have to be as high as the other rows. The iPad app Textastic has a nice refinement of this idea (see picture below): For each key you can either tap or tap and swipe in either one of four directions. That gives you five characters per key.
|The Textastic iPad app adds one row to the iPad’s on-screen keyboard. Tapping gives you the character in the center. Swiping gives you the characters in the corners.|
Better support for commands. iOS does not have a standard menu mechanism. And it shows, especially with more full-featured apps on the iPad. Functionality is difficult to discover, especially with icons it is difficult to figure out what they do if there is neither a text label nor an explaining tooltip. But also functionality such as undo should be available via standard means. Android has standardized command handling via the System Bars and the Action Bar.
Showing apps side by side. One thing that Microsoft has always understood well is that every now and then you want to run two apps side by side. For example: Transcribing a video while watching it or looking up something on the web while editing a document. Apple has already made great strides to turn the iPad into a general-purpose device. This one use case is still missing.
Status dialogs. Those are still incredibly annoying. One example is the email application notifying you that it can’t access the server, once per account. Another example is every internet-enabled application letting you know that you should go online (when you are offline).
Better support for files. I do understand that having a general-purpose file system is both a usability and a security problem. However, segregating the files per application is not a solution, either. For projects, you often need to work with a cross-section of files. With the current iOS that’s too complicated.