Mashups

From New Media Business Blog

Jump to: navigation, search

By centralizing information into one website or application, almost all mashups give added benefits to users. In most cases, these added benefits provide increased efficiency, increased convenience, or new and different insights. Wikipedia’s definition or mashups is similar to ours and is useful for the understanding of mashups, “a mashup is a Web page or application that uses and combines data, presentation or functionality using two or more external sources to create a new services.”

Contents

Consumer Use

The social age, Web 2.0 concepts can be seen within mashup consumer use. Mashups use the relatively open environment of Web 2.0 to provide a new level of integration between consumers and designers. Easing user experience as a trend towards transforming consumers into developers makes for an interesting dynamic within mashup creation. Many mashups focus in on providing a user-friendly environment where the end consumer can heavily customize the nearly final product. In most cases of customization the consumer can choose to also share their customization with the online world.

New changes to mashups are always emerging. What may have been viewed as a final product in the past is rarely just a final product anymore. Mashups are rarely static web pages without the ability to be modified. Collaboration and reinvention of user made feeds and mashups continually change the way consumers interact with mashups.

History

The history of mashups is interrelated to the history of the web. For Web 1.0, the business model for most companies was to store consumer data on portals with regular updates themselves. If the consumer had to use products and services from the websites if they wanted access to the consumer information. In other words, each site used to be its own information silo. Both mashups and portals pull information from other websites, but the key difference between them is that a mashup creates something new from the information.

Using a restaurant guide as an example, what a portal would do is take the restaurants guides from multiple sources and pull them all into one site. The mashup is still giving the same basic information that is provided by each of those individual sources but has simply aggregated them. However, a mashup for example might combine a restaurant website with a mapping service such as Google Maps to show the restaurants on a map. Whenever the user hovers the mouse over restaurants on the map, there will be a popup to show more information such as reviews, exact address, telephone number, etc. The maps mashups were the first step towards widespread mashup development, this was largely due to ability to easily integrate complex maps with other coding.

With Web 2.0 becoming more prevalent, web standards are being widely adopted even between competitors. This has opened up much of the consumer data websites once thrived on. These forms of collaboration through mashups have opened up information silos, as mashups allow mixing and matching competitor’s APIs (application programming interface) to create new services. Early mashups took data from sources such as Craigslist and combined them with mapping services or photo services to create visualizations of the data. The most famous example is HousingMaps. Many of these early mashups were more focused on the consumer, but in recent years we can start to see that there is both the acceptance and interest of mashups within enterprise system development.

Types of mashups

Mashups can be sorted into three main categories, aggregators, visualizers and maps/earth. Mashups usually have some combination of the various types and the classification should be thought of as more of as theoretical outline rather than as a set classification. Some reference materials also cite mobile mashups as a separate type of mashup, but seeing as mobile mashups are still classified into at least one of these three types we have excluded mobile mashups as a completely separate type of mashup.

Aggregators

The main idea of aggregators is to combine various feeds into one website/application. Some aggregators are static websites, but the trend in aggregators right now is towards a high level of personalization and sharing. Aggregators make up the fastest growing area of mashup creation because of their ease of consumer creation and modification.

Pulse

A great example of this personalization and sharing is the Pulse app which costs $3.99 or Pulse News Mini for $1.99. On Aug 2, 2010 an article from TechCrunch cited the app which allows you to combine news articles, blog posts and other sources into a personal ‘pulse’. After you have created your pulse have the ability to share the pulse with people who don’t even have the app. http://techcrunch.com/2010/08/02/pulse-posterous-pulsememe/

Visualizers

Visualizers take and sort related data, making a display which gives the user a new and meaningful way of viewing it. Simple visualizers are easy to make and can be a great way to reiterate complicated data to people without knowledge of what the data is supposed to represent. In the business world filled with charts and graphs, making a simple visualizer to show to your client could make you stand out.

Google Analytics Visualization
Output from a Google Analytics Visualization Mashup
Due to the complicated nature of Google Analytics data there is a widespread array of visualization mashups for the analytics data.
WikiMindMap

WikiMindMaptakes wikipedia pages and visualizes the links into a brainstorm chart sorted from the headings and links.

Maps/Earth

