Sam Guinea, Luciano Baresi, Matteo Albinola and Matteo Carcano present the Mashlight framework at MEM 2009.
Mashlight is a lightweight mashup framework which aims at a software solution providing: flexibility (support for data, logic and presentation), usability (come to an abstraction level that everyone can understand) and fast prototyping.
Their starting point is that mashups are created through the process-like disposition of logic activities. Sam starts by presenting the model they use for their mashup framework. The notion of Mashlight Block is the first being introduced. It represents a functional unit with clear goal, e.g. a map block, a movie search block, etc. Next is the Mashlight Processes, they are basically graph representation of the process. Using them you can go from a Block to another and back. The processes are a rather high level of abstraction, there is no explicit conditional branching or looping. Finally the Advanced Aspects offer special building Blocks to for instance to: aggregate data Blocks, prioritize data assignment, undo operations so that you can go back in the process tree.
Currently the architecture implements a blocks library, a runtime engine and a mashup builder. The team also works on a Block builder which will enable users to create their own Blocks which they can then use in their applications.
Sam goes on with an example called NightPlan which enables people to organize their night out: pick a restaurant and a cinema. The example is composed of three building Blocks, a Google maps Block a PagineGialle (Italian Yellow Pages) Block and a Movie Tickets. We start with the Google map block where you give your location, you go on with the Yellow Page block to which you give the type of restaurant you’re looking for and you end with the Movie Tickets Block which let’s you choose a movie. When running the process the Blocks appear one after the other on the screen. Finally you get a Google map Block which will sum up the whole process and tell you where you have to go through.
Eventually, Sam is talking about supporting mobile devices so that the process could start on a PC and continue on Android or the iPhone.