Interface: Build a website that acts as an interface to an API.
The interface is what comes between users of your website and the underlying functionality you've programmed. Interfaces can be transparent, revealing every possible detail of the program's capabilities to the user. They can can be opaque, providing an experience to the user that abstracts away the functional details. Or, of course, anywhere in between.
As an example, think about the work you've done using Cyberduck to move files and folders from your computer to your server. Then consider the process of selecting a photo or video from your phone to post on Instagram. Both applications have a similar technical purpose: to allow you to organize and access files on a computer. But one of those interfaces is far more transparent than the other. Why do you think that is? In each case, what is the desired user experience, and how has each interface been designed to address the user's needs?
For your final project, you will build an interface for the Cooper Hewitt Museum's search API. The search API is an interface in and of itself that will let you access all the data the museum has to share. With it, you will be able to design and implement a website that lets users access the museum's collection. First, have a look around the museum's collections website to see what kind of information you'll be dealing with. Then, think about what kind of an experience you want to design for your website and what kind of interface would best serve that experience.
As with your clock assignments, I want you to spend the first week developing a concept and not necessarily focused on the technical details - we will cover those later. It will be useful to know the capabilities of the search API and potentially of other API methods.
Concepts due week 12, functional project due week 15.
This week, think of all the interfaces that exist to help you use web applications: submitting assignments, getting directions, buying tickets, reading the news, and so on. Here are some more examples and interface food-for-thought...