This space is currently unused, and I'm not quite sure what to do with it. If you have any ideas, I would love to hear them.

Find me on Mastodon

A Better iOS


January 28, 2014

Earlier this month, Federico Viticci wrote an excellent post regarding the possibilities of the rumored "iPad Pro" (▼)(▲)I won't go into the specifics of the rumors here since Federico already researched and discussed them extensively in his post, so check them out there if you're curious.. Viticci pondered the options for such a device, and came up with three possible manifestations of the most likely outcome:

Simply, a bigger iPad:

The obvious candidate would be an iPad Pro with a larger screen and no exclusive hardware or software features. Just like the iPad Air and iPad mini are essentially the same device with a difference in weight and size, the iPad Pro would be an addition to the iPad family with no major internal or software changes.

A "Pro" iPad With Substantial Software & Hardware Changes:

I’m mildly intrigued by the idea of an iPad Pro that, as the invented name suggests, would target pro users with substantial hardware and software changes.


Apple could make notable changes to the user experience and beef up the hardware to entice the pro audience. The 64-bit CPU of the A7 is a solid foundation to build upon, and if Apple could make that even faster without impacting battery life, while driving a larger screen and adding more RAM (needed) and a more powerful GPU in the process – at that point, interesting possibilities would open up to developers and users.

Or a hybrid:

The third option is, according to an analyst’s report, the hybrid. An iPad that “could serve as both a tablet and a notebook”.

Viticci discusses the pros and cons of each option after stating them, and I highly recommend you read the complete article. At the end, he concludes:

On multiple occasions, Cook said that they consider the tablet market “huge”. I don’t think that a larger iPad – laptop convergence or not – is the answer Apple and consumers are looking for, and I don’t think that a bigger screen would empower millions of people as much as a better iOS could.

"A better iOS". Three words which I've been thinking about since reading Federico's post. I absolutely agree that, regardless of whether or not Apple is going to release a bigger iPad, significantly changing the software to be more powerful than versions of iOS for smaller screens is not the answer. That's not a better iOS overall, it's a single instance of a better iOS, and the existence of that instance would fragment iOS as a whole. iOS's unity is one of its most compelling features, so breaking it, making users choose whether they want the most powerful version or the most portable version, results in a worse iOS overall. Maybe the argument goes that this iOS will only be targeting the enterprise, but when has Apple ever been a company to do that? Steve Jobs once set out to bring powerful computing to the masses, and Apple as a whole has continued to follow that vision in various materializations ever since. Following this vision, iOS has brought computing to the masses in new forms and in greater numbers than ever before. Why would Apple change its course on that mission now and target only a small portion of the market?

Instead of fragmenting iOS and giving better features to a smaller market, Apple needs to take advantage of the mass market success that it already has. It needs to concentrate on improving the iOS that already exists in the hands and homes of hundreds of millions of people. The newest hardwares on iPads and iPhones boast 64-bit architectures, Apple's powerful A7 chips, ridiculously long battery lives, and beautiful retina displays. Certainly this hardware still needs improvements, particularly in RAM and memory, but in terms of raw power these devices are now capable of a lot more than iOS is currently allowing them to handle.

iOS needs to improve to bring new power and capabilities to the masses, to make new dreams possible and empower more people. This doesn't require a larger iPad, it requires, as Federico stated, a better iOS.

A Better iOS

What can Apple do to improve iOS? Well I've been thinking about that since reading Federico's article, and I've put together a few examples of new capabilities that could make iOS significantly more powerful without losing its inherent simplicity. The main caveats to thinking about improving iOS is that it needs to be both screen size independent, and invisible if it's not needed. For iOS users who are not power users or who do not want impediments to the simplicity of the system, these features need to stay out of the way. Allowing iOS apps to be shrunk down into smaller windows and moved all over the screen, one of the popular rumors for the supposed iPad Pro, breaks both of these basic principles. These examples, however, do not:

Windowless Apps

A concept inspired by Benjamin Mayo, Apple could go in the exact opposite direction of windowed apps. While forcing all developers to update their apps to be responsive in height and width and fit into arbitrarily sized windows would be a horrible idea, giving developers the option to have a mode in which they require no window at all would be easy, and is completely screen size agnostic. As Mayo suggests:

Apps should also have the capability to be ‘faceless’, so that other apps can query for data without needing any intermediary UI. This would enable apps like to draw on information available in other apps without pushing additional UI.

