Last year we witnessed the rise of consumer mashups on the Web, with hundreds of individual mashup-based Web applications being released in 2006 alone. I covered this phenomenon in detail in my year-end mashup wrap-up, but now this innovation in software development is gearing up to move inside the enterprise as a raft of tools get ready to provide the tools to make it possible. What will this mean for IT departments and end-users? Let's take a look.
The motivations for mashups are quite different inside of organizations, where application backlogs and demand for more software that will improve collaboration and productivity are often rampant.In decades past, the new ideas in computing originated in the enterprise world and trickled down to the consumer world later on (things like databases, computer networks, file servers, and so on). However in the Web 2.0 era, for reasons too complex to go into here, new ideas and approaches are germinating more on the consumer Web than from the enterprise space.
Mashups aren't just browser-based integration, but can be server-side too. See my recap of the different mashup styles.
However, though mashups are technically easy to create and generate somewhat useful Web applications, it's a technology solution that may currently be ahead of a real business problem to solve. At least on the Web that is. Monetization and building workable business models around mashups is something of a struggle, particularly when many of the API and widgets suppliers are currently unwilling to provide much in the way of Service Level Agreements that would make it possible to safely rely on a supplier. Some content suppliers (notably Yahoo!) even have draconian daily metering restrictions while they figure out if competing sites will sprout up and take way their users by leveraging Yahoo!'s own services. So while mashups are a very interesting technical solution on the Web, there's still some work to do before successful businesses can be build around this model.
However, the story completely changes for mashups when it comes to the enterprise. The motivations for mashups are quite different inside of organizations, where application backlogs and demand for more software that will improve collaboration and productivity are often rampant. If this state of affairs is true, far from having too much software, most enterprises don't have enough to satisfy demand, despite the prevalence of mountains of existing enterprise systems, many of which are underutilized. The arguments for letting users self-service themselves with end-user application tools and getting IT out of the critical path for the backlog of simpler applications are extensive and I won't belabor them long here. The two primary arguments are The Long Tail of Enterprise IT demand as well as the potential to provide IT solutions that will deliver on the promise of something called tacit interactions.
There is a third argument emerging as well; namely that users have always had development tools they could use and understand, particularly the ubiquitous corporate spreadsheet. If we could only provide mashup tools as easy to use as the spreadsheet with automatic enterprise development best practices, along with access to all the services and content in the enterprise and on the Web, users might indeed use them to solve their business problems and not have to ask IT departments to deliver these solutions using older, (much) more expensive methods.
Web-Based Apps Created as Easily as Using a Spreadsheet
Unfortunately, though there are lots of mashup how-tos floating around the Web (most of them involving Google Maps), the techniques are still clearly in the hacker realm and much in need of tooling that would bring a usable model to mashup creation to the ordinary person, hopefully one that is primarily visual, point and click, and required little or no training.
I recapped some of the emerging tools in the mashup creation space a few months back, hoping to find one that would be suitable for use in the enterprise. And though many were close, there was nothing clearly compelling. Particularly, I was hoping to find a product that met all of my ideals: 100% browser-based, understood enterprise best practices like security, versioning, and approved service/widget directories, and most importantly, was radically easy to use since ease of use is probably the single most important factor for adoption and uptake; hand-in-hand with compelling functionality.
Recently, I had the opportunity to take a preview version of IBM's new QEDWiki platform for a spin. I'd had high hopes for this since seeing it in November at the Web 2.0 Summit in San Francisco but it wasn't until I could get my hands on it that I could confirm that it's showing how far the industry has come along in this space. Fortunately, it was this week, as IBM prepares it for public release in the near term, that I was able to use QEDWiki personally. Here's what I found...
IBM's QEDWiki: A Compelling Example of Enterprise Mashup Tooling
QEDWiki is an entirely browser-based enterprise mashup tool that allows anyone with a little experience to visually construct online Web apps out of widgets. But like Rod Boothby recently asked, can you really build an usable applications entirely out of widgets? The short answer is apparently yes, particularly if those widgets have the ability to leave the browser and interact with services in the enterprise -- typically but not always from your SOA, as the main QEDWiki splash page so clearly suggests -- as well as services out on the Web. Interesting, on this latter point, I'm increasingly finding that the Web has a far richer set of useful services than the enterprise has and are increasingly becoming the most important resource when building these types of applications.
How exactly does it all work? IBM's QEDWiki information page says it best:
QEDWiki is a lightweight mash-up maker written in PHP 5 and hosted on a LAMP, WAMP, or MAMP stack. A mash-up assembler will use QEDWiki to create a personalized, ad hoc Web application or mash-up by assembling a collection of widgets on a page, wiring them together to define the behavior of the mash-up application, and then possibly sharing the mash-up with others. Mash-up enablers provide QEDWiki with a collection of widgets that provide application domain- or information-specific functionality. These widgets are represented within QEDWiki as PHP scripts.
QEDWiki attempts to make use of the social and collaborative aspects of Web 2.0 by enabling the following basic actions:
- Assembly: Subject matter experts who may not be programmers can create Web applications to address just-in-time ad hoc situational needs; they can also integrate data and mark-up using widgets to create new utilities.
- Wiring: Users can bind rich content from disparate sources to create new ways to view information; they can also add behavior and relationships to disparate widgets to create a rich interactive application experience.
- Sharing: QEDWiki can be used to quickly promote a mash-up for use by others and to enable multi-user collaboration on the development of a mash-up.
Interestingly, the documentation is very clear that IBM understands dynamic software ecosystems, viral propagation, and triggering application adoption via network effects. These are very modern concepts from the consumer Web, where the networks and audiences are so large and informal. It's both encouraging and fascinating to see these ideas moving into the enterprise.
In any case, though it's clearly an ambitious project, QEDWiki still has a few rough edges that one would expect by trying to do so much inside the browser, however what IBM has provided so far is extremely compelling and does much to show the promise of this new application development model. To see exactly how end-user generated enterprise mashups work, I prepared a screencast that walks through the process of building a so-called "situational application" on-the-fly in a just a few minutes, complete with geolocation and database support.
It's worth nothing that almost all of the elements that I believe are essential in enterprise mashup tools are present in QEDWiki including vital enterprise context such as security as well as a rich pallete of pre-defined widgets and services for users to work from. QEDWiki is open and extensible and supports plug-ins, SOAs, and much more. It'll be fascinating to watch this mashup platform evolve, particularly how it compares with the raft of other products aiming for this space coming to market very soon. Because whoever hits on the right model for user-generated software might just well do for end-user computing what Dan Bricklin did with VisiCalc all those years ago.
Are you looking at enterprise mashup tools to unload your application backlog? Why or why not?