Reinventing Copy and Paste

There's been a lot of conversation lately about reinventing desktop office applications on the web. The first (and sometimes second) versions of all the stalwarts are out there: Word processors, spreadsheets, databases. I can think of Writely and Writeboard and NumSum and JotSpot and of course there's dozens of others if you go out and do some research. (Good roundups and good analyses abound.)

But I spent a lot of time watching, learning about, and customizing office applications the first time they were rapidly evolving and picking up steam. I even made a living for a few years building on top of them. And there's some mistakes being made by this generation of web apps that I hope get corrected.

We can all learn a lot of lessons from the history of DDE/OLE/ OLE3/COM /ActiveX/DCOM /COM+ (you can start reading up on Wikipedia to get some background) and how we went from everyone using best-of-breed standalone apps to one integrated, nearly monolithic Office.

The Holy Grail It basically all started with copy and paste. People who never spent a lot of time in singletasking, character-mode operating environments like the DOS command line don't recall that simply copying-and-pasting information between apps was difficult at the time. And part of the revelation of Windows for mainstream users (or Mac, for leading-edge tech fans), was being able to easily share data in that way. This was different than what Unix users were used to with the command-line pipe, or from what most applications do with feeds today, in allowing structured information flows between applications.

There's a desire to combine data from different sources in an arbitrary way, and to have the user interface display the appropriate tools for whatever context you're in. The dominant model here, probably because of the influence of the early PARC demos, is to have toolbars or UI widgets change depending on what kind of content you're manipulating. Microsoft was really into this in the early 90s with OLE2, where your Word toolbars would morph into Excel toolbars if you double-clicked on an embedded spreadsheet. It was ungainly and ugly and slow, especially if you had less than an exorbitant 8MB of RAM, but the idea was pretty cool.

And it still is. People are so focused on data formats and feeds that they're ignoring consensus around UI interoperability. The Atom API and Metaweblog API give me a good-enough interface if I want to treat a discrete chunk of information (like a blog post) as an undifferentiated blob. But all the erstwhile spec work around microformats and structured blogging (I forget which one is for XML and which one's for XHTML) doesn't seem to have addressed user experience or editing behaviors.

All of this is a long winded way of saying, we don't have much beyond copy and paste right now. If I want to put a NumSum or JotSpot spreadsheet into a Writeboard document, I basically can't do it. Maybe I can do it if all the apps are made by the same vendor and are made available as part of a suite, but we had that with Halfbrain seven years ago.

Now, nobody really adopted the interop specs for embedding rich objects between apps when there was the chance to do this on the desktop fifteen years ago. And this was part of the reason Microsoft Office was able to so completely dominate on the Windows platform by the mid-90s. Nobody else would interoperate in a way that let you easily swap in, say, Quattro Pro for Excel, and nobody else had a consistent way of scripting actions between apps. Of course, the point is moot, because Microsoft used bundling, some brutal and possibly unfair pricing, and an almost pathological underdocumentation of the specs to solidify their lead anyway. And that gave them the time to standardize around VBA as a cross-app scripting language, which took years longer than they had planned.

I can't even imagine trying to debug cross-app scripting on Ajax apps. If it's possible, it sure can't be pretty.

But the battle for office app supremacy on the desktop may have actually been a fight instead of a rout if all the also-rans had added up to something more than the sum of their parts. What was needed was not just mixing and matching at the monolithic suite level, but more granular control over which components would edit particular types of information. It took Microsoft until Windows 2000 for apps to stop just grabbing each other's file formats indiscriminately, and most regular computer users still probably aren't sure what the hell application is going to start up if they click on an MP3. And if you want to automate the simple act of copying and pasting from Lotus 1-2-3 to WordPerfect today, more than 20 years after those applications launched? It's basically just as difficult as it was when Windows 3.1 came out.

So, I'd love to see, as a user, a way for real rich data exchange to happen between the new wave of online applications. I'd like to see some efforts by (at least!) this group of vendors to make it possible to make compound documents between their applications, and then to choose from one or more tools for editing the discrete objects that make up those documents. And I'd like to be able to automate actions between these multiple tools without resorting to Greasemonkey hackery or convoluted browser tricks.

What can I offer in exchange for these features? Well, I'd pay to use the apps that are useful, of course, and I'd help promote the apps by sharing those documents with people. But I can also offer some tiny bit of defense over being completely obviated by the inferior, less open web office applications of the future that have better distribution due to the bundling that will inevitably come to this space. And scriptability means you can get features for free that you haven't even thought of, which is a nice way to combat the bundled single-vendor suites that sacrifice flexibility for consistency and integration.

My theory is that the current wave of web office application developers, like the last one during the dot com bubble, has ignored the lessons of the desktop office suite battles. I'm hoping to be proven wrong.

Other links: Some pieces on this and related topics from the past couple years include my own stories and tools, an overview of web-app tech so naive it makes me wistful for my more innocent days. It's remarkable how similar it is to Dave Winer's What is a Web Application?, which predates it by two years. I found Dave's piece as a link from his review of the state of the art in web office apps six years ago. It reads an awful lot like Richard's review, only now we have feeds on everything and there actually seem to be some users.

One Big Library.

Posted March 7, 2006 18:56

Web clipboard copy - now everybody else wants it, too, and somehow it still seems cool: So now everybody wants clipboard copy. Good thing we've been working on unAPI. Oh!, and fun things like a plugin for WordPress, and unAPI support in state-wide library catalogs, and a multi-API unAPI proxy to experiment with. Who knows if unAPI can be us read more »

mymarkup.net

Posted March 8, 2006 19:22

[Framväxel] Ray Ozzie om "Klipp och klistra", version 2.0: Ray Ozzie skapade först Lotus Notes, sedan Grove och är nu Chief Technical Office på Microsoft och numera riktigt engagerad... read more »

網絡暴民 Jacky's BLOG

Posted March 10, 2006 20:37

20060311網摘 - Office on the Web:

Office on the web

read more »

Shri Author Profile Page

Posted March 6, 2006 02:24

Cross-product Integrability was always gonna be an issue as is standardization across the web.

Wouldn’t it be nice if someone offered you one platform with all the features and functionalities? Wouldn’t it be wonderful if someone gave you an aggregator where you could see the changes happening? In real-time?

Shri Author Profile Page

Posted March 6, 2006 02:25

Cross-product Integrability was always gonna be an issue as is standardization across the web.

Wouldn’t it be nice if someone offered you one platform with all the features and functionalities? Wouldn’t it be wonderful if someone gave you an aggregator where you could see the changes happening? In real-time?

Jason Levine Author Profile Page

Posted March 6, 2006 08:58

How prescient of you — it appears that this is something that Ray Ozzie is talking about as we speak (albeit in the syndication space, rather than in the more general application space).

JHill

Posted March 7, 2006 10:18

Yeah, good timing… http://spaces.msn.com/editorial/rayozzie/demo/liveclip/screencast/liveclipdemo.html

Paul

Posted March 7, 2006 20:20

You forgot Poland — I mean OpenDoc!

http://en.wikipedia.org/wiki/OpenDoc

peri

Posted March 10, 2006 16:10

I was under the impression that the difficulty of sharing data between apps was largely due to two apps not being able to interpret the data being shared. I am also under the impression that the Resource Description Framework (RDF) was designed to allow data to be described and eliminate (or at least mitigate) that problem.

Am I wrong?

Arne Kuilman

Posted March 11, 2006 03:05

Totally agree with you on this issue Anil. Now is the time for heavy thinking and collaboration to present the world with open and structured tools on the internet.

Joachim Bengtsson

Posted April 1, 2006 05:09

Not entirely relevant as it’s not a web tech, but I feel like pointing out some rad tech: LinkBack

nisha m mehta

Posted April 29, 2007 10:08

I need some work copy paste in data work.

The work is very easy and should take around 3-4 hours.

I do this well and fast, rating.

thanks

Post a comment