This reminds me of Bret Victor's "Future of programming" at http://vimeo.com/71278954 particularly at 13:50 about APIs - envisioning how computers could themselves discover available services at other computers. Maybe this API index is just the first step towards enabling computer programs to independently interact with each other.
I think a key here is hypermedia. APIs can only be machine-discoverable if there are hypermedia links pointing to them (which is how this helps). If there are no links, then some human must hardcode it.
This also is a reason for including hypermedia in your API, because really, being machine-discoverable is not just something that the API itself benefits from... each resource and state can benefit from included hypermedia as well.
I agree that hypermedia is a more optimal solution for API discovery. APIs.io + APIs.json + machine readable formats like Swagger will provide us with a bridge between what we have, and what we should have (aka hypermedia). We'd all love to have a perfect reality, but unfortunately we get the one we have. ;-)
Same. Alan Kay talked about this once, I have a paraphrase to hand:
"This current effort of doing term-based ontologies is a disaster. It requires too much agreement [...] I can't find anyone working on this notion of general negotiation between anything that can negotiate [...] Negotiating meaning is the problem of our time."
Bret Victor has influenced a lot of my thinking that has gone into APIs.json and API Commons, and the work I've done with EFF on the Oracle v Google case, and how we need to get APIs to the next step. Thanks for the observation.
Comments
This reminds me of Bret Victor's "Future of programming" at http://vimeo.com/71278954 particularly at 13:50 about APIs - envisioning how computers could themselves discover available services at other computers. Maybe this API index is just the first step towards enabling computer programs to independently interact with each other.
I think a key here is hypermedia. APIs can only be machine-discoverable if there are hypermedia links pointing to them (which is how this helps). If there are no links, then some human must hardcode it.
This also is a reason for including hypermedia in your API, because really, being machine-discoverable is not just something that the API itself benefits from... each resource and state can benefit from included hypermedia as well.
I agree that hypermedia is a more optimal solution for API discovery. APIs.io + APIs.json + machine readable formats like Swagger will provide us with a bridge between what we have, and what we should have (aka hypermedia). We'd all love to have a perfect reality, but unfortunately we get the one we have. ;-)
Definitely! :) Was just pointing out that this search engine was making discovery possible _because_ of hypermedia. Nicely done!
Same. Alan Kay talked about this once, I have a paraphrase to hand:
"This current effort of doing term-based ontologies is a disaster. It requires too much agreement [...] I can't find anyone working on this notion of general negotiation between anything that can negotiate [...] Negotiating meaning is the problem of our time."
Do you know the source of this? I tried and failed to locate it. I would be really interested to watch this talk.
I must apologise by saying I can't! However, I am almost certain it came from a link on this site:
http://smalltalk.org.br/movies/
If you can't find it, you will at least find some other amazing material
Bret Victor has influenced a lot of my thinking that has gone into APIs.json and API Commons, and the work I've done with EFF on the Oracle v Google case, and how we need to get APIs to the next step. Thanks for the observation.