API Nirvana – The Content

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.

This example is one that I’ve done various examples of before. It’s a Google Sheets backend acting as a database for a javascript frontend. My construction of these types of tools is growing progressively more complex. Kin mentioned that he hosts live versions of tools like these on GitHub. I should/will do that in the future.

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.

It’s like Nirvana wrote songs only focused on APIs.

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.

Google sheets gives you a number of highly valuable functions that suck info into sheets where you can chop, parse, and puree to your heart’s desire. It’s a great place to start messing with this stuff, learning logic, playing with variables etc. . . . and given the ability to tie in javascript elements via Google Scripts, your opportunities are nearly limitless.

Cheesy, I know but it’s ok to make mistakes. You aren’t juggling knives in a nursery. Play with things. Break things. Fix things. It’ll all be ok.

And finally one more WP JSON list of posts that detail various attempts at using APIs.

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 . . .

Comments on this post

  1. aarondavis1 said on December 6, 2016 at 4:25 am

    I am always mesmirised by the power of APIs Tom. However, the problem I have is how do you introduce such topics to those who may not know. I have spent considerable amount of time of late trying to get my head around it all, but it seems the further I dig the more confused I feel. THEN I get told that not everyone learns like me, which I think means that some just want easy answers, such as building the sites with Wix. To be honest, I am not necessarily sure where to start.
    There seems to be a lot of shouting in education that everyone should learn to code, I wonder where APIs fit with that?

    • Tom Woodward said on December 6, 2016 at 8:35 am

      Alternating confusion, research, and action repeatedly is pretty much how I learn so I can’t help you there. 🙂

      I probably don’t have any actual answers but I think people learn things when they have a reason . . . even if that reason is curiosity.

      I find workflows to be a pretty powerful motivator for certain people. IFTTT is a pretty decent entry to that concept and it obscures most of the programming stuff. Google sheets is another place where you can do much more but it doesn’t feel like programming (especially if you already have some spreadsheet skills). I just try to do the stuff, show how I did it, and talk to people who are interested.

      While I’m not one of the people shouting that, APIs are a pretty attractive element of learning code because your code is just connecting/altering much larger, more complex things that you aren’t capable of building. That makes what you can build early on much more powerful that would otherwise be possible.

Leave a Reply

Trackbacks and Pingbacks on this post

  1. […] @twoodwar http://bionicteaching.com/api-nirvana-the-content/ "You see a lot up there but don't be scared, who needs action when you got words" […]

TrackBack URL