Mashups and Situational Apps
July 7th, 2007 by Jacob UkelsonMashups both for prosumers (a new term that I had first heard from Clare Hart at the “Buying & Selling eContent” conference) - high-end consumers and creators of content and for scripters (my own term since I am not sure what exactly to call these high end-users - for example the departmental Excel gurus that create and manage departmental Excel scripts and templates).
The search for tools that empower these domain experts to create applications without programming has been around since at least the 80s (i.e. 4th generation programming languages) - which led to various new forms of application creation - but the only one that has really evolved into a “general use” corporate tool for non-programmers has been Excel (though not really a 4GL). The reasoning behind those tools was to put the power to create appplications into the hands of the domain expert, and you will get better applications, faster. One new evolution of these types of tools are Domain Specific Languages (DSL) that make programming easier by focusing on a specific domain and building languages that are tailored to that domain.
So much for the history lesson - but what does that have to do with Mashups and Situational Apps? Well they both focus on pulling together different data sources and combing them in new ways in order to discover new insights. Mashups seem to be the preferred web term, Situational Apps is a term coined by IBM for the same tyoe of application in a corporate setting.
These types of applications (and application builders) have a lot in common:
1. They all start from a data feed of some sort. either RSS or XML.
2. They focus on ease of use over robustness.
3. They create allow users to applications easily to solve short term problems.
Many of these tools are experimental and in the Alpha or Beta stage, or are Research projects of one type or another (QEDWiki, Microsoft Popfly, Yahoo Pipes, Intel MashMaker, Google Mashup Editor). As these tools start maturing, I think we will see a layered architecture emerging, especially for the corporate versions of these tools. Here is how I see the corporate architecture layers evolving (click on the chart to enlarge it):
I think the layers are pretty self explainatory, except for the top-most Universal Feed Layer which is simply an easy way to use the new “mashup” data in other ways (e.g. other mashups, mobile).
If you look at the stack there are players in all layers (though most of the mashup tools I mentioned above are in the presentation and mashup layers), and the stack as a whole competes very nicely with a lot of current corporate portal tools - but with a much nicer user experience - one that users are already familiar with from the web.
One important issue that is sometimes overlooked is that mashups require feeds - and even though the number of web feeds is growing, there is still a huge lack of appropriate feeds. Since most mashup makers rely on existing feeds they have a problem when a required feed is not available. Even if the number of available feeds explodes exponetially there is no way for the site provider to know how people would like to use the feeds - so for mashups to take off, the creation of appropriate filtered feeds is going take on new importance, and the creation of these feeds is going to be a huge niche. Currently “Dapper” is the only tool that fills all the needs of the “universal feed layer” - site independence, web based and an easy to use, intutive interface for prosumers and scripters.

July 9th, 2007 at 6:06 am
A nice comparison of differnt existing Mashup tools: http://mashable.com/2007/07/08/mashups/#more-6073
May 11th, 2008 at 6:44 am
Hi,
Could you please explain whats the differance between Enterprise Mashup softwares and Cape Clear Orchestration (http://www.capeclear.com/products/orchestrator2.shtml)?
Many thanks
May 13th, 2008 at 3:21 am
Orchestration (Cape Clear or otherwise) is (forthe most part) a way to connect web services in such a way that they implement some business process. Most orchestration tools use BPEL as their runtime orchestration description language. So effectively you write BPEL code invoking web services to implement some business process.
Mashups are more data oriented (you can even think of orchestration as process flow, while mashups up are data flow). In XML format comes in from various sources, and then combined and displayed. It is much more lightweight than orchestration, and is used to gain insight into data,rather than implement a business process.
May 13th, 2008 at 8:08 am
Thank you, I understand a lot clearer now, in this case, what the difference between “enterprise mashup” and DSS systems that show information in graphs, data coming from different systems in an integrated way and help managers in their dictions. In comparison to DSS systems available in the market, is there any room for “enterprise mashup” softwares?
And another question, what changes should take place in the “services” of an organization that has already implemented SOA, to be able to use mashup?
Many many thanks
May 14th, 2008 at 12:48 am
DSS and BI systems are usually systems that take structured data from a database and allow programmers to create various views and slices of data. Mashups are more focused on XML (or semi structured data) rather then structured data. They also are easier to build - take a few streams of data, join together in some simple way and you have a mashup (sometimes they are called situational apps, since you can easily build them for a specific situationand then throw them away).
To build mashups you need data in an XML format (and RSS is even better) and some combining mechanism (like Yahoo Pipes which can combine RSS feeds and provide result RSS feeds, or if you want something behind the firewal - JackBe Presto) and a way to display the results (e.g. an RSS reader). So as long as your SOA can give you the data you need as XML (or preferably RSS), it should be easy to build mashups.