Mash-o-matic Overview

SPARCE Home ] Up ] [ Overview ] Linking ] Tools ]


Dept. of Computer Science
Portland State University


We assume you are familiar with terms such as superimposed information and superimposed application.

Mash-o-matic is a utility to automatically generate mash-ups (web applications that combine information from different sources). Out of the box, Mash-o-matic can generate data for mash-ups based on the Google Maps API, and generate the mash-ups themselves. It can be easily customized to use other map tools such as Yahoo! Maps and Virtual Earth.

Mash-o-matic can potentially save developers time when performing some of the information-management activities of mash-up development. Also, depending on the particulars of the mash-up under development, they might not need to write any code at all. For example, we have used Mash-o-matic to create a mash-up that displays a map of the Portland State University campus (Google Maps version, Yahoo! Simple API version). We spent about five hours to create this mash-up, and wrote no code to create it.

Manually collecting and processing information for a mash-up can be time consuming because the sources of a mash-up’s data can vary in terms of format (HTML, PDF), structure (for example, address formats vary), and location (local file system, the web). Further, data might need to be transformed and elaborated before use. For example, a mash-up displaying a campus-map needs map coordinates, but data sources such as campus directories provide only addresses. Finally, mash-ups are unlikely to use the complete contents of a single source; they tend to use only fragments of a source’s contents.

Mash-o-matic can help automate some of the information management activities of mash-up development. It can help a mash-up developer clean and combine extracted data and transform the combined data to the format a mash-up needs. When used in conjunction with a superimposed application, it can also help him extract and elaborate data from different sources. For example, it can extract addresses and generate map-coordinates (by using existing geo-coders) for addresses. Mash-o-matic can also generate the mash-up itself.

Mash-o-matic generated mash-ups are simple in comparison to some of the mash-ups seen on the web. (Google Mapki lists some interesting mash-ups). However, the process of generating mash-ups and data for mash-ups using Mash-o-matic demonstrates the potential for using superimposed information and bi-level transformations in information management activities. When superimposed information is used to collect data for a mash-up, Mash-o-matic uses the following existing components for superimposed-information management: SPARCE (our middleware to assist superimposed-information management), our query processor for bi-level information, and Sidepad (a superimposed application).

The Portland State University Campus-map Mash-up

Figure 1 shows a mash-up displaying a map of the Portland State University campus. On the left is a map displayed using the Google Maps API. On the right is a list of landmarks (addressable entities). A numbered marker (a point on a map, denoted by a colored balloon-like icon) on the map represents one or more landmarks. For example, the Marker 25 represents two landmarks: the School of Business Administration and the School of Education. Clicking on a marker in the map or on a landmark in the list pops up an information window above the corresponding marker. For each landmark related to the marker, this information window shows the name of the landmark, the address, an introductory text (such as departments housed), and a link to more information. Figure 1 shows the information window for Marker 20 (which corresponds to the landmark ‘Urban Center’).

The information for the mash-up shown in Figure 1 comes from over 180 fragments spread across 50 web resources. We collected this data in a Sidepad document and generated the mash-up using Mash-o-matic. This campus map has 45 markers. We provided Mash-o-matic the coordinates (latitude and longitude) for only 25 markers; Mash-o-matic automatically transformed street addresses to coordinates for the other 20 markers.

Figure 1: The Portland State University campus-map. Map drawn using the Google Maps (tm) API.

Mash-o-matic Reference Model

Figure 2 shows a reference model for Mash-o-matic. The dotted arrows in the model show data flow; the solid arrows show control dependency. The shaded area shows components of Mash-o-matic. Mash-o-matic uses a Sidepad document of a particular structure to collect and organize information (component labeled SPAD in Figure 1). It uses a bi-level query to transform the collected information to a format the mash-up requires, and to generate the mash-up itself. The query uses ‘’ and the Yahoo! Geo-coding Service to translate addresses to map coordinates. Running the query generates both the data files for a mash-up and the mash-up itself. The code for the mash-up is in a JavaScript file (the component labeled JS in Figure 1). The script uses an existing map API to display maps and markers. The current implementation uses the Google Maps API, but it can be altered to use other mapping tools. (No script might be needed to use some mapping APIs: for example, the Yahoo! Maps Simple API).

Figure 2: A reference model for Mash-o-matic.

The Information Model

Figure 3 shows the information model of a Mash-o-matic generated mash-up. In this model, a mash-up is a map. It has a title, a center (specified as map coordinates), and a default zoom level for the map. It is associated with a set of markers. A marker has a type (such as "Housing" and "Dining"), coordinates, and a location for its icon (a directory specification). A marker is associated with landmarks. A landmark has a type, a name, an address, and a few other attributes.

Figure 3: The information model of a generated mash-up.

Contact us

Send a mail to the following address if you like more information about Mash-o-matic.  


Page modified: 14 May 2007 08:29 AM