DuplicateRecently, I was part of a very lively discussion on Twitter between myself and a few Mac users on the replacement of Save As with Duplicate in OS X 10.7 Lion. Everyone in the conversation but me was angry about it, while I think it’s a fantastic step forward, and just a very small piece of a much bigger picture. The discussion on Twitter included three podcasters, myself, Allison Sheridan of the Nosillacast Mac Podcast, and Mike Potter from For Mac Eyes Only. I suggested the topic could be great fun for a podcast discussion, and the others agreed, so this weekend’s Chit Chat Across the Pond segment on the Nosillacast will be a three way discussion between myself, Allison & Mike on this topic. While preparing my notes though, I realised that I should go beyond just writing a few bullet points, and instead construct a fully formed argument in the form of a blog post, so here it is 🙂

Up until OS X 10.7 Lion, all ‘regular’ computers shared the same metaphor for editing files. Your documents were permanently stored as a file on your hard drive, but, you never directly edited those files, instead, you opened them, and made your edits on an etherial copy which you then had to commit back to the hard disk when you were done. You could either commit your edited document back to the same file you originally loaded it from (using the Save function), or, you could commit the updated document to a different location, leaving the original file un-changed (using the Save As function). While being edited, the document is effectively in limbo. We’ve all grown up with this rather un-natural metaphor, and we’ve become completely comfortable with it. So much so in fact, that we reflexively hit cmd+s (or ctrl+s on Windows/Linux) at regular intervals while we’re working on documents. We’ve also built up many of our workflows to reply on this odd concept of document limbo, and have gotten used to exploiting limbo as a means to our desired ends.

The most common limbo-exploiting workflow goes something like this. You create a template document and save it to disk as a regular file. Each time you need to create a new invoice or what ever, you open this regular file, make your changes in limbo, and then use Save As to commit your updated document to a different file on your hard disk.

OS X 10.7 Lion eliminated Limbo! Taking it’s inspiration from iOS, OS X Lion removes the distinction between files and documents. When you double-click on MyDocument.txt and start editing, you are directly editing that file. You do not have to save. In fact, there is no save function any more! You open the document, make your changes, and close it. As well as all your changes being instantly and automatically committed, Apple also introduced the concept of automatic versioning. By instantly committing changes to disk, Apple COULD have left users more vulnerable to catastrophic mistakes which wiped out their entire document (like accidentally hitting cmd+a and then the space bar or the backspace key). But then didn’t, without you, or the developer of the app you are using to edit your document with, having to do anything special, all your changes going back for a 2 week period are silently saved as a list of deltas (i.e. just the changes are saved, not duplicates of the entire document), which you can browse through with ease, and restore from. The interface Apple designed for browsing versions is fantastic, the historical versions are displayed next to the current version, and as you scroll through time. As you scroll through time, the current version of your document, displayed on the right, remains in place, while the historical version, displayed on the left, changes. When you find the historical version you are interested in, you can either restore it in it’s entirety, or, copy and paste sections of it into the current version of your document. To satisfy us old-timer’s obsessive hammering on cmd+s, Apple have mapped this keystroke to the new Save Version function which tells OS X that this current state of the document is of particular interest to you, and that a snapshot should be taken right now this instant and added to the document’s history.

Clearly, the new approach has many advantages, it is much more logical, being directly analogous to the real world, and it makes data loss much much less likely. Doubly-so if you also use TimeMachine to preserve your versions not just for two weeks, but for ever. Users don’t have to fear accidentally destroying their entire document, because they can just re-wind time and get back to where they were before they made their mistake.

However, for those of us who grew up with the limbo model, this new reality comes at a cost. Our beloved Save As workflows have become annoyingly cumbersome. We need to open the file, make our changes, duplicate the file, revet one copy, and then save the other. We might make things a little easier on ourselves by opening, then duplicating, then editing, but, that still leaves us having to close the original document, an extra step compared to the “old way”! Then there is the fact that the duplicate is not seen by the OS as being related to the original, so when you go to save your new document, the Save dialogue will not default to the location in the file system where the original document was located, but to what ever folder you have set as your default in the Finder. This makes things even more tedious!

Clearly then, people are right to be angry about the demise of Save As, I mean, things have gotten WORSE, right?! Well … yes, and no. Yes if you try to cling to your old workflow that depends on Limbo in a post-limbo world, but not at all if you update your workflow for the new and more logical reality.

The first thing to do is to take a step back an look at the big picture. Don’t fixate on “Fixing Save As”, but instead, on creating a new workflow to solve the underlying problem that you used to solve with Save As.

My suggestions to this end are as follows:

  1. don’t use regular files as templates if at all possible, use actual templates as templates! Most content creation apps have support for templates, or presets or some sort, make use of that functionality. Then creating a new invoice or what ever becomes as simple as opening a new document and clicking on your desired custom template. No more messing with opening regular files, and having to remember to do a Save As rather than a Save (which would ruin your ‘template’). Sometimes, unfortunately, you have to use software that doesn’t support templating. In situations like that, I rely on tools like Text Expander to provide my templates for me. It’s much easier to invoke a Text Expander snippet on a blank document than to open a regular file, duplicate it and so on.
  2. If you do have to use regular files a templates, make use of the Finder to do the duplication for you. The Finder has a Duplicate function, which lets you easily create a copy of the file (and does put the duplicate in the same folder by default), rename it, and drag and drop it into place before you double click to open your new document for editing.

