On March 7, in his talk at the O’Reilly Emerging Technology Conference, Ray Ozzie, CTO Microsoft, demonstrated (short screencasts, live demo page) a method by which users can cut/copy/paste structured content between web applications and between web applications and Windows ones. See also Ray’s blog post on the subject. “Structured content” means things like your contact information (formatted as an hCard) or a photo (in JPEG format) or event information (in hCalendar format). Creative DHTML developers have been supporting cut and paste and drag and drop within their applications for some time now. Those approaches didn’t span applications though. That worked fine, so long as you stayed within a single application silo.
The approach requires no proprietary technology — instead relying solely on open standards: HTTP, XML, HTML, ECMAscript (JavaScript), DOM. This means it runs not only in IE but also in Firefox and Safari, for real, right now. (I just tried Opera 8.52 — no joy.) Microsoft has released the concept and code under the Creative Commons Attribution-Share Alike license. As a result I see no intellectual property hangups associated with this thing. No Slugworths mumbling inducements for you to sell out. No grassy knolls. I do have a minor quibble on the IP front though: Ozzie dubs this technology “Live Clipboard” thus infecting the concept with the Microsoft “Windows Live” brand. I have been using the term “Web Application Clipboard” to describe the same concept for a while now. I prefer a “brand free” term — remember all the confusion caused by the infection of JavaScript with the Java brand?
Ozzie’s Live Clipboard Technical Introduction does a good job of explaining how the demo works so I won’t repeat the basics here. After absorbing all this stuff I do have a few observations though. First, I see no specification for the actual clipboard structure. One of the demo screencasts shows a sample document if you’re quick enough to catch it. You’ll notice it’s remarkably similar to the structure proposed in the lesscode article http://www.lesscode.org/clip-source-response/sample-1. Ozzie’s clipboard on the left, lesscode clipboard on the right:

Beyond that though, I see no specification for the Microsoft clipboard structure — no real explanation, description or constraints. I’d like to see Microsoft provide a schema or somesuch similar to the one I built for the first Web Application Clipboard proposal http://www.lesscode.org/clipboard/v0p1. There are some important specifications embedded as annotations in that schema, for instance:
Domain representations come before presentational ones. Text only representation, if present, is last.
The schema defines a special element to carry the optional text representation of an object on the clipboard. If it’s present at all, this element comes last. By providing this element the vocabulary avoids the need for the dread “mixed content” (shiver). I’d also like to see Microsoft provide a prose specification for their clipboard, again from the first lesscode article:
The structure may contain multiple representation elements. The elements have a well-defined order so that the receiving application knows where the most “presentational†representations are and where the most “domain specific†ones are. Note that the source application may choose in the case of “copy†to place content in the representations either “by value†or “by referenceâ€. The latter necessitates subsequent communication between the destination application and the source application. In the case of “cutâ€, the content is always returned by value. In the case of “identify†it’s always returned by reference. The “identify†verb is for future expansion to support drag and drop gestures.
The Microsoft demo employs an ingenious use of a transparent input element as the hook to the native operating system clipboard. By placing a characteristic image (a PNG of “scissors” in the demo) in the background of that element, the user is presented with a page element that when context-clicked will present cut/copy/paste options in the context menu. The edit menu works as expected too. When the user gestures for cut/copy/paste the corresponding ECMAscript event is raised and handled. In the example, this is handled locally — but there is no reason why in general this couldn’t cause client-server interaction as well.
At first it seems unfortunate that we have to place a graphical indication on the page for every single thing that can be cutted or pasted. Imagine what your Word document would look like under this regime! On the other hand, thinking of new computer users, it is entirely possible that the explicit graphical representation is sufficiently easier to understand that it’s worth the clutter. Regardless, it does work, and the benefits are such that we may just have to live with it for a while. Clutter can be addressed by various techniques such as hiding the scissors behind a hover event.
I hope that Microsoft will promote a more complete specification of the actual clipboard structure soon. With Ray Ozzie’s weight now behind the Web Application Clipboard, I expect the idea to take hold and spread. Exciting oportunities lie ahead.

Ray Ozzie Got the Memo | 22-Mar-06 at 2:14 pm | Permalink
[…] On March 7, in his talk at the O’Reilly Emerging Technology Conference, Ray Ozzie, CTO Microsoft, demonstrated (short screencasts, live demo page) a method by which users can cut/copy/paste structured content between web applications and between web applications and Windows ones. Alert lesscode readers will notice that Ray’s blog post describing his inspiration and motivation for the idea bears a striking resemblance to my own post from last October. A deeper look at the screencasts, the live demo and the technical introduction remove any doubt that what Ray demonstrated, and in fact what Microsoft is offering under the Creative Commons Attribution-Share Alike license (you heard me right) is in fact the Web Application Clipboard as described in that original lesscode post and followup. This is in no way meant to diminish the Microsoft folks’ brilliant implementation. The portable trick used to actually hook the browser’s built-in cut/copy/paste functionality is inspired. The design tradeoff resulting in a visible representation (scissors icon) of every clipboard-capable element is all their own, and quite frankly, is probably a necessary tradeoff if the Web Application Clipboard is to actually get traction. There’s a more technical analysis posted posted on my personal personal blog, but the executive summary is:Live Clipboard (Microsoft’s name for Web Application Clipboard) is awesome and I believe sites will adopt it. I wish the name weren’t “infected” with the Windows Live brand but that won’t matter a whole lot so long as the specification is good and open. Right now though I can’t find any specification at all but I’m keeping hope alive on that front anyway (you listening Gandi? MLK?)What I find more interesting than that technical stuff though is the amount of mindshare this thing got “all of a sudden”. First off, note that Ray’s March 7 blog post on this subject comprises the only thing he’s blogged since the end of January. A whole month of the Microsoft CTO’s time — how many dog-years is that? Now realize that the good guys over at the Gillmor Gang podcast spent a full 48 minutes on this single topic on March 16 (Ozzie Gang I, Ozzie Gang II), most of which was spent interviewing Ray Ozzie himself. They were downright effusive. From Ozzie Gang II:Mike Arrington 4:45“Does this signify any sort of shift organization where people in microsoft who have ideas that can help the Web … that they can also get things through the politics and through the system fast enough so it doesn’t take and years?”John Udell 17:52“Ray this is great. I just personally want to thank you for doing it. I think it’s a tremendous step.”Steve Gillmor 17:57“Yeah, and I think that everybody is knocked out that somebody with your intuition is in such a powerful position at Microsoft. You know, bringing Microsoft into the community has been very difficult to do and you seem to be doing it.”Dan Farber 18:31“I think as everybody on this call has said, we’re quite impressed with this very simple little notion that seems to be well executed and that it comes from Microsoft now really injecting itself into the big old Web community. It’s cool!”Dan Farber 19:13“If you go to the desktop and you consider cut and paste, copy and paste, you know it’s everywhere… to be able to do that on the web… it’s like a big gift — it’s a contribution to the Web”Mike Arrington 22:18“I think the big story here is that we’re starting to see with Ray’s leadership that Microsoft is able to do things that seem selfless and simply good for their own sake and SSE is one example and (Live Clipboard) is another stunning example…”Steve Gillmor 24:05“I think that Microsoft may well be on the threshold, whether they fully realize it or not at all levels of the organization, of winning by accepting a part in the community, and I think that’s a huge story.”Strange and wonderful times indeed. […]