Long, long ago Kin and I did the API Nirvana presentation at Open Ed 2016.
The following images are screenshots of the presentation embedded above. I described the construction in reveal.js here. There’s a good chance the images below link to the right slides in the presentation. I need to think through how this particular workflow might work better as it seems wasteful to take screenshots this way . . . 1
Slide one is a visual mashup of Kin’s logo and Nirvana’s smiley face font/color.
I find the API path one of temptation. It leads me to question many things and I struggle with what I should be spending the time to tweak, to massively modify, to try to make perfect for me. It is a battle but a better one than tolerating whatever I’m given with no recourse.
API tools allow me entirely new levels of IFTTT types of flow– and a flow where I’m dictating far more of the process without the need for a 3rd party intermediary. There’s lots of power there and lots of potential to eat huge chunks of my time as well.
It brings up lots of big picture questions about who owns what. With APIs I can increase the percentage I own and make the services/data interchangeable should I need to move on.
I built a lot of this presentation with my kids around me. As a result they still break into random Nirvana songs (even if they are Meat Puppets covers). One of them also noted this verse took one plus one and got three. That only made it more attractive to me and has encouraged me to have my kids around more often during presentation construction.
The lyrics do represent the kind of freedom API use can deliver. You don’t have to choose between A and B. You can have A, B, and C. That is awesome if you like choice.
Because I was trying to chart my own journey through implementing APIs, I interspersed actual examples. This one uses three API interactions. It’s built in Google Sheets and uses that API to write data it gets from the YouTube API to the spreadsheet and then uses the Twitter API to send it out as a tweet.
Yes. It is logging the view count and changes from week to week of the Gangnam Style video. Yes the numbers are terrifying and bring their own questions.
I do end up with a spreadsheet of data and a strangely popular tweet each week. It’s also example of doing something that only I would want to do and yet having that thing echo into eternity without any additional effort.
The directions and other stuff is linked in on the live slide.
I also implemented a couple API elements into my portfolio page. It’s pulling my 10 most recent blog posts via the WP REST API V2 and my recent Pinboard posts. It loads pretty quickly because the JSON driving the page is cached rather than actively requested. I’ve also got a combination of Flickr API to get my total photos count and more WP JSON stuff on the photographs page.
None of this is rocket science but I think it turns a static portfolio site into something that is more and more alive. It does this in a way that doesn’t require me to do extra work on a regular basis. Teamwork does not make dreamwork but APIs and workflows might.
API-wise the sheet itself generates JSON. We feed that into jQuery for display and interaction. Is remotely hosted jQuery an API? I don’t know. That line gets really blurry for me at times. It may matter in some scenario but I haven’t figure out when so far.
One well-trodden path to API knowledge and basic computing/programming skills that can be overlooked is spreadsheets. I’m a big fan and did a huge amount there for many years before ever learning actual programming.
Hopefully this starts to hint at the never ending options you have to use APIs to end up doing exactly what you want. APIs can be a fundamental piece of reclaiming your content, even while continuing to use the places/services where there are people you want (you can have all three). They can help you build tools. They can help you gather data. They can do the work you don’t want to do or the work that you want to do if you had more time.
1 maybe I need a function that meshes div ids and reveal slides so I can have embedded notes for blogs posts like this . . . maybe some way to do this better with the built in speaker notes function . . .