IML 400 Spring 2015

Assignment 5: Advanced Javascript

Build a simple and ingenious client using your choice of public API from the following list:

  1. Tiny Icon Factory minimalistic search API and an explanation - recommended
  2. Flickr public API - recommended
  3. Tumblr public API - warning: requires oAuth
  4. Twitter public API - warning: requires oAuth
  5. Instagram public API - warning: requires oAuth
  6. Delicious public API - recommended
  7. Soundcloud public API - warning: requires oAuth
  8. Youtube public API - recommended
  9. Google maps public API - recommended
  10. Google search public API - recommended
  11. Google search public API overview
  12. Foursquare Public API - warning: requires oAuth
  13. Stripe Payments Public API - warning: requires oAuth

Public API examples

  1. Delicious API
  2. Instagram API V1 - displays recent images featuring a given hashtag (deprecated)
  3. Flickr API - takes optional user id (view source)
  4. Tumblr API - using static data to bypass oAuth server code
  5. Google Maps API Examples
  6. Google Maps API Test
  7. Google Maps API Zooming in [Refresh a couple of times for full effect]
  8. Google Maps API Flyover Teleporter
  9. Google Maps API Address to Coordinates [Currently Broken]

Due Date

Monday, March 2nd, 9:00am.

Readings - The open web

  1. Clay Shirky - Defend our freedom to share (or why SOPA is a bad idea)
  2. Khan academy - SOPA/PIPA explained
  3. Cory Doctorow - 28c3: The coming war on general computation
  4. Last Week Tonight with John Oliver - Net Neutrality
  5. Explore this (battleforthenet.com)

Please prepare a report where you compare and combine insight from all this readings in relation to the technologies covered in class (Web public APIS, REST, AJAX). Imagine a future scenario for the internet of things in which the web has remained fully open (Example 1 Home Automation: I can use IFTTT to create a recipe that learns my refrigerator is our of berries and orders them from Amazon Fresh using sensor data and imaginary General Electric and Amazon public APIs. Example 2 Smart Cars: How can a fully connected car benefit from publicly available web data?).

Readings Due Date

Monday, March 2nd, 9:00am.

Additional Resources

    JSON formatting tools USEFUL!

  1. JSON Formatter - Debugging tool. As JSON data is often generated without line breaks to save space, it is extremely difficult to actually read and make sense of it. This tool solves this problem by formatting the JSON data so that it is easy to read and debug by human beings
  2. JS Beautifier - Similar tool to expand minified Javascript code and format JSON data

    RSS feeds and Web Syndication

  1. Wikipedia - History of web syndication technology
  2. Wikipedia - Really Simple Syndication (RSS)

    APIs

  1. Wikipedia - Application Programming Interface (API)
  2. Wikipedia - Web APIs

    REST

  1. Wikipedia - Representational State Transfer (REST)
  2. Roy Thomas Fielding Doctoral Dissertation - Representational State Transfer (REST)

    AJAX

  1. Wikipedia - Asynchronous JavaScript and XML (AJAX)
  2. JQuery - AJAX
  3. Mozilla - AJAX

    Authentication Protocols

  1. oAuth - An open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications

    Connecting APIs using Visual Interfaces

  1. Yahoo pipes
  2. If this then that (ifttt.com)