By John Gruber
Building or remodeling a home? Use BuildZoom to get a free quote.
My favorite new feature in iPhone OS 3.0 is the combination of text selection and cut/copy/paste pasteboard commands. I started using the developer program iPhone OS 3.0 seeds in March, but, initially, only on my old original iPhone. But by mid-April I had installed OS 3 on my primary iPhone 3G, warnings regarding relying on the beta OS be damned.1 The selection and pasteboard features were simply too good, too useful, to go back to using an iPhone without them.
One way I use my iPhone to actually “work” is with Movable Type’s excellent iPhone-optimized web app interface, with which I can post and edit items to Daring Fireball. I wouldn’t want to write a full-length essay with my thumbs, but it works great for posting short Linked List items.
I post new links to DF from my iPhone more frequently than you might imagine. I no longer lug my MacBook Pro around during the day at conferences such as WWDC, for one thing, and my iPhone is often all I have with me when I’m traveling with my family. Just about any time I’m out of my regular routine, it’s all iPhone, all day.
The basic post-to-DF-from-my-iPhone workflow is like this:
I have a page open in MobileSafari that I want to post as a link to DF.
I invoke a customized bookmarklet in MobileSafari. This bookmarklet sends me to the “create new entry” page on my installation of Movable Type, with the fields for the entry title and link URL pre-populated with the title and URL of the page in MobileSafari to which I’m linking.
I almost always edit the title, but the big score is having the URL field populated automatically by the bookmarklet. Prior to the arrival of copy-and-paste in OS 3.0, the only other way I could have gotten the URL from one page in MobileSafari to the link URL field in Movable Type in a second page in MobileSafari would have been to type it out by hand — painstaking and error-prone.
And but then what about creating additional links within the body of the entry? In those cases I was stuck doing it the pain-in-the-ass way. More often than not, I’d just not add any additional links to the entry, even if I wanted to.
And blockquotes — cited passages from the page being linked to — were pretty much out of the question. Without copy-and-paste, the only accurate way to quote even just a few sentences from one web page and insert them in the DF entry would have been to transcribe the passage by hand with paper and pen, then re-type the passage on the iPhone.
The copy-and-paste implementation in iPhone OS 3 has put an end to that. It’s everything I hoped for, and I use it all the time.
Do I wish this had been in the iPhone all along? Or that it had come a year ago in iPhone OS 2? Sure. But, as I wrote two years ago, given the way that most simple gestures had already been assigned in the iPhone OS user interface, it wasn’t obvious or easy at all to see how text selection and copy/paste should have been added to the iPhone. (And as much as I wanted the feature, I fully realized that most iPhone users don’t publish full-time weblogs and therefore didn’t need the feature nearly as much as I do.)
The two main problems Apple needed to solve were (a) how to allow for the selection of a range of text, and (b) how to invoke cut/copy/paste commands on a system without a keyboard and without a menu bar. Their solution to (a) was to make selection an extension of the existing magnifier loupe interface for placing the insertion point. Their solution to (b) was to present the commands in what is effectively a pop-up contextual menu that appears only when you have made a selection or moved the insertion point.
It all seems fairly obvious once you’ve used it, but there was nothing obvious about it before it was designed. This is one area where Palm, in designing the WebOS interface, couldn’t study what Apple had done (because Apple hadn’t shown it yet) and had to devise their own implementation. Despite the numerous fundamental similarities of the iPhone and WebOS interfaces, text selection and Cut/Copy/Paste are quite different on the Pre. (And, I must say, in my 30 minutes or so of tinkering on the Pre, inferior to the iPhone’s, especially with regard to selecting text.)
That we had to wait two years for the iPhone’s text selection and pasteboard is a good example of one aspect of the Apple way: better nothing at all than something less than great. That’s not to say Apple never releases anything less than great, but they try not to.2 This is contrary to the philosophy of most other tech companies — and diametrically opposed to the philosophy of Microsoft. And it is very much what drives some people crazy about Apple — it’s simply incomprehensible to some people that it might be better to have no text selection/pasteboard implementation while waiting for a great one than to have a poor implementation in the interim.
It’s hard to prove that good is the enemy of great, but the evidence speaks for itself.