This week in my Digital Storytelling class at CU Denver, I learned about the power and efficiency of merging two or more application interfaces (APIs) to create a serviceware mashup. According to Lanshear and Knobel’s book, New Literacies “Mashups create innovative and useful—purposeful—process tools out of existing tools, to which they add value by enabling them, in combination, to do what could not previously be done. This is a form of customizing and tailoring existing resources to meet niched purposes, perhaps most commonly understood at present by reference to the emergence of apps for mobile phones and tablets” (107).
In order to form better understanding of mashups, Lankshear and Knobel suggested locating, researching, and forming a rating system for several API mashups at ProgrammableWeb.com.
Rating an API was challenging because this is a completely new subject to me. I did not want to inaccurately judge an API due to my lack of knowledge of the original software. Therefore, I decided to research what makes a good API and select a single quality that I could rate confidently.
Nathan Segal, author of What Makes a Good API says, “A good API is easy to learn, easy to use, easily scalable, purposeful, and easy to maintain and upgrade.” He also wrote, “It should be easy to explain what your API does in a few words. If not, you’ll need to simplify the idea” (HTMLGoodies.com). The quality of ease of explanation stood out to me and I ran with it.
My “explanation of purpose” numerical rating system is based on a scale of 0-5. An API that does not explain its purpose on ProgrammableWeb.com in a few words, scores a 0, while one that explains its purpose concisely earns a 5. The APIs that I will explore and rate were located on ProgrammableWeb.com under “Most Recent” in the API Directory. They include Google Classroom, Delivery.com, and Handwriting.io.
- API Explanation: “The goal is to integrate students’ accounts and domains into education applications that include courses, aliases, invitations, students, teachers, and user entities” (ProgrammableWeb.com).
- Purpose: An education based program used to integrate students’ accounts and foster collaboration.
- Motivation: Developers may have wanted to aid teachers in their classroom management and educational value.
- Users: Teachers and students.
- Added Value: It seems like a combination of Google Docs, Mail, and Calendar created specifically for education.
- Personal Use: I would absolutely use it if I taught or trained in a group.
- Explanation of Purpose Rating: 5—The purpose is very clear.
- API Explanation: “Delivery.com provides a database of restaurants, fast food establishments, dry cleaners, and liquor stores that provide delivery options. Users can search locally for places that provide delivery, place an order, and pay online” (ProgrammableWeb.com).
- Purpose: An eCommerce based program that can have most anything delivered to your doorstep.
- Motivation: Financial promise for venders signing up to be listed under this service.
- Users: Anyone who is busy, tired, and/or not apt to leave the house.
- Added Value: This service doesn’t currently exist on such a wide scale.
- Personal Use: I might use this in a pinch.
- Explanation of Purpose Rating: 4—The explanation is a little wordy, but its purpose is clear.
- API Explanation: “The Handwriting.io REST API allows developers to access and integrate the functionality of Handwriting.io with other applications” (ProgrammableWeb.com).
- Purpose: A writing based program that makes it easier for other apps to use and promote Handwriting.io.
- Motivation: Developers probably wanted to get this API into the hands of more people, thus making it easier for other applications to use it.
- Users: Anyone interested in handwriting.
- Added Value: Other applications can benefit from being able to partner with Handwriting.io.
- Personal Use: I’m not sure when I would ever use this.
- Explanation of Purpose Rating: 5—The explanation is very clear.
While there are a million ways to rate these APIs, I chose one single quality. Even rating APIs on their ease of explanation was harder than I thought because I did not take into consideration such qualities as smart coding, scalability, and users’ ease in learning and use. If the above APIs were scored on different characteristics, their ratings would more than likely change to reflect other strengths and weaknesses.
I am curious what criteria others might have chosen for rating these APIs. Please leave a comment and share you insights.