As discussed in the history section, part of the initial mashup growth was because of the ability to easily integrate google maps. Maps and earth make up the largest area of static mashups, and many of the maps mashups are designed for interest and fun rather than everyday use.

HousingMaps

Perfect for finding your next rental apartment, this mashup plots points of available housing from Craigslist. HousingMaps also provides easy links to the actual Craigslist ad. There are numerous similar mashups now on the web which do similar things such as Ground Zero, a mashup which plots how large an atomic bomb radius will be in any particular location.

Chicago Crime

Chicago Crime now known as EveryBlock Chicago is an extremely popular mashup which also along with HousingMaps helped gain fame for the map mashups. In addition to showing current trends, this mashup plots all the crime within a time frame, route, or area.

Wikivision

Wikivision shows wiki updates in real-time. It is perfect for winning a debate on privacy issues or for hours of endless procrastination.

Development

Mashup development is based heavily on principles described by SOA. Some key principles of note include:

  • Reuse
  • Modularity
  • Interoperability

These principles are key to development as a whole, and are prevalent in the mashup world. The development of mashups center around the effective leveraging of Web Parts and Global SOA (or Service-Oriented Architecture). In other words, it pushes rapid development by utilizing code and services that already exist and are available through a series of application programming interfaces(APIs). It is easy to see mashup development as a collaborative effort, as the idea of extensible programming has allowed developers to focus on creating new functionality, rather than retracing the steps another developer has already taken. The resulting mashup then could provide consolidated functionality to future developments in the mashup scene.

The underlying principles and the nature of mashups have allowed organizations to simplify the development process and create tools that allow end users to easily produce their own mashups. This opens up a new level of collaboration as users with no prior experience in development have the ability to contribute to the community by taking their ideas and creating concrete mashup applications.

Architectural Aspects

Typical Underlying Architecture of a Mashup
At a fundamental level a mashup application is comprised of a presentation, widgets, and data.

Presentation

The presentation is the user interface of the mashup that is given to the user. This part of the application takes all the data provided by various widgets and organizes it into a unique display for the user. Mashups in the enterprise space, as well as other mashup applications out there such as Yahoo! Pipes allow for the end user to customize their user interface as they see fit, allowing a unique experience tailored to each user.

Widgets

Widgets are any snippet of code, which may have originated from a larger application, that will be used to provide data and functionality. A widget can come in the form of web services that provide functionality to the mashup application through a series of function calls provided by an API.

Web Services

A web service is a software system designed to support interoperable machine-to-machine interaction over a network. It employs a request/response model which is comprised of a provider of functionality being the web service itself, and a requester such as a mashup. A provider typically allows for its some of its functionality to be accessed via a web API known to the requester. As a result a requesting entity can utilize the functionality to access or transform data offered by the machine. A mashup application itself is an amalgamation of multiple web services that have been combined through the use of web APIs.

Data

Data can be seen as the backbone of a mashup, as it provides the content to be aggregated and presented to the end user. While in most cases prior to the web 2.0 movement, it was standard that data was found local to the application client or web servers. However, as web 2.0 principles came to be more widely accepted, data for the application client has opened up to depend more on external sources via web services where data is serialized into transmission standards such as RSS feeds. Although the trend of data in the consumer space tend to rely on external sources, as we move into the enterprise space we see models that focus on utilizing internal data sources.

RSS

RSS, or Real Simple Syndication, is a standardized web feed format that is used to publish frequently updated media - such as news headlines, blogs, audio, and video - from a source. RSS feeds are a source of primary or supplemental data that is provided to mashups. The standard utilizes another standardized file format called XML which is a simple format for data consumption and manipulation.

In the enterprise a method of visualizing the architecture of a mashup is to structure it into a logical stack, where each layer communicates with the one above and below it.

Performance

Architecturally, a mashup is still a web application and thus falls under the client-server model, so performance is affected by the location in which code is executed, which will occur either on the client-side or server-side. Client-side or web-based applications consist of code execution to compute and manipulate the incoming data on the client side, either in a browser or some form of Rich Internet Application. The advantage of client-side applications is that any data manipulated on the client-side allows for instant viewing through the user's browser, limiting the time spent to transmit and receive data coming from the server hosting the application. Server-based or server-side applications allow the code execution to occur on the server itself, then passing the resulting information to be displayed on the user's browser. By moving execution to the server-side, it removes any system requirements from the user perspective, and can result in faster computation and manipulation because of optimized server hardware.

