The first talk of the day I decided to attend is from Woralak Kongdenfha from the University of South Wales, I had the chance to talk to Woralak yesterday about this concept of using Excel as a Mashup platform. I’ve been quite into (physical) mashups lately and I quite liked the idea since Excel is certainly a tool that people (at least from a business or IT field) massively understand. They probably understand it better than novel mashup editors such as Yahoo Pipes and co.
Woralak starts by explaining that they devices to use Excel as a mashup platform exactly for that reason. They consider it as one of the most successful end-user programming environment. It also has a flexible data model and apps can be built incrementally, formula by formula. Having said that she explains why it is also rather challenging. For instance accessing and representing complex data within spreadsheets is not trivial. Cells are meant to contain a single type of data (e.g. integer, one picture) not composites.
She explains how the system is based on a mapping middleware which takes data sources (e.g. mail, company databases) and turns them into services accessible using a data access RESTful API. Quite a nice model which they published at EDBT’08 (Dom: note to myself, read that paper!).
The component model of their mashups is based on three main components. The Data View Components allows accessing data from several internal and external sources. The Presentation Component specifies how the data extracted from a Data View should be mapped to the tabular display of spreadsheets.The Interaction Component synchronizes the data view and the presentation component.
Ideally, users should be able to create these components. However, it is very unlikely since we are not all complete geeks! Thus she explains how they extract a number of mashup patterns (from studying 500 spreadsheets from different domain) which are generic boxes that can be bound to data, sorts of widgets or spreadsheet gadgets.
The first one is the table pattern which is a traditional table with headers and place holders for content. The content pattern is used to display content and the repeater pattern is used to replicates units of content. These patterns and some others were described in a CASE’08 paper. Again, they aim at providing understandable building blocks for mashup builders. Dom: these patterns are what other people from the mashup community name logical building blocks.
She then shows how these patterns can be visually configured, directly in Excel to be bound to data sources. Configured patterns are then saved and could be shared (this is however not yet implemented). Thus, if you need the live Nasdaq in a table pattern you directly find it in the shared repository (provided somebody previously configured it) and could drag and drop it to Excel.
A very nice work which would, I believe (such as our work on physical mashups for real-world services) need some evaluation with real users. This is something we also discussed in frame of MEM 2009, mashup researchers tend to say that things are easy to use but do not really go beyond evaluation by demoing. Let’s change that 😉 Having said that I think the Excel approach might well turn out to be, indeed, rather easy to use!