While previous posts in this series solely focused on news from the implementation front, this third part of the “big summer update” is about various long-term design thoughts which I have, concerning things which probably won’t be under the implementation spotlight until some years have elapsed. To begin with, let’s have a look at the new release of Mac OS X, “Lion”.
What’s new ?
Alright, so Apple have finally released their first major update to Mac OS X in years, and I must admit that they’ve brought some very interesting stuff on the table this time, that goes beyond just playing catch-up with Microsoft on internal stuff which only OS geeks care about. But what is it that OS X Lion brings on the table for normal users anyway ? Well, let’s allow Apple themselves to explain.
- Multitouch gestures : An ode to the glory of the most undiscoverable of all human-computer interfaces, even though OS X has had support for that stuff built in for some time now. News are that now, usability has become even worse than before, because you now have to slide your fingers upwards on the trackpad for the content to scroll downwards. It is also worse noting that you control your fingers’ movement with maximal precision when rolling them up, not when opening them. So, why has this disaster happened ? Because Apple thinks that the iPad is the paramount of personal computing, and wants to make it clear by imposing its design choices on computers which have nothing to do with it. Oh, well, everyone makes mistakes sometimes…
- Full-screen apps : Another example of iPad design choice shoehorning, as anyone with a multi-monitor setup can attest. This one makes more sense though : no one truly needs a mess of overlapping windows, and the OS X interface is so bad at managing multiple windows that integrating tiling inside of it is not a reasonable option. So full screen software with optional fallback to overlapping windows is a good compromise, because it provides both a distraction-free and screen estate-efficient environment on one hand, and more versatile overlapping windows on the other hand.
- Mission Control : Now this is where things start to get interesting. Traditionally, there used to be two kind of task switchers on desktop OSs : windows-based ones, like the Windows Taskbar, which were very fast in all circumstances but became unmanageable when many applications were running at the same time; and application-based ones, like the OS X Dock, which work very well for common workflows but become horrendously slow when the assumption that one application is only used for one single task at once breaks down. The Windows 7 SuperBar bravely attempted to unify both, but failed at that as it forced all task switching to go through a dreadfully slow two-step process, basically turning the worse-case scenario of application-based switchers into the common case. Now, Mission Control is another attempt at unifying application switching and window switching, which does in my opinion much better than previous experiments at that, even though its interface may easily be classified as crowded.
- Mac App Store : Proprietary systems have finally understood how wonderful software repositories are for those which can afford them, reimplement them in a closed way, and pretend that they have revolutionized the world. Cute.
- Launchpad : Furthering the iPadization of OS X, Apple solves the long-standing usability issue that the Applications folder was by adding a shortcut to a perfect clone of the iOS home screen to your Dock. I’d sure have preferred some actually efficient interface like a categorized application view with search functionality there, but in the context of Apple this is smart for a number of reasons. First, it puts more iOS stuff inside of Mac OS, easing any possible full switch to the former in the latter (after all, working on two OSs is expensive). Second, Launchpad is not a strict mirror of your Applications folder, and is only updated when you install software from the Mac App Store (as opposed to manually from packages downloaded from the web or installed from a CD/DVD), which helps Apple tightening its grip on those who don’t want to join their closed and very lucrative repository.
- Resume : Sleep is the best option, everywhere, all the time. Keeping your computer desktop and software in a cluttered and messy state is the perfect way to reach maximal productivity. Therefore, Apple provides you with per-application sleep functionality as the default app “closing” option. Well, I think I have already told everyone here about how I feel about this kind of ideas…
- Auto-Save and Versions : Now this is another tasty bit, on the other hand. Here, Apple have chosen to attack one of the fundamental axioms of modern desktop operating systems, namely the file paradigm. In most of current OSs, a file is, from a user’s point of view, a piece of data that you can feed an application with. You then do work in the application, and can save the fruit of your effort at any moment to a file, as a default setting the one you’ve fed the app with. If you forget to save, the application reminds you of unsaved changes when you attempt to close it. But what if the app crashes ? What if the computer crashes ? What if you accidentally write over a file and lose hours of work ? To address these issues, Lion’s offer is to simply do away with saving altogether. In the Lion document model, you modify the file on your disk (sort of… it’s saved regularly), and offers an automatic snapshot-taking functionality so that you can revert painful changes.
- AirDrop : As a simple but nice touch, OS X Lion allows one to do simple file transfer between Macs using Bluetooth, just the same as one would do between cellphones. Clever.
- Various change to the bundled software distribution : I’m not documenting that, as it would take too long and is not all that interesting.
So, what should we remember ?
Or, to be precise, what should *I* keep in mind when working on my OS’ design ?
- Mission Control : An interesting mix between application-based and window-based task switching, the best one I’ve seen to date.
- AutoSave/Versions : This thing keeps puzzling me. It strikes me as a document model that’s simply ridiculously better for most work-oriented applications, and could make up for a nice “system restore” feature if also used on some config files. Now, Apple should to implement this as an optional service which software may or may not support. I’m interested in an alternate approach, which requires more ground work but could be more universal and beneficial in the long run : implementing it at the Virtual File System level. Making the basic file Open/Save/Read/Write functionality so that it supports such file versioning at the core, unless the file is explicitly marked as not eligible for file versioning. Now, this obviously requires a lot of design work, be it only to reach the point where we know if it’s feasible or not, and as such is not a decision to be taken lightly. But I think that it could be an interesting path nonetheless. Expect to read more about it later.
- Airdrop : I’m astonished no one has thought about this before, and actually tried to do it the other day (some Linux distros already provide a similar feature, to some extent, albeit more complicated as you have to set up a Bluetooth connection first). Also, think it would be great if that also worked with Wi-Fi. Well, as a whole, I think there’s still much work to be done to make home networking a painless task for normal users.