While pondering the Save As question I found myself thinking about the really big picture. Why is Apple making these changes? Where are things headed? Obviously, only Apple REALLY know where they are going and why, for the rest of us Apple watching is not all that dissimilar to Kremlinology back during the Cold War. However, with the caveat that I could be totally wrong, let me lay out my vision of where I think Apple have indicated that they are going, and why.

Back in the 1980s, Apple revolutionised the personal computing landscape with the release of the original Macintosh. That was a quantum leap forward, there has been no other quantum leap since, just refinements of the theme. I think Apple are making another Quantum leap, but doing it more gradually than they did in 1984.

Before the Mac, personal computers forced users to use the a Command Line Interface (CLI) to interact with their computers. You created directories with textual commands, you navigated the hierarchical directory structure with text commands, and you had to maintain a mental picture of where you were within this structure at all times. You moved, copied, and deleted files with text commands, and you opened applications with text commands. The CLI was how you communicated your intentions to the computer.

The Mac changed that. Instead of a flashing cursor on a line, you were presented with a visual interface built around the metaphor of a desktop, and programs, files, and folders were represented by icons which you manipulated with your mouse. You still used the keyboard to enter text, and power users could still use the keyboard to issue commands, but knowing text commands became optional. This removed the most intimidating aspect of personal computers, opening up the world of computing to millions or new users.

Notice two things, firstly, the CLI is not gone, it’s just become optional. The Terminal in OS X is a more powerful CLI than anything that was around in the 80s. Even in OS X Lion, Apple paid significant attention to the Terminal, adding new features and refining old ones. Mac users have, if they wish, the full power of a Linux/Unix CLI environment at their finger tips! Equally though, Mac users are free to ignore the CLU 100% Secondly, notice that on a fundamental level, today’s Mac UI is nothing more than a logical iteration on the 1984 original. We use all the same concepts, in pretty much the same way, just with a lot more fit, finish, and flare.

So, in the 80s it was the CLI that was intimidating to new users, and holding them back, what is it now? I’d argue that it’s the File System. It’s hard for those of us who have been using computers since the 80s to remember what it was like not understanding the file system. New users need to understand the concept of a recursive structure of folders containing files and folders which can contain files and folders which can contain files and folders ….. Users also need to get their heads around the notion that you navigate this recursive structure, and that at any time you are at some point on a tree, and have the choice of moving up a level, down a level, or opening a file at your current level. Finally, users have to learn about document limbo. They have to learn that files are not documents. Files contain documents which you must load into memory, edit there, in a non-permanent temporary form, and then remember to commit back to a file for permanent storage. How many new users can’t find where they saved a file, or lose data by forgetting to save at all? How many new users look at you as if you have 5 heads when you ask them where they are in the file system at this instant?

iOs is generally regarded as one of the most intuitive operating systems ever. We hear stories all the time about two year olds being able to grasp it’s concepts, and indeed 102 year olds. We all have stories to share of relatives who were always intimidated by computers, and scared to use them, taking to the iPad like a duck to water. Why? What is it about iOs that is totally revolutionary? IMO, two things, the removal one one level of indirection by replacing the mouse with the finger, and, the removal from view of the File System. You create documents and edit documents on iOS, you don’t manage files. You never lose your documents, because they are right where you crated them, and, although under the hood there is still a file system, users need know NOTHING about it. The underlying system is still of great concern to developers, but of no concern at all to users.

Apple have noticed this, and it has spurred them on to accelerate their previously existing move towards liberating users from the chore of managing files, and instead enabling them to manage their documents. Long before iOS, Apple moved people away from managing their MP3 files, and towards managing their music. Letting users worry about the organisation of the media into albums, play lists, smart playlists etc, rather than the organisation of their files into folders. Similarly, iPhoto and Aperture allow photographers to concentrate on managing their photos through faces, places, albums, slide shows, keywords, smart albums etc, rather than their image files into folders.

With their move away from file limbo, Apple have effectively removed the distinction between files and documents in OS X Lion, making things easier for new users to understand, and, laying the ground work for taking things a step further in Mountain Lion. What’s coming next is the deep integration of iCloud into OS X applications. This will allow Mac apps to behave exactly like iOS apps, freeing users from the file system entirely if they so wish. The big difference between Mountain Lion and iOS is that in mountain Lion the file system, is not going away, it is just becoming optional. The Finder will join the Terminal in becoming a feature for more advanced users, rather than the way everyone is forced to interact with their computer.

I’m not going to repeat myself and re-explain why, as a power user, I am not afraid of these changes. Not only am I not afraid by them, I am excited by them! The short version is that everything Apple have done to date indicates that, like the CLI, the file system is not going away, but is simply becoming optional. The fact that both the Finder and the Terminal got significant updates in OS X Lion is very strong evidence of this, as is Steve Job’s famous “cars and trucks” analogy at All Things D a few years ago. For more, I suggest reading my article from last year entitled “OS X Lion – Maybe it’s not ‘iPadification’ but ‘Startrekification’?“.