Battling APIs

Most of my programming experience is one of blissful unawareness. I find a nice quiet place to work that doesn’t involve too many complications — for a while it was Java applets, and in the last year and a half it has been HTML5, Javascript, WebGL — and from there I build up my own tools, happily constructing my little workshop and inventing shiny new toys.

Alas, you can’t always live in blissful unawareness. There are days when you need to open up your front door, walk outside, and breathe in the smog filled air of reality.

Today was one of those days. My colleague David and I spent much of the day wading through many APIs (abstract programming interfaces), trying to get to the point where we could create our own original content on the GearVR virtual reality headset that works with my fancy new Galaxy Note 4 smartphone.

We read instructions, we installed software, we downloaded libraries, we failed. We rethought our approach, we tried again, we failed again.

We looked at all the sites where people tell you where you may have gone wrong. We got on Google, we read on Reddit, we studied at Stackoverflow. We installed a plethora libraries from Oculus, from Unity, from Android, from Oracle, from other companies that provide services to those companies.

Hours went by. It’s amazing how an activity can be filled with constant activity and drama and yet still be boring. Very discouraging.

Except at the end of the day, we managed to get it working. Through sheer ornery persistence we hacked our path through the thorny thickets of third party software. And I found myself staring at a wonderful virtual reality landscape, a completely made up world, that stretched out to infinity in every direction.

Now the fun part begins.

One thought on “Battling APIs”

  1. This kind of hacking through the bush with machetes is SO useful for the next team of explorers. They can follow your path, they can avoid your blind alleys, and they can build on the shoulders (API and otherwise) of giants. Thank you!

Leave a Reply

Your email address will not be published. Required fields are marked *