This article will try to “sell” a different perspective for a story that you may be already familiar with. How good are you at telling a story?
Storytelling is an important skill for engineers and more specifically for us, the software developers. We often have to create something that our manager is not exactly sure what this is. Thus, it is our duty to create a workflow, some scenarios and finally agree about the desired outcome of the piece of software.
Engineers around the world have come up with so many different ways to develop scenarios for describing features. A new trend on this, is using tools like Trello or Aha! to create sketches of products and a basic roadmap on when to do what, etc etc etc.
In my understanding, APIs are all about telling stories. When you share an API, you share all the important blocks that a “writer” can reuse to create their own “stories”. Those stories can be useful business partnerships, hobby dev applications and much much more. No-one can actually limit the imagination of people who want to develop their story on top of your platform.
This is the kind of story that I will try and share here.
Let’s say you are just a guy with an awesome idea or still a student at a university.
One day, you decide to get started with your cool idea and initiate the development of a super recommendation engine on comic books.
You know soooooooo many cool facts and insights about comic books but you are not exactly sure how to write a recommendation algorithm and implement it.
- If you are a Batman fan, you most probably will enjoy some Nightwing action.
- If you like Superman, most certainly you are going to like Captain Marvel as well or some Greep Lantern Corps adventures.
- If you hate Flash, you should read the “The Flash: Rebirth”, because everyone likes Flash. They just need to read the correct story!
You may think, that’s piece of cake. Hopefully there is Wikipedia! You look there for popular recommendations algorithms. One thing links to another (this is how web actually works) and in the end you end up studying some super difficult algorithms to understand mathematics where an equation can cover the whole screen. There is nothing to laugh about it. Those things actually happen.
And they happened to me a lot…….. If you are brave enough, you may end up on some online lectures on Udemy, Udacity or Coursera.
But!!! There are so many cool ways to avoid such pitfalls. And we call them, APIs.
Last year for example, when I was in API Barcelona, on the second day of the conference I was fortunate enough to see so many solutions on the aforementioned problem that I could not even believe that was indeed true.
So, i decided to check for myself.
After five minutes of thinking, while i was walking next to my hotel (looking at the beautiful barceloneta, photo below), i said that if I could manage to create the impossible, then I would be convinced that APIs actually work.
The idea was “simple enough”. I wanted to retrieve all information from ycombinator latest news and all comments from there, and only look to anything that is to any of my interested and people say good things about that. When something like this happened, i wanted to retrieve a new email.
- And then i said, this is a super cool idea. Why not share it??
- And what I did, i wanted to let others get notified as well!!!
So what do i need to succeed on such a goal?
- a way to retrieve articles and their comments
- identify what those articles are about and classify them to some popular entities and categories
- do some sentiment analysis based on the dialogue that was happening and the comments
- a way to send automatic emails on demand by my own domain (yes yes i wanted to use firstname.lastname@example.org)
To make the long story short, i had just a sticker from mailgun, i had drank a beer from mashape, alchemy API had given this day and extraordinary presentation on NLP APIs and said, why not…
I signed up to all three services and the first think I did back then, looked for some python scripts to test them.
The workflow was simple enough and started implementing it within minutes. Within an hour of coding, I had the first demo of my idea. Then, I was convinced!
This whole article is about you telling a story. And here I am telling a story about the “writer’s block” or more specifically about the developer’s block.
I wanted to experiment, I wanted to do something and when the idea hit me, I was able to implement it with just a few APIs.
APIs do just that. Help you by providing all the building blocks to make anything you could think of, a reality.
Going a step further, APIs will describe the scenarios of future itself. It is funny how well modern sci-fi has reached a point of understanding APIs and using it in their stories.
In a previous post of mine I tried to capture a bit of what I expect of the future and why APIs will play such an important role. As for today, simply put:
Each API is a collaborative tool that help businesses, wanna-become-businesses and hobbyists to share their information or consume others information in order to create relevant business models where each ones survival is dependent on the other ones surviving the business world.
In a few years from now, APIs will be everywhere and everyone will be talking WITH those. APIs will be intelligent and people should be educated to communicate and interact with them.