MASHUPS FOR THE WEB-ACTIVE END USER

  • : Ms Word, Ms Word Format
  • : 70 Pages
  • : ₦3,000 | $25 | ₵60 | Ksh 2720
  • : 1-5 Chapters
  •  
  • Click to DOWNLOAD Materials

MASHUPS FOR THE WEB-ACTIVE END USER

ABSTRACT

Mashups are essentially combinations of APIs and online data in a single interface.  However, to be able to take advantage of these systems, users must have the prerequisite programming skills to gather, manipulate, and present the data retrieved from these APIs.  In order to support the less programming-savvy users, tools have been created that simplify the process and remove many of the more complex programming tasks.  While attempting to be comprehensive, as with all emerging technologies, there are design flaws that exist. This work focuses on the tasks that are involved in creating mashups and specifically investigates end-user mental models as they approach this programming task. The first half of this work looks at the skill disparities between expert mashup programmers and novice end-users. I then detail the characteristics of the web-active end user, a population of end users who could take advantage of mashups but cannot because of skill barriers. Focusing on this user group, I explore the ways in which they consider online information. In doing so, I formulate a better understand of the mental models of the web-active end user and provide an informed design guide for the development of future tools.

 

Chapter 1

Introduction

In the years following the burst of the Internet bubble in 2001, the online world has moved to become a much more socially oriented place. A new Internet culture, often referred to as “Web 2.0”, has emerged as a new standard. In Web 2.0, the web serves as a software platform for the open exchange of information (O’Reilly, 2005). Instead of web sites like Britannica Online (1994), the new trend of “wisdom of the crowd” fosters the development of sites like Wikipedia (Surowiecki, 2004). Moreover, the introduction of service-oriented online companies promotes behaviors like blogging and active user participation; in this new world, everyone can and should create content online. With the help of software developers and designers who have created tools to support these ideals, activities that previously needed programming skills can now be completed with little effort. For example, the Google Sites (2008) service lets users create a dynamic website through a simple interface and even provides free hosting for the resulting pages. While web page creation is an important step, it is only a small move toward leveraging the resources that have become available as part of the Web 2.0 movement.

The increasing emphasis on online content creation has inspired companies like Google, Yahoo, and Amazon to open their data systems to public use through the implementation of application programming interfaces (APIs). A user with programming skills can leverage these APIs and other sources of data to create novel web applications, also known as mashups. A mashup is a combination of different APIs and data into a unified visual interface. According to ProgrammableWeb, a group that tracks web-based APIs and mashups, as of October 17, 2008, there are 979 APIs and 3434 mashups with those numbers increasing at 2 and 20 per day respectively (Musser, 2008). These statistics show a clear and growing interest in web mashups. Yet we know very little thus far about the potential of mashups as an element of web programming. How useful can mashups be in addressing everyday information needs? Given the opportunity and the right tools, would end users create mashups? If so, what would they “mash”?

