MashMaker: Mashups for the Masses
Rob Ennals
Intel Research Berkeley
Minos Garofalakis minos@yahoo-inc.com
Yahoo Research
Categories and Subject Descriptors: H.4.3 [Information Systems Applications]: Information Browsers General Terms: Management, Design, Human Factors, Languages Keywords: Mashup, web, end-users.
Info Toggle Search Box Search Results
1.
INTRODUCTION
Properties Property Children Arg Formula Selected Widget Properties View
MashMaker is an interactive tool for editing, querying, manipulating, and visualizing "live" semi-structured data. MashMaker borrows ideas from word processors, web browsers, and spreadsheets. Like a word processor, MashMaker allows ad-hoc, unstructured editing of data. Like a web browser, MashMaker encourages users to find information by exploring, rather than by writing queries. Like a spreadsheet, MashMaker allows users to mix computed values with their data, including editing "live" (i.e., continuously-updated) data assembled through the web and/or user queries. MashMaker represents a novel paradigm for the ad-hoc exploration and management of diverse, heterogeneous collections of live data, that draws on the design principles of more "natural" software tools (like web browsers and spreadsheets) and simple scripting languages, rather than formal database models, schemas, and queries. The goal of MashMaker is to allow non-expert users to easily create their own mashups based on data and queries produced by other users and by remote sites. Non-expert users often have lots of data that they would like to be able to query and otherwise manipulate. For instance: "Which of these houses has the largest number of good restaurants nearby?", "Do any of these news stories affect people I know?", "Show me a map with the addresses of everyone with my surname" or "How much would each of these recipes cost to make if I bought the ingredients in Safeway?" Right now, performing these kinds of queries and sharing them with others is possible, but not easy. The goal of MashMaker is to make such tasks easy and intuitive. MashMaker is designed around the following key principles: · Untyped Tree Data Model: Data is structured as a tree, where nodes have content, child nodes, and properties. There are no constraints on the form of the tree. · Mixed Data and Queries: Users can extend/enhance their view of the data by adding computed nodes whose values are computed based on the surrounding data. · Sharing Queries as Widgets: Useful queries can be bundled and exported as "widgets". If a user computes something interesting over their data, they can then choose to turn the query into a widget and share it with their friends.
Copyright is held by the author/owner(s). SIGMOD'07, June 1214, 2007, Beijing, China. ACM 978-1-59593-686-8/07/0006.
Figure 1: The MashMaker Interface. · Overlayed Editing of Live Data: Users can apply local edits to their data views (including query results). These edits are treated as an overlay (or, an incremental edit script) on top of the data, allowing the data to be updated while preserving user edits. · Example-Driven Queries based on Interactive Data Exploration: Users never have to think about textual queries in a formal query language. Instead, all queries and data manipulation tasks can be formulated through interactive data browsing and exploration. Query tasks can also be specified by example; for instance, to compute a property for a collection of data elements, a user can compute that property for one element, and then copy the property to other elements in the tree (e.g., the node's siblings). · Collaborative Exploration of Data: Users can share data and widgets with friends and other members of their social network. During data exploration, MashMaker can automatically suggest widgets that have been applied to similar data inside the user's social network. MashMaker differs from previous work on personal information management [1, 3, 2] through its focus on ad-hoc, interactive data exploration and manipulations, rather than structure extraction and support for just querying the data. MashMaker improves on previous tree-structured spreadsheets [4] through its support of live data and query results, its ability to package up queries as widgets, its support for user collaboration and sharing, and its explorationbased, formula-free query model. Figure 1 shows a screenshot of the MashMaker interface running as an AJAX application within the FireFox web browser. The
1116