My post yesterday on Excel as an early example of a tool for creating mashups got me thinking about the attributes of a great mashing tool. Here's my list:
Ability to get data from a variety of different data sources/services
Support for a variety of different types of standard interfaces. In the enterprise this is likely to mean ODBC, OLEDB etc as well as RSS, REST and WS-* interfaces. Also required is the ability to use data retrieved from one service as an input parameter to a second service.
Ability to aggregate and manipulate data
As a minimum be able to filter, merge and perform basic calculations with retrieved data.
Ability to visualise data
This is the fundamental point of a mashup in my opinion. It's all about helping the data make sense. Maybe the tools has built-in visualisation capabilities, but should also be able to make use of visualisation services.
Ability to create no-code mashups
But the best tools will let the user drill down to a code-level if they want to.
Ability to create shareable solutions
Mashups must be shareable. Ideally their should be a framework where a user can publish, discover and rate peer-created mashups. At the most basic level the mashup could be shared by attaching to an email for instance.
Ability to create mashups that can be used as building blocks in other mashups
I.e They should support a range of standard data access APIs without the user have to do any real work.
Do you agree?