Live data from Hacker News

The Future of APIs: APIs aren’t the endgame they won't stay forever

blog.goodapi.co

41–50 of 63 posts

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#41
APIs usually create a master/slave relationship. The strong party gets to define the API, and the weak party has to adapt to it. There are few fully symmetrical APIs.

Usually the seller defines the API, but where the buyer is more powerful, the buyer sometimes does. See, for example, General Motors' purchasing system for suppliers. WalMart has something similar. There, the seller must adapt to the buyer's system.

There are a few systems where there are interchange standards good enough to allow new parties to communicate as peers without a new implementation. ARINC does this for the aviation industry.

We have yet to develop systems where both sides enter into communication and figure out how to talk. This is needed. XML schemas were supposed to help with that, but nobody used them that way.

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#42
- CORBA has service discovery and interface definitions.

- SOAP has service discovery and interface definitions.

- SOA has service discovery and interface definitions.

Some of these are like over 20 years old. They also included many other features. I would not describe this as being "the future".

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#43
I think it's difficult to realize what is gonna be solved by AGI (https://www.wikiwand.com/en/Artificial_general_intelligence) and what not.

Regarding APIs that understand each other, it might very well be too much in the direction of AGI.

That means that if we want to solve this we have to look at research that allow AIs to understand each other.

* Imitation learning

* Language grounding

The latter is also known more abstractly as the symbol grounding problem (https://www.wikiwand.com/en/Symbol_grounding_problem) and led to many debates in history. A collection of APIs seems useful, have them interact with each other - by getting the human out of the loop - might be a lofty but unattainable goal.

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#44
As someone who worked on a whole lot of integration projects in the recent past, I think network APIs can be "solved", but not by the means this article describes.

JSON-LD looks like a reimplementation of something that was already done by XML, XML Schemas and WSDL. If several technologies that were designed to be semantic failed at automating network API integration, why would you think a sub-format for JSON will succeed? What does it do differently?

To really solve the problem of service integration we need to rethink our approach to "services" altogether.

One solution that I see would involve a global registry of semantic symbols (e.g. "temperature", "location", "time") and a constraint solver. So yeah, distributed Prolog on the global scale. Systems would exchange constraints until they reach a mutually agreeable solution or fail. Then the derivation tree would be used to generate a suitable protocol. While I think this is possible, I don't think there is any real interest in stuff like this right now.

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#45
post #7

Can we avoid replicating the tarpit that is WSDL for RESTful services? Time will tell, but I have my doubts.

Tarpit or no, WSDLs are pretty complete interface documentation. It's still weird to me that people see APIs as a "thing", worthy of attention from business types and other nontechnical money-men, And how is it that a "good API" requires client modules for all these different languages? Do people not know how to make HTTP requests anymore or something? (On the client note: "But it makes integration easier" or "I'm la…

> And how is it that a "good API" requires client modules for all these different languages? Do people not know how to make HTTP requests anymore or something?

I look at a service like a plate of hors d'oeuvres across the room on a fancy table.

A client module (aka SDK) is the silver platter with the hors d'oeuvres neatly lined up for your selection, brought to you by the handsome waiter who is the only other person in the room who speaks your language.

One could walk to the table, and hardcore partygoers do, but lazy, entitled sacks like me prefer the delights to be hand-delivered. ;)

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#46
post #44

As someone who worked on a whole lot of integration projects in the recent past, I think network APIs can be "solved", but not by the means this article describes. JSON-LD looks like a reimplementation of something that was already done by XML, XML Schemas and WSDL. If several technologies that were designed to be semantic failed at automating network API integration, why would you think a sub-format for JSON will su…

"distributed Prolog on the global scale. Systems would exchange constraints until they reach a mutually agreeable solution" - wow, I'm impressed, but not sure I fully get this. Any pointers or writeups on this or something similar?

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#47
I got about halfway down, and it suddenly started sounding like the Semantic Web reincarnated as an API service. This idea crops up about once every 10 years (in some form or another), and it runs into fairly predictable problems. There are two good essays that I recommend that people read before getting too excited about how well machines can interoperate without humans in the loop.

Shirky's "The Semantic Web, Syllogism, and Worldview" http://www.shirky.com/writings/herecomeseverybody/semantic_s...

Doctorow's "Metacrap: Putting the torch to seven straw-men of the meta-utopia" http://www.well.com/~doctorow/metacrap.htm

Doctorow talks about problems with metadata, but these problems might apply equally to APIs and the API vocabulary discussed in the article. Specifically:

2.1 People lie 2.2 People are lazy 2.3 People are stupid 2.4 Mission: Impossible -- know thyself 2.5 Schemas aren't neutral 2.6 Metrics influence results 2.7 There's more than one way to describe something

The fundamental problems are that (1) getting people to agree on things is a surprisingly difficult and political problem that can never be solved once and for all, and (2) people have incentives to lie. If you invent a generalized way to look up any weather forcasting API, somebody is going to realize that they can make money gaming the system somehow. PayPal is really in the business of fraud detection, and Google is in the business of fighting against blackhat SEO (and click fraud).

So take your automated API discovery utopia, and explain to me what happens when blackhats try to game the system and pollute your vocabulary for profit. Tell me what will happen when 6 vendors implement an API vocabulary, but none of them quite agree on the corner cases. This is the hard part.

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#48

- CORBA has service discovery and interface definitions. - SOAP has service discovery and interface definitions. - SOA has service discovery and interface definitions. Some of these are like over 20 years old. They also included many other features. I would not describe this as being "the future".

That, and I think this is reflective of a general trend where whatever we have now is wrong because X is the future. Oh noes, are you really going to build it that way?! But you'll be left behind! I don't think attempting to be a technology prognosticator is good engineering--or a good strategy for most anything.

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#49
It's not enough to just have API's published unidirectionally, if you want the system to evolve into something optimally fit for a particular job.

Think of layers in a convolutional neural network, for example. Each layer of neural units provides information to the next layer, but fixing the output of the higher layers limits the trainability and ultimate accuracy of the trained network. In order to maximize fitness, full backpropagation (or similar) is needed, with all layers being trained.

What's needed for self-negotiated API's is a generalization of the CNN model (or similar) into a variable-length serial communication format. Humans would define a fitness function either explicitly or implicitly by interacting with the system, and the self-negotiating API system would use some many-parameter optimization algorithm to alter both the Server and Client(s) and maximize the total fitness.

Re: The Future of APIs: APIs aren’t the endgame they won't stay forever

#50
It's sad that nothing has been learned from the past 40 years , so instead of building on the good parts of say ASN.1, amateurish protocols like json is invented, solving absolutely nothing of the hard bits, while improving some superficial readability problems.
Post reply on HN