Mashup University 4: Intro To Mashups
Upcoming SlideShare
Loading in...5
×
 

Mashup University 4: Intro To Mashups

on

  • 22,104 views

Slides from John Herren's Introduction to Mashups session at Mashup University 4

Slides from John Herren's Introduction to Mashups session at Mashup University 4

Statistics

Views

Total Views
22,104
Views on SlideShare
21,945
Embed Views
159

Actions

Likes
30
Downloads
738
Comments
2

20 Embeds 159

http://aaronlong.wordpress.com 63
http://creator-textcube.blogspot.com 19
http://jhherren.wordpress.com 18
http://www.slideshare.net 15
http://www.techgig.com 13
http://creator-textcube.blogspot.kr 7
https://www.linkedin.com 5
http://www.linkedin.com 3
http://creator-textcube.blogspot.jp 2
https://oak.vanderbilt.edu 2
http://trunk.ly 2
http://makeruna-iko.blogspot.com 2
http://makeruna-iko.blogspot.kr 1
http://10.150.200.57 1
http://myclassroom.cput.ac.za 1
http://www.gogohaku.com 1
http://www.digitalistic.com 1
http://webcache.googleusercontent.com 1
http://creator.textcube.com 1
http://www.slideee.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike LicenseCC Attribution-NonCommercial-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Mashup University 4: Intro To Mashups Mashup University 4: Intro To Mashups Presentation Transcript

  • Cross Entropy Reduction for Image Analysis Using Simulated Annealing and Fast Artificial Neural Networks Mashup Camp IV, Mountain View CA
  • Introduction to Mashup Development John Herren Developer, Consultant, Masher-upper Mashup Camp IV, Mountain View CA
  • My Current Gig
  • Wikipedia Says
    • Mashup (music), a musical genre of songs that consist entirely of parts of other songs
    • Mashup (video), a video that is edited from more than one source to appear as one
    • Mashup (web application hybrid), a website or web application that combines content from more than one source
  • Do you have the mashup gene?
    • Did you repurpose your toys as a kid?
    • Do you still?
    • LEGO maniac?
    • Do you embrace the web as the ultimate maker's platform?
    • Are you frustrated until you figure out how things work from the inside?
  • Do you have the mashup gene?
    • Did you mourn the loss of Don Herbert?
  • Mashup Characteristics
    • Combination
    • Visualization
    • Aggregation
  • Combination
    • Use multiple data sources
    • Join across dimensions
    • Subject + Time/Place + ...
  • Combination Example
    • Input: Bands I like + Where I live
    • Data Sources: Eventful.com + Yahoo! music search
    • Output: nifty mashup
  • Visualization Example ChicagoCrime.org
  • Visualization Example ChicagoCrime.org
  • Aggregation
    • Group your data and take a measure
    • Sum, Avg, Min, Max
    • Create information from the data
    • Which becomes new data itself
    • Use algorithms as a substitute for creativity!
    • Classification, prediction, clustering, NLP
    • Uncover hidden aspects of your data
  • Aggregation Example
  • Why Mashup?
    • Perfect prototyping platform
    • Hobby
    • Business
    • Embrace recursion
    • Embrace recursion
    • Profit! - Fulfill the underpants gnome prophecy
  • Step One
    • Collect data sources. Use APIs to find
      • Restaurant reviews
      • Crime statistics
      • Books about alpaca farming
    • What's an API?
      • Hotlinking 2.0?
  • Step Two
    • Make a mashup (duh)‏
    • Bootstrap a niche
    • Exploit the long tail
  • Step Three
    • Profit!
      • 15 minutes of blogosphere fame
      • Monetize traffic with ppc/cpm ads
      • Affiliate programs
      • Sell advanced features or memberships
      • Sell it as software
      • Early acquisition
      • Your dream interview
      • Win a Sun Microsystems 8-core 32GB RAM Sun Fire T2000
      • (insert liquidity event here)‏
  • Case Study
    • Yahoo! News Tag Soup
    • Yahoo! interviews
    • Tagcloud.com
    • Crazy press - Wired, TechCrunch
    • Mashup Camp I
    • Under the Radar
    • Crazy Growth, VC’s
    • Deadpool
    • ?
  • The Mashup Pyramid GUI Tools Code Libraries APIs Data Feeds Platforms
  • Data Feeds
    • RSS
    • ATOM
    • Demo
  • The Mashup Pyramid GUI Tools Code Libraries APIs Data Feeds Platforms
  • APIs
    • Dynamic data feed
    • Specific to the data service
  • Feeds How-to
    • Two turntables and a microphone
    • APIs and a scripting language
      • Easy to prototype
      • Easy to deploy
      • Scripting language is rarely the bottleneck
    • Two simple steps
      • Request-Response*
      • Iterate over response (result set)‏
  • Response Handling
    • Usually XML
      • SimpleXML: $rss->channel->item[0]->title;
    • JSON
    • Serialized Data
      • $results = unserialize(file_get_contents($url));
    • YAML
  • SOAP
    • Not really simple
    • Not really object access
    • Not really a protocol
    • But there is hope
  • SOAP in PHP
    • $client = new SoapClient("AmazonWebServices.wsdl");
    • $params = array(
      • 'keyword' => 'alpacas',
      • 'page' => 1,
      • 'mode' => 'books',
      • 'tag' => 'jhherren',
      • 'devtag' => 'YOURAPIKEY');
    • $result = $client->KeywordSearchRequest($params);
  • XML-RPC
    • Easier than SOAP
    • Supports typing
    • Uses system.methodSignature instead of WSDL
    • Popular with blogging apps
  • REST
    • Representational State Transfer
    • Don't need extra layers
    • URI as resource
    • CRUD operations: GET, POST, PUT, DELETE
    • Stateless, cacheable, layered
    • (easier)‏
  • RSS Example
    • In Python:
    • import feedparser #by Mark Pilgrim
    • rss_url = "http://feeds.feedburner.com/Techcrunch"
    • feed = feedparser.parse(rss_url)‏
    • for entry in feed.entries:
      • print entry.title
  • AJAX & Browser-Side
    • Asynchronous Javascript and XML
    • a.k.a. XmlHttpRequest
    • Client side
    • XML, JSON, ...
  • The Mashup Pyramid GUI Tools Code Libraries APIs Data Feeds Platforms
  • Third-party Libraries & Frameworks
    • Check the API providers first!
    • Web Frameworks: Django, Ruby on Rails, Zend Framework
    • Yahoo! code libraries
    • Google AJAX Search API
  • Zend Framework Example <?php require_once 'Zend/Service/Flickr.php'; $flickr = new Zend_Service_Flickr('MY_API_KEY'); $results = $flickr->tagSearch(&quot;llama&quot;); foreach ($results as $result) { echo $result->title . '<br />'; } ?>
  • The Mashup Pyramid GUI Tools Code Libraries APIs Data Feeds Platforms
  • GUI Mashup Tools
    • Graphical widgets
    • Boxely
    • Adobe AIR
    • SnapLogic
  • The Mashup Pyramid GUI Tools Code Libraries APIs Data Feeds Platforms
  • Mashups Platforms
    • No server needed
    • Graphical building tools
    • Think MS Access for mashups
    • Google Mashup Editor
    • Yahoo! Pipes
    • Boxely
    • Popfly
    • Dappr
    • Kapow
    • Facebook
    • (you really have no excuse now)‏
  • Mashup Tools
  • Browser Based Authentication
    • Login to the service, not the mashup
    • Provides anonymity, but not safety
    • Yahoo! BBAuth
    • Google AuthSub
  • The Mashup Pyramid GUI Tools Code Libraries APIs Data Feeds Rich, Easy Flexible, Low-level Platforms
  • Pain Points
    • Latency & Scalability
    • API limits, abuse & metering
    • API versioning
    • IP, copyright, licensing
    • Reliability & SLA
    • Monetization
    • Privacy, security, identity
  • My Predictions
    • More mobile mashups
    • More AI & datamining to supplement “user generated content”
    • Microformats catch on and get aggregated
    • OpenID catches on
    • “ Attention Capital”, “Attention Management”
  • The Reality
    • Twitter
    • Facebook platform
  • New Predictions
    • Increased competition among mashup platforms
    • iPhone, iPhone, iPhone
    • Microformat spam
    • The big players will implement OpenID
  • Resources
    • Programmable Web
      • http://programmableweb.com/
    • Yahoo Developer Network
      • http://developer.yahoo.com
    • Google Code
      • http://code.google.com