5 ms·
>And by "most important" I don't mean "covers 20% of the topic" but rather "solve it and the rest of it can be done by a monkey" sort of thing. Here it is: API
by jasode 11y ago
>And by "most important" I don't mean "covers 20% of the topic" but rather "solve it and the rest of it can be done by a monkey" sort of thing.
Here it is: API is a POLITICAL concept, not a technical one.
It would be better if author provided concrete examples of politics-driven APIs because it seems like some API functions can be a 99% a technical problem rather than a political one.
Certainly some API calls might be trivialized to "just a function" but other API calls have ramifications of burning lots of real cpu, bandwidth, etc to provide them. Whether the company absorbs the expense of providing that API as a cost of doing business or monetizes it by charging users doesn't seem like it's all reducible to "politics".
- pdkl95 11y agoExamples? Try "every API ever created". I think you're missing the point, which is unfortunately a very common problem among programmers. This can lead to bad situations where political decisions are being made de facto, without a real decision-making process. Unfortunately, there are usually many opinions on which of the various possible solutions should be used to solve some problem. Often this involves trivial choices based on personal preference (e.g. snake_case vs camleCase). Sometimes the choice ends up affecting other important areas, such as your "burning real CPU" example. It may have far more important ramifications, too, about who has the responsibility for the long-term storage of a particular type of data and how that data can be accessed. "Politics" is simply what we call the process by which we humans come to an agreement on this kind of question. The article's point (which I strongly agree with) is that choosing who has to pay those CPU or bandwidth costs is a political decision. Often, an API could be designed to make either side be the party that has to run their CPU. If you have a strong opinion about which side that should be, good! Engage in the political process and start negotiation. On the other hand, purely technical decision usually doesn't need an API. The solution is usually obvious. We (hopefully) take the time to write up an API (or specification, or RFC, ...) for the things where there is not a single technical solution.
- jasode 11y ago>choosing who has to pay those CPU or bandwidth costs is a political decision. Well sure, if you put it that way, we could reframe almost anything as political decisions. "costs" == "politics" "adding server racks to service the API" == "politics" etc, etc. Should a coupling hosting a party at home ask their guests to bring potluck? Structuring the cost of food and deciding whether it's the host or the guests funding it is ultimately a "political decision". I was reading author's essay while holding a narrower concept of "politics" in my head. I now get your expansive perspective on "politics" and while I understand where you're coming from, that larger framework is not helpful to me. >"Politics" is simply what we call the process by which we humans come to an agreement on Sometimes, the API is just "published" with no process for "agreement". It either exists, or it doesn't. It may have come into existence because it was an easy technical solution.
- rumcajz 11y agoThe term "politics" is not as all-covering as it may seem at first. It refers to the process of people and human groups reconciling conflicting interests.
- pdkl95 11y ago> almost anything as political decisions "Everything is political." That's kind of the point - if there is debate, we use politics (debate, argument, various decision-making methods such as voting) as the means to solve it. Your potluck example is exactly the point. It is a political decision to have a potluck vs the host providing the food (which can have a variety of consequences in some situations). The very nature of an API is to make that kind of choice.