This idea is reminiscent of the integration already implemented between Greg Pierce's Agile Tortoise apps. When writing in Drafts or Phraseology, Pierce has customized the contextual menu that appears when you tap and hold or make a selection. Beside the standard "Select All", "Copy" and "Paste" options, Pierce has added "Te:Lookup" and "Te:Replace", among a few others. Selecting one of these choices will utilize the URL schemes and x-callback-url support built into the apps to launch you from Drafts or Phraseology directly into Terminology with the selected word in the search box. From there you can simply read the definition and return to the source app, or you can select a different word from Terminology's fantastic synonym engine. This activates the "Replace" feature, and when you return to the source app the word that you had selected is automatically replaced by the word you chose in Terminology. This functionality is already powerful and useful, but what if the entire process could be achieved without ever having to leave Drafts or Phraseology? If Terminology could just provide the data to be popped up in a small UI akin to the current one used by the system dictionary, and from there you could still use the powerful replace feature without ever switching apps, that would be an amazing new ability for iOS. Beyond definitions and single word swaps, apps like Text Tool could be activated from a contextual menu, and their actions used to transform an entire selection of text in some way or another. You could run an action to upload the document you're working on to Dropbox and then put the link on your clipboard, all without leaving the app you wrote it in. I'm thinking of every task that we currently use action chains in Drafts or Launch Center Pro to complete, all available to be launched in the background, from any app, without requiring any visible application switching. If Pythonista could run scripts in the background in a similar manner, possibilities become nearly endless. All this has been functionality that we already have, simplified. If we think beyond what we can currently do with URL schemes, more powerful prospects that we wouldn't even consider in the current state of iOS become feasible.

All this sounds nice, but a big question still remains. If Apple adds all of this background functionality, where are they going to hide the triggers for the actions in a way that won't layer complexity onto iOS? As it happens, they've has already solved this problem.

Control Center

Control Center, introduced with iOS 7, is a small, transparent panel that extends upward when you drag up from the bottom of the screen on any iOS device. Control Center is a really nice addition to iOS, but in its current form it is the epitome of untapped potential. Imagine a Control Center in which the icons to open the clock or camera app where customizable and in greater supply. Currently, on the iPad, Control Center extends to only a small fraction of the height of the screen, and includes two of these app buttons. What if Control Center extended twice as high and revealed two rows of customizable buttons which could be configured, like a Launch Center Pro main screen, to not only open apps, but run actions or workflows like the ones mentioned above? Alternatively (or even in tandem), after swiping Control Center into view, it could become horizontally swipeable, revealing more of these function slots, or other features such as multi-slot clipboards. On the iPhone, where Control Center is already pretty large and would look bad if it extended any further, horizontal swipes could reveal all of the custom functionality. Regular users who are uninterested would never have to think about it; power users would have a field day.

Improved External Keyboard Support

Power users love using the keyboard to navigate their devices. iOS should be no different. Apple needs to add stronger support for external keyboards, making it possible to navigate iOS without having to touch the display nearly as much. If the capabilities and Control Center actions I discussed above were implemented, the external keyboard would need to be able to open Control Center (▼)(▲)This is vital. Have you ever tried to open Control Center while the bottom bezel of your device is stuck into an external keyboard? It depends on the design, of course, but with my ZAGG Keys Cover on my iPad Air, getting close enough to open Control Center is really difficult. and navigate and choose actions to run from whatever a user has set up. Furthermore, users could bind actions to custom keyboard commands, and these would work anywhere across the entire system, regardless of whether the software keyboard would be visible or not at the time.

To Infinity and Beyond

Both a pro and a con of the functionality that I described above is that in general it doesn't call for any tasks to be made possible which cannot already be done on iOS through our URL schemes. Windowless apps are the closest to being an exception to that rule, but even that kind of functionality can be hacked together through URLs with enough collaboration, as shown by Agile Tortoise. The advantage to most of this being possible is that Apple could theoretically implement these features fairly easily, without completely changing the manner in which iOS works. The disadvantage, however, is identical. iOS is seven years old now. It has matured in many ways from its original state, but its stand on sandboxing and inter-app communication has not. It's time for these facets of the OS to mature as well. (▼)(▲)I'm not saying Apple needs to completely open up the system. Sandboxing certainly provides the benefit of iOS' famed security. However, it could be loosened to allow more powerful features without being completely removed, and security could still remain just as strong. If Apple changed the rules, the possibilities described above could simply be small steps toward a universally better iOS, bringing empowering new features to the entire line of iOS devices, big and small, and enabling new avenues for creation and creativity which all of the hundreds of millions of iOS users could pursue.