A talk about lightbulbs, Carl Jung, APIs, Enterprises, HATEOEWRA, the future and some other relevant stuff
June 1st 2013 Madrid, APIDAYS MEDITERRANEA
Personally I am not a morning person
... did you guys
GET /coffee
Hello, my name is Ori Pekelman. I am OriPekelman everywhere (twitter/github/linked-in).
My blog is on http://blog.constellationmatrix.com
I am an entrepreneur and an independent software architect and I made myself a nice logo.
The poster children for APIs, the likes of Stripe or Twilio, Twitter, Google, Sendgrid, Amazon or Facebook are not the subject of this talk.
Required reading : yesterdays talk by @guillaumebalas
This talk is not about companies whose main line of business is, can or should be expressed as an API. This is not about Internet centric businesses.
Still, we are here because of the internets.
And the internets are an amazing thing. While preparing this talk I discovered that the search for "Kline Bottle Opener" gives as a result a Kline Bottle Opener. Which exists!
Here it is.
A lot has been said about the API economy. But the "open" singularity has not yet happened. We are still in a time where APIs are frontiers for companies.
They represent the limes, where one ends and the other starts. Hand crafted projects that allow a select few to access a handful of "strategic" resources exposed by a company. A rare thing.
But this is a transitory stage. What happens when everything in a company becomes an API that can at any moment as a business decision, and not as a technical project can be opened up (internally, to select partners, to all...)?
What happens when you are able to expose data and functionality from your CRM or financial system? But also when you can expose the mean coffee consumption of your development team, or the control of your heating system?
This may seem scary and weird. Why the hell would a company want to open up its inner most secrets? Give someone control over its heating?
Well, an API connected to your lightbulbs and heating will probably allow you to gather some incredibly useful data.
They say Philips have a nice API. But if you could expose it ... maybe there will be a company out there with more data then you, better algorithmes than can save you a sh*tload of money spent on energy. And maybe it will be cheap to integrate.
In my talk I will posit this transformation will happen in the medium future, and that it will have a deep transformative effect on the way we do business.
Application programming interface
It is a system that allows a program to expose functionality and data to another program.
Applying a style is what we call the "design process"
http://www.w3.org is a good one. Also http://pekelman.com/time or http://pekelman.com/time.json or https://github.com/OriPekelman/paris-rb-grape-talk/commits/master
I will get back to this
We have seen that "REST urls are just urls" well a hypermedia API is just a REST API with links. And even more down to earth.. a REST api with elements that have a "href" can be considered hypermedia
http://almostobsolete.net/talks/hypermedia/#8
(edit: so if you weren't there, please click on the link.. see slides 8--21 then use the back button of your browser)
I am using impress.js he is using reveal.js or something. I don't even need to know.
We got back to where we were. Because we had a URL! We are only doing idempotent stuff so we are at the same state.
BTW the bit of presentation you saw was by Thomas Parslow
Not much, for example while researching this presentation I just realized people should probably put sitemap.xml as well as robots.txt files at the root of their API endpoint. really cheap discovery. But I am not sure.
If even in a conference on APIs we can't get a straight answer about what are the good practices for discovery.
This is only very partially true. But let's play with getting our stack more enterpise oriented.
(COmmon Business Oriented Language)
or APIS for the Excel user... Can we, should we believe this is the end game?.. let's play.
Now instead of charging 10,000€ let's charge 10,000,00€ and be over with it.
ERA, this is good, still this is a single acronym.
Single acronyms are a concept.
Not an enterpise ready technology which can be sold for 10 mil.
Oh holy fork that one is taken
Don't worry sir, this is automagical clickety-click we know code is a bad bad thing, no code necessary, we have a lean enterprise service bus.
Premature standardization will be the death of the promise of this stack, this approach ... so let's not try, and if you really believe you are missing "enterprise features":
Someone is going to be doing some coding...
If you are going to be hanging around people doing presentations about REST style APIs you are going to hear this word a lot. Affordance. So as a public service:
Affordance: The stuff you can do with an object.
And in ergonomics: The stuff an object tells you, you could do with it.
That was acronym bender there. Let's also use an existing one, which is incidentally, probably the worst ever acronym invented
Personally I just pronounce this as Hate Us
We could pronounce this as Ha-Torah (well you need Hebrew for this pun, it sounds like the hebrew word for "The Bible")
If you put in links you are making your system, not magically, but cheaply interoperable. Ad-hoc solutions. Later in life there will be standards. You will even be able to magically autoupdate to those... how?
Ha-Torah will take a lot of the pain away. But you are still going to be left with two really hard unresolved issues.
I. Authorization - how do you handle cross system/frontier rights management.
II. Search - search is hard because of the authorization issue.
Useful but not a lot of magic or fun around here..
{
href="http://offices.myhugecompany.com/paris/center/possoniere/3rd_floor/office/2/2"
}
OH yippi. This is nice. I think I understand this one. If ever there will be standard of describing offices, we can very well adhere to it.
But even more probably instead of trying to have the whole world agree on these details, I can see a company living off bridging just this..
Or maybe, just maybe one day the semantic thing will work... and then poof!