Mashup Development Tools

Yahoo! Pipes

Pipes is a data mashup tool provided by Yahoo! that allow users to build out their own aggregated feed of content from around the web. The tool itself provides a registered user with a GUI interface to build their mashup. By utilizing a flowchart approach for building mashups, a developer is able to drag and drop preconfigured modules onto a visual canvas that would compose a mashup. In order to grab data from various sites, the tool provides modules that scour the user specified site for data in a standardized format such as an RSS feed. Additionally, Pipes provides a web service that allows users to integrate data outputted from a data mashup created in Pipes into an external webpage.

Adobe AIR

Adobe AIR allows a web developer with the knowledge of HTML, Javascript, Adobe Flash, and ActionScript to produce Rich Internet Applications (RIA). RIAs are web applications built for the desktop, and AIR is a runtime environment that allows for web standards to function outside a browser and is available cross platform on operating systems such as Linux, Windows, and Mac OSX as well as mobile platforms such as the Android OS.

Some of the advantages RIAs provide for the desktop include:

  • Connectivity Features - An end user does not have to be online to use the application, but receives additional features when connected to the internet.
  • Data Persistence - Any information stored is stored in the application's cache, as opposed to a browsers cache which has the likelihood of being cleared periodically.
  • Interface - By not being constrained to the dimensions of the browser, an application is enabled to bring an even greater customized experience to the user.
  • Cross-Platform - A high level of code reuse allows users to program once, and utilize the tool to develop it over multiple platforms

Enterprise Mashups

Business Needs

Enterprise mashups can help companies solve business challenges and improve their effectiveness. Businesses need to respond to situational challenges with speed and agility. However, these challenges change over time and current applications are not dynamic enough to provide up to date information and be able to share with colleagues. To be more effective, companies must be able to adapt existing ways of working to new challenges faster, without high incremental expense.

Mashups enable business professionals to solve these challenges through self-service application development with ease, improving productivity by finding, customizing and using information more intelligently. Enterprise mashups help business users retrieve information both internally and externally, make it easier to combine them together and get insight into the data that was not possible before. Mashups created can be reused and shared within the company therefore the IT assets are more cost effective as well.

Elements and Processes

Enterprise mashups include three basic elements, namely widgets, feeds, and enterprise information. Widgets are chunks of code extracted from large applications which can be used in other interfaces. Feeds are streams of information which travel from a source to a recipient. For example, one can subscribe to RSS feeds from news corporations and blogs to get the latest updates. Enterprise information includes the user created content within the company’s databases or spreadsheets.

The mashup development cycle - Reuse existing assets in new combinations. Retrieved from ftp://ftp.software.ibm.com/software/lotus/lotusweb/mashup/EPW14002-USEN-00.pdf

The process of utilizing the enterprise mashups is simple. IT professionals help unlock the enterprise information and transform the information into widgets and feeds. Business users can select widgets and feeds they need and wire them together to assemble new applications using enterprise mashups tools. Then they are able to respond to their own challenges more efficiently with the new application and information generated.

Benefits of Enterprise Mashups

Ease of use

Consumable feeds can be easily created from enterprise data, as well as personal, departmental and Web information sources. Widgets can be rapidly generated by business professionals using mashup applications. Mashups are assembled quickly by dragging and dropping widgets onto the page and wiring them together.

Integrate disparate data

With mashup applications, business professionals across the organization get a single and dynamic view of information from multiple sources which gives them better insights to make more innovative and better decisions.

Lower development cost

Without mashups, the level of customization required for the IT department to build small applications for individuals made those applications far too expensive and labor intensive. Enterprise mashups can help business users create their own applications, reducing the backlog and cost on the IT department.

Rapid ROI

Mashups allow companies to test and validate business opportunities in a quick manner. It leverages information from existing IT assets and reduces cycle times as well. It enables business users to reuse mashups created and give instant feedback. The use of mashups in the enterprise situation can help companies achieve a faster return on investment.

IBM Mashup Center Capabilities

Interoperability