The work presented in this thesis takes a step towards understanding mashups from an end-user perspective by characterizing a population that I have termed webactive end users – these are individuals who actively search out and adopt new technologies and try to make the most of what the web has to offer. While most of these end users have no programming skills, they do have the drive and initiative to try out new web technologies`. I argue that if I can understand the potential of this class of users as possible mashup creators, I can design tools that might better support them in accomplishing open-ended and creative information collection and analysis tasks.

1.1 Motivation

Programming is an inherently complex task (Brooks, 1987); the ability to design and implement computer applications relies on an understanding of software engineering concepts and skills, as well as their application within specific programming languages. End-User Programming (EUP) researchers share the goal of making programming more approachable for individuals who are not professional programmers or who lack the knowledge needed to achieve a computational goal. While many researchers are actively working on the problems and issues of EUP, the “code” produced by nonprogrammers are still often full of mistakes (Myers, Ko, & Burnett, 2006).

Researchers have built tools to assist end users with simple web development activities (Rode, 2005), including creating and editing simple databases. While these tools have had some success, the task of creating a mashup is more complex. Not only do users need to comprehend general programming techniques (e.g., conditional expressions, iteration), but also data manipulation and user interface design. As a result, a large population of nonprogrammers who might benefit from creating mashups is left out.

Michael is a college student in his junior year. He has many friends from high school who he wants to stays in contact with. One way he does this is to chat with them every week after sporting events, particularly football games. To make it easier for his friends to communicate, he decides to create a mashup that would allow his group of friends to talk to each other, but in the context of sports. He includes news feeds from different sports authorities, player statistics, and a map of teams and where games are being played that week. Finally he also adds a chat room where they can chat live during a game, or just leave comments for each other.

Figure 1. Scenario of Michael building a social mashup

In this time of increased social interaction, the tasks that users participate in online have become more data intensive. Mashups are a fitting example of this progression as they allow users to make sense of the information they encounter. The scenario in Figure 1 demonstrates a case where end user mashups would be useful.

Currently, a nonprogrammer would not be able to create the mashup described. Following the example of past works to support end user web development with tools like Dreamweaver and FrontPage, there must be a way to provide for end user mashup activities. With the right tools, nonprogrammers could also make use of these mashup systems.

1.2 Research Questions and Goals

The high-level objective of this thesis research is to investigate the potential of mashups as a web technology for end users. This requires an understanding of the mashup paradigm, the characteristics of end users who might build mashups, and the strategies these users might bring to the task. These objectives have led me to pose the following three questions that will be answered in this research:

R1. What is the nature of the technology involved in mashups?

R2. What are the characteristics of end users who are most likely to benefit from mashups?

R3. How do these end users think about and approach the process of “mashing”?

1.3 Research Overview

To support the eventual design of effective tools for end users to build mashups, we must first develop an understanding of the underlying skills needed to create a mashup. I do not expect that nonprogrammers will develop mashups in the same way as advanced software developers. Not only are there expertise differences, but also the underlying context in which the mashup programming occurs will be different. The advanced skills of a software developer result in a larger variety of experiences and higher levels of abstraction than that possessed by nonprogrammers. For example, an appreciation of the limitations of mashups might allow an advanced programmer to make more effective use of an API, while a nonprogrammer would be less likely to consider alternatives or boundary conditions. Furthermore, even when end users know that problems can be solved in a more efficient or productive fashion, they are often unwilling to spend the time to learn the skills to achieve these higher quality solutions (Carroll &

Rosson, 1987)

My first step in understanding the skills needed for mashup activities is to analyze the technologies that are used to create mashups. While traditional programming relies on what is available on an individual’s computer, programming on the web is heavily influenced by the data and services that are published on the web by other entities. There are three such technologies that are crucial in considering mashups for nonprogrammers: the APIs available on the web, the programming languages used to collect and combine these APIs, and the tools that have been built to support end-user programming of mashups.

Another central question in my research tackles is a question of naturalness and naïve mental models – how does a nonprogrammer think about the concepts and process of creating a mashup? What prior knowledge is used to understand the process of gathering and combining online data? Any tool that aims to support nonprogrammers as mashup creators must address the naïve actions and expectations of unsophisticated users.

The specific work conducted as part of this thesis falls into three different studies of mashup developers (current and prospective):

  1. Survey of expert mashup developers
  2. Survey of web-active end users
  3. Interview and observations of web active end users

Because this is a highly exploratory research project, my initial approach has been to investigate the underlying issues associated with mashup development. I argue that to develop requirements for an end-user mashup tool, I must first understand what is required to create a mashup, including the challenges faced by expert developers. At the same time, I must understand what barriers a web-active end user population would encounter if they were to attempt a mashup activity. As part of this, I hoped to examine the relationship between the characteristics of end users and their online behaviors. Profiling some of the defining features of a web-active end user not only supplies designers with framework to use when building systems, but also supplies researchers with a touchstone for studying web activities. Also, tools developed for end users must provide the types of interactions expected by the end user. What must a designer consider while building tools to support these end users?

1.4 Chapter Outline

This chapter has provided an overview of the motivations that drive the research conducted in this thesis. Chapter 2 will highlight past work in human computer interaction (HCI) and EUP, along with some of technological advances that provided the opportunity for this research project. Chapter 3 will describe two surveys, one aimed at expert mashup developers and the second at web-active end users. Chapter 4 reports a more focused study of web-active end users as they think about online information and attempt to create a simple mashup. Chapter 5 reports the findings of the in-depth study and considers implications for the design of tools and materials. Chapter 6 offers a brief conclusion and sketches future works that draw from the implications of the research.

MASHUPS FOR THE WEB-ACTIVE END USER

Sharing is caring!

Leave a Reply