Announcements Inventing the Future books are here!
What’s on for Tonight?
- Reading & Homework Discussion
- Guest Speaker, Emily Croll, Director of the TCNJ Art Gallery & Sarnoff Collection will speak about the history of the Sarnoff Museum at TCNJ, collection management and the Sarnoff Collection Management database.
- Break
- Trend Discussion: Open Content & APIs
- Studio Time – Design a simple API
Reading & Homework Discussion
So? How’d it go?
Guest Speaker
Emily Croll, Director of the TCNJ Gallery and the Sarnoff Collection
Trend Discussion: Open Content & Big Data
What is Open Content?
- Files – Penn Museum Online Collection
- Images – Getty Museum
- Databases – Digital Public Library of America
- Software – Planetary
What is Big Data?
- Wikipedia says…
- Crowdsourcing – Zooniverse, Dadaab Stories, HistoryPin
- Sensors & Real-Time data – ThingSpeak
- Analytics – Google Analytics
Anatomy of an API
Three Tiered Architecture:
The Data Layer
Collection Database Resources – This is your database of collection records, could be in a database management system like MySQL, or even in flat files like CSV or Excel.
The Application Layer
Application Programming Interface – A middleware application in a server-side language like PHP, Ruby, Python or Server Side Javascript (Node.js) that responds to user requests by querying the database and returning the results of the requested action. There are some decent lightweight frameworks available that simplify creating RESTful APIs.
REST (Representational State Transfer) APIs work like web pages, but for machines. You build URL strings to tell the API which resource you want, and make a single request for that resource.
The Presentation Layer
- Websites
- Mobile Apps
- Kiosks/Installations
Designing an API
When designing a RESTful API, use nouns to to identify resources. Limit your base URLS to two; one for collections, and one for specific items within a collection.
Examples: /collections - retrieve a listing of all collections /collections/12345 - retrieve info for a specific collection
You can then nest resources to reflect associations between resources.
Examples: /collections/12345/items - retrieve the collection of all items in a specific container /collections/12345/items/54321 - retrieve a specific item in a specific container
To perform actions, use the following HTTP methods when making your REST requests:
- GET – return the resource set
- POST – insert a resource
- PUT – update a resource
- DELETE – delete a resource
Pragmatically speaking, you’ll often find POST being used in lieu of PUT and DELETE to edit and delete resources.
For more details on good API design, check out Web API Design from Apigee.
Why use APIs? Mashups!
Functional Prototype Ideas
- Create an API for the Collection Opening items & texts.
- Mashup the Collection Opening API with data from here or here.
- Mashup a timeline and map of inventions & events using the Collection Opening API.
or
- Add to the Collection by Crowdsourcing stories or objects from retired RCA employess still living in the area
Studio Assignment
- Write out a sequence of user stories describing the steps a user might take to drill down to a specific item, in a specific collection using an API to the Collection Opening Items database.
- Design a RESTful API (on paper) using the data structure from the Collection Opening Items listing and the associated item texts.
- Using your API, write out a sequence of URLs the user might navigate to fulfill the user stories you captured in step 1.
Homework Assignment 2a (4 points, 1 point each)
- Read the following:
- Inventing the Future: Information On A Beam of Light (pp 28-39)
- Inventing the Future: Teaching Computers to See (pp 40-47)
- Create a new page in your Design Notebook with the heading “Inventing the Future II”
- Look through the Collection Opening Items listing and the associated item texts. What items relate to the chapters above? What sort of interactive experience could you create to demonstrate the significance of one of more of these items? Write down your thoughts in your Design Notebook.
- Create a couple of user personas to identify what types of museum visitors you would target for your interactive experience.
- Write out a small sequence of user stories that would describe your interactive experience.
Homework Assignment 2b (6 points, 1 point each)
- Read the 2012 NMC Horizon Report pp 11-14 and create a new page in your Design Notebook with the heading “Mobile Apps”
- Take a look at some of the examples of Mobile Apps currently used in museums on pp 13-14 and write a paragraph about your favorite example.
- Can you find any other examples of Mobile “in the wild”? Jot down a brief description & a link to what you find in your Design Notebook.
- Read the 2011 NMC Horizon Report pp 14-17 and create a new page in your Design Notebook with the heading “Tablet Computing”
- Take a look at some of the examples of Tablets being used in museums on pp 16-17 and write a paragraph about your favorite example.
- Can you find any other Tablet examples “in the wild”? Jot down a brief description & a link to what you find in your Design Notebook.
Submitting Your Work
This week’s assignments are due each Thursday before the next class, at 5:00 pm. Late submissions will be docked 1 point. When you’ve completed them, share your Design Notebook with me at thomesoni@gmail.com. For a Design Notebook template, see my comment below on this post.