Business users can discover and share assets using enterprise mashup tools. They can publish mashups, feeds, and widgets they created in a community catalog where their coworkers can discover and reuse them. They are even able to share these mashups with their channel partners, customers and even prospects.

Mashups: The next major new software development model?

Current Providers of Enterprise Mashups

IBM

IBM Mashup Center is a comprehensive enterprise mashup platform that enables the rapid creation, sharing and discovery of reusable application building blocks such as widgets and feeds that can be easily assembled into new applications or leveraged within existing applications.

Here is a video contains a demonstration of a disaster relief mashup that the Boeing made with the IBM mashup center.

The newest version of IBM Mashup Center is the IBM Mashup Center 2.0. It claims to address potential security challenges by providing users the tools they need to properly manage and secure their feeds, widgets, and mashup pages through enhanced usage reports, content filtering, and sandboxing for untrusted widgets. IBM Mashup Center 2.0 can run on both Linux and Windows, and is available on the IBM Smart Business Development and Test on the IBM Cloud as well as the Amazon Elastic Compute Cloud.

IBM has also expanded its enterprise mashup portfolio to include a new business intelligence offering called IBM Cognos 8 Mashup Service. The IBM Cognos 8 Mashup Service is an API that can automatically expose content from IBM Cognos 8 Business Intelligence as a Web Service for use in mashups. It helps business users to better utilize the existing trusted BI contents with mashups to assist them making better decisions.

Microsoft

Microsoft PowerPivot for Excel 2010 is a data analysis add-in that mashup data from all data sources from across the company as well as the Web. The relationship between data sources can be found automatically by PowerPivot so users can focus more on analysis. The findings can then be published by SharePoint and be accessed through a browser by different users simultaneously. It also enables the IT department to effectively monitor and manage the data mashups to make sure they are safe, accessible and secure.

IT Responsibilities

There is still a fairly long way to go before enterprise mashups can be easily used by consumers within most workplaces. The IT department still has to address difficulties that consumer mashups often do not. The main difficulties deal with security, data quality, governance, and integration between other tools or applications. End-user flexibility need to be sustained while upholding control and manageability of application development and the deployment processes. IT also needs to ensure that confidential information is not inadvertently made available. In addition, companies need to consider who is responsible for mashup updates, cataloging, and support.

Enterprise mashups: here are tasks best still left to IT

Future Direction

Mashups have a bright future within the Web 2.0 and Web 3.0 world. In the early ages of mashups, much of the implementation and coding was very tedious and time consuming. By now, the development process has matured, there are frameworks and better codification of standards which replace most of the tedious coding. Standardization has become common practice making better integration and reuse of complex code. For example, all three major mapping service providers Google, Microsoft, and Yahoo support GeoRSS, GeoRss is an extension of the standard RSS. The GeoRSS extension allows users to specify the Longitude and Latitude of items within a RSS feed. Standards such as GeoRSS have brought stability in the development world and help ease the learning curve for inexperienced developers, and we expect to see the collaboration between companies to create new web standards continue.

The creation of mashups was once only pertained to the developers, but we can see a movement to allow the customers and/or end users to create the mashups. As frameworks and standards are becoming simpler, the next logical step is to build tools that can create mashups. Pipes by Yahoo is an example we have given that allows users to create their own mashups. As we have seen in the enterprise, the transition from traditional development into mashup development with labs such as the IBM Mashup Center have not only brought creation to the end user, but is has cultured the growth of collaboration between companies with the sharing of data and information. We can expect to see the increase in collaboration spark new technologies that will eventually aid us in an everyday setting.

With the glimpse into the world of Rich Internet Applications via Adobe AIR, it brings a new dimension and level of customization outside of a browser and onto a user's desktop. The tool allows for quicker delivery onto a wide array of platforms, without the extra cost of learning new languages. We can expect to see more companies take advantage at the opportunity to provide a more immersive experience to the end user, as predominantly web-oriented companies have another door to put their offerings onto a user's desktop or mobile device.

Within the SFU libraries there are only two books on mashups, online the amount of user created content is so vast that it is difficult to search through all of it. Mashups coming from a user based world are becoming increasingly more useful and reusable, we envision this trend continuing. We also expect an even greater increase in user reviews/ratings guiding inexperienced users towards the most useful mashups and creation techniques.

Personal tools