API Icon Vocabulary
22 Mar 2017
I am working on profiling 75 of the Google APIs, and one thing I struggle with at this scale is standardizing the images I use, or more specifically, icons that represent each service as well as the value they deliver under the hood--something Google seriously needs to get more organized in by the way. I have written before about having a set of icons for the API sector, for SDK related icons, and also about how Amazon is getting more organized when it comes to icons for the AWS platform, as I beat this drum about the need for common imagery.
While I am glad that Amazon is started to think about iconography when it comes to working with APIs at scale, a lead that Google and Microsoft should follow, I'm hoping that API icons are something that someone will tackle at the same level as say a Schema.org. I would like to see API provider (company) level icons, building on the work of Devicon, but I'd also like to see individual icons developed for common resources that are made available via APIs--like compute, storage, images, video, etc.
What Amazon is doing provides the best model we have so far, but I want to make sure icons are not vendor specific. I would like to see a universal icon to represent a compute API for instance, whether it was Amazon, Google, or Microsoft. Think about IFTTT or Zapier, but something that would universally represent the valuable bits and bytes we are putting to use via individual platforms, but are increasingly also moving around between platforms--I want a common visual iconography we can use to communicate about what is being done with APIs.
There is a ton of work involved with establishing a project of this scale. Ideally, it is something that would also involve API providers, and not just be an external thing. I'd also like to see each icon be more than just a visual icon, I'd like there to be semantics and vocabulary attached to each image. Imagine if we had a common set of icons describe machine learning APIs, that helped us quickly understand what they do, but would also help us more consistently articulate the reality of what they do, and do not do (ie. Facial Recognition, Sentiment Anlysis, etc.).
I am going to keep talking about this until someone either does it or gives me the money to pay someone to do it. Sadly, I feel like it will end up being like the rest of common API definitions and tooling, we'll see each provider do it on their own, where all meaning and vocabulary becomes platform-driven, and not about actually finding a common language to communicate about what is possible with APIs.