Title: 7'7 Problematizing Technological Appropriation Web Mashups: Technological Appropriation in Web 2'0
17.7 Problematizing Technological
AppropriationWeb Mashups Technological
Appropriation in Web 2.0
- M. Cameron Jones
- mjones2_at_uiuc.edu , http//cameronjones.com/
- Graduate School of Library and Information
Science - University of Illinois at Urbana-Champaign
2Web Mashups
- Websites which combine data and services from
across the web - Remixing information on the web
- Term taken (appropriated) from Hip-hop culture of
sampling and combining music - The Beatles White Album Jay Z Black Album
DJ Dangermouse Gray Album
3Map-based Web Mashups
- 58 of Mashups on Programmable Web are mapping
mashups (1,178/2,038) - Three main API providersGoogle Maps (50 of all
mashups)Yahoo Maps (4 of all mashups)Microsoft
Virtual Earth (4 of all mashups) - How are people coding and constructing Map
Mashups?
4Memory Maps
http//www.flickr.com/photos/imnewtryme/23875409/i
n/pool-51468602_at_N00/ http//www.flickr.com/photos/
patchmonkey/25826913/in/pool-51468602_at_N00/
5HousingMaps.com
HousingMaps.com Google Maps Craigslist
6Deconstructing a Mashup
Craigslist.com
Google Maps
Javascript Code
7Appropriation of Data Services
- Selection
- Which services will you use?
- Where will the data come from?
- Manipulation
- How is the data being filtered, combined or
altered? - How transparent is the mashup?
- Presentation
- What is the provenance of the data?
8Crime in Chicago
9Protests in Burma
10Sex Offender Map
11Illinois State Sex Offender Registry
12Mashup Code
Javascript Code
Craigslist.com
Google Maps
13Appropriation of Source Code
- How is source code used?
- Libraries and formal code reuse?
- Copy-and-paste?
- Who is building the mashup?
- Professional programmers?
- Amateurs? (view-source days of Web 1.0)
- What is the source of source code?
- Other programmers
- Tutorials and examples (is this appropriation?)
14Student Projects
Campus Schedule Planner
15Student Projects
Champaign-Urbana Bus Route Planner
16Data Collection - Mashups
- Downloaded JavaScript source code for all mapping
mashups listed - Problems Dead links and inaccurate URLs
- Google Maps 494 unique mashups
- Yahoo Maps 94 unique mashups
- Microsoft Virtual Earth 17 unique mashups
17Data Collection - Snippets
- Downloaded JavaScript example snippets from API
provider documentation. - Google Maps 32 (1121) example snippets
- Yahoo Maps 16 example snippets
- Microsoft Virtual Earth 65 example snippets
- Microsoft Virtual Earth Yahoo Maps excluded
from further analysis
18Data Analysis
- Clone Analysis on source code
- Identify code clones in the Mashup code
- Clone Pair a pair of source code segments that
are structurally or syntactically similar
(Kapser Godfrey, 2003). - Use source code cloning to identify what code is
being copied and how mashups are related.
19Software Clones
function load() if (GBrowserIsCompatible()
) var map new GMap2(document.getElemen
tById("map")) map.addControl(new
GSmallMapControl()) map.addControl(new
GMapTypeControl()) map.setCenter(new
GLatLng(37.4419, -122.1419), 13) //
Create our "tiny" marker icon var icon
new GIcon() icon.image
"/ridefinder/images/mm_20_red.png"
icon.shadow "/ridefinder/images/mm_20_shadow.png
" icon.iconSize new GSize(12, 20)
icon.shadowSize new GSize(22, 20)
icon.iconAnchor new GPoint(6, 20)
icon.infoWindowAnchor new GPoint(5, 1)
// Add 10 markers to the map at random
locations var bounds map.getBounds()
var southWest bounds.getSouthWest()
var northEast bounds.getNorthEast()
var lngSpan northEast.lng() - southWest.lng()
function load() if (GBrowserIsCompatible()
) var map new GMap2(document.getElemen
tById("map")) map.addControl(new
GSmallMapControl()) map.addControl(new
GMapTypeControl()) map.setCenter(new
GLatLng(37.4419, -122.1419), 13)
From gmap.doc.3.mash
From gmap.doc.15.mash
20Software Clones in Map Mashups
- Approx. 490,000 Source Lines Of Code
- 18,082 total clones found
- Frequency of clone occurrence min. 13, avg.
764, max. 66,113 - On average, 62.9 of source code in a project is
part of a clone - By comparison 10-15 of large-scale software
systems is internally cloned
21Conclusions
- Technological Appropriation in web mashups
spans several levels of interpretation - The appropriation of service oriented
architectures for personal technology creation - The appropriation of data and services to support
personal or political agendas - The appropriation of source code as a means of
facilitating production
22Thank you
23Google Maps
24Yahoo! Pipes
25Yahoo! Pipes Data
26Social Networks of cloning
- 1,856 clones identified with names Copy of or
copy - Identify who was cloning from whom by trying to
determine the author of the original pipe being
cloned (an inexact measure) - 1,579 pipe authors nodes in network
- 1,483 edges representing the cloned a pipe from
relationship
27Social network of Pipe Cloning
28What pipes are being cloned?
- Examples (DanielRaffel, Edward H, Pasha Sadri)
- Cloned pipes
29Clusters of clones
Aggregated News Alerts
Example pipes
Apartment NearSomething del.icio.us Web Search
eBay Price Watch
30Factors determining cloning
franticindustries
31Factors determining cloning
- Cumulative Advantage Distributions (Simon, 1957
Price, 1976)
32Factors determining cloning