For years, many companies including Microsoft have invested significantly in the open, interoperable use of XML and Web Services toward enabling programmatic interconnection between processes, services and sites across the internet. And that investment is bearing fruit as professional developers serving enterprises use powerful tools such as the .NET family of products toward decidedly embracing SOA. The shift from monolithic toward composite applications has progressively become a reality in the enterprise, as we turn data center-based systems into a programmatic âo[ogonek]meshâo?.
Â
But in the wild world of the web, composite applications have taken a notably different path âo[base "] the most popular form these days being the mashup. Although arguably far less powerful than going the WS route, mashups demonstrate how quickly a âo[ogonek]meshâo? can form when the process of wiring together components is made easy for the âo[ogonek]scripting-levelâo? developers. These higher-level developers and integrators are critical to the development ecosystem: they exist in far greater numbers than formally trained programming professionals, and more often than not they possess key domain expertise âo[base "] rapidly bridging technological capabilities into real world, valuable solutions.
Â
Clearly as the flexibility and potential of âo[ogonek]mashing upâo? and recombining application components gets closer to someone who understands the userâo[dot accent]s needs, the value to that user increases.
Â
And this is where my head has been at the past several months. Iâo[dot accent]ve been wondering, âo[ogonek]what would it take to enable users themselves to wire-the-webâo??
Â
If you happened to read my post about Simple Sharing Extensions last fall, youâo[dot accent]re already likely aware of my optimism about the potential of using RSS as a DNA of sorts to enable âo[ogonek]meshâo? information sharing scenarios at a grassroots level on the internet. I believe RSS has the potential to be the âo[ogonek]UNIX pipe of the internetâo?, and that one of the simplest and most pervasive âo[ogonek]meshâo? needs that many of us have is to provide connections for things such as contacts, calendar entries, messages, files and the like.
Â
About a month ago, while putting together a presentation that included the obligatory March Of History related to the emergence and significance of the GUI, I was struck with a fairly stark realization.
Â
In the PC world, whose pre-GUI history was experienced through various flavors of MS-DOS, one of the greatest user benefits first delivered pervasively by the GUI was the radical concept of running multiple applications simultaneously and, more importantly, using them concurrently and inter-operably. Through rigorous style guidelines and standard controls made available to application developers, suddenly users had the power to interact in ways that bridged divergent applications.
Â
And what was the most fundamental technology enabling âo[ogonek]mash-upsâo? of desktop applications?
Â
The clipboard. Â And a set of common clipboard data formats.
Â
Before the clipboard, individual applications (such as Lotus 1-2-3 with its Copy and Move operations) enabled intra-application data transfer âo[base "] in a world largely designed around a single running application. But the advent of the multi-application user environment, combined with the simplicity of the Select/Cut/Copy/Paste/Clear model, suddenly empowered the user in ways they hadnâo[dot accent]t previously experienced.
Â
In its simplest form, the clipboard enabled the user to simply grasp the concept of moving a copy of the information from one application to another (i.e. by value).
Â
In its most advanced form, the clipboard enabled users to set up âo[ogonek]publish and subscribeâo? relationships among applications âo[base "] dynamically interconnecting a âo[ogonek]publisherâo? with a âo[ogonek]subscriberâo? (i.e. by reference). You can see an early such PC application mashup in one of my old posts.
Â
So âo[oe] I started to think:
Â
The world of the Web today is enabled by the power of a simple user model âo[base "] Address/Go or Link, Back, Forward, Home. And certain âo[ogonek]in-pageâo? models have emerged from the ether: clicking the logo in the upper-left is Home, search in the upper-right, Legal/Corporate/Privacy/etc at the bottom. How we interact with shopping carts is now fairly standard.
Â
But each site is still in many ways like a standalone application. Data inside of one site is contained within a silo. Sure, we can cut and paste text string fragments from here to there, but the excitement on the web these days is all about âo[ogonek]structured dataâo? such as Contacts and Profiles, Events and Calendars, and Shopping Carts and Receipts, etc. And in most cases, the structured form of this data, which could be externalized as an XML item or a microformat, generally isnâo[dot accent]t. Itâo[dot accent]s trapped inside the page, relegated to a pretty rendering.
Â
So, whereâo[dot accent]s the clipboard of the web?
Â
Whereâo[dot accent]s the user model that would enable a user to copy and paste structured information from one website to another?
Â
Whereâo[dot accent]s the user model that would enable a user to copy and paste structured information from a website to an application running on a PC or other kind of device, or vice-versa?
Â
And finally, whereâo[dot accent]s the user model that would enable a user to âo[ogonek]wire the webâo?, by enabling publish-and-subscribe scenarios web-to-web, or web-to-PC?
Â
Just think about that last scenario. Itâo[dot accent]s a mess today. Letâo[dot accent]s look at the most adopted form of wiring-the-web today: RSS feeds for blogs.
Â
There are three classes of generally available weblog feed readers:
Â
Many blog sites are prepared to publish content through feeds. But how do they suggest to the user that they establish a subscription within their preferred blog aggregator?
Â
In the case of #3 above, browser designers have (thankfully) agreed upon a simple technique wherein a special icon âo[ogonek]lights upâo? when a page contains feeds to which you can subscribe. This icon is:
Â
However, in the case of #1 and #2 above, weâo[dot accent]re in a world of hurt.Â
Â
Â
Â
And what of the promise beyond weblogs for feed-based publish and subscribe? Â Todayâo[dot accent]s user experience is certainly constraining what might be.
Â
After thinking about this for a while âo[oe] I had an idea .
Â
The idea was based on using a simple and consistent user model to wire-the-web that would assist individuals in creating their own mesh of interconnections - both web-to-web and web-to-PC.
Â
Simply stated, Iâo[dot accent]d like to extend the clipboard user model to the web.
Â
A few weeks ago, I approached my brother Jack âo[base "] who leads a Concept Development team in my group at Microsoft âo[base "] and visually sketched out and storyboarded some end-to-end user scenarios that I wanted to try to accomplish. The scenarios were all centered on this new clipboard user model.
Â
The team took me up on the challenge, and in a few short weeks had accomplished all of the scenarios, and more. And they did it using techniques that are incredibly simple, and which work securely and are browser independent.
Â
Today at Oâo[dot accent]Reillyâo[dot accent]s Emerging Technology Conference, Iâo[dot accent]m sharing this new concept âo[base "] through a brief demo and through hallway discussion.
Â
I call this new concept Live Clipboard, because we view âo[ogonek]liveâo? efforts as those providing users with seamless end-to-end scenarios that âo[ogonek]just workâo? by weaving together the best of software and the best of services.
Â
Â
There are quite a few key influencers attending ETech, and itâo[dot accent]s my aspiration that many of them, and many of you, will embrace this nascent technique, and âo[ogonek]make it realâo? by working with us. The goal is to create a standard that works across many different scenarios, many different types of websites, and many different PC-based applications. In the same vein as Simple Sharing Extensions, weâo[dot accent]re releasing our work under the Creative Commons Attribution-ShareAlike license.
Â
For our part, a number of individuals from MSN and Windows Live will now be actively participating in the refinement of Live Clipboard toward ultimately implementing it on sites such as live.com. Those whoâo[dot accent]ve seen it are quite excited about bringing this value to users.
Â
Â
Enjoy, and please share.