5 ms·
FinTS (formerly known as HBCI) is horrible and serves as a great example of how not to design a API. The non-machine-readable german-language-only API specific
by sparkling 9y ago
FinTS (formerly known as HBCI) is horrible and serves as a great example of how not to design a API.
The non-machine-readable german-language-only API specification consist of >800 pages spread across various PDFs[1] full of gibberish. There are no official client libraries, no minimal examples, different banks only support certain versions etc. etc. etc.
[1]
https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv4/FinTS_4.1_Formals_2014-01-20_FV.pdf https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fint...
https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv4/FinTS_4.1_XML-Syntax_2014-01-20_FV.pdf https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fint...
https://www.hbci-zka.de/dokumente/spezifikation_deutsch/FinTS_Rueckmeldungscodes_2017-05-11_final_version.pdf https://www.hbci-zka.de/dokumente/spezifikation_deutsch/FinT...
https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fintsv4/FinTS_4.1_Data-Dictionary_2014-01-20-FV.pdf https://www.hbci-zka.de/dokumente/spezifikation_deutsch/fint...
- duiker101 9y agoThat sounds like a standard enterprise implementation.
- fkistner 9y agoEnterprisey APIs with adoption beat nicely designed APIs without adoption anytime. Besides, that does not explain, why none of the other banks can get their act together. If FinTS is too difficult to implement, how come they are not offering something simpler?
- pc86 9y ago> Enterprisey APIs with adoption Your conflation of "bad" with "enterprisey" is unfortunate. Also, is it really adoption if different banks only support specific features/versions? > If FinTS is too difficult to implement, how come they are not offering something simpler? Well banks aren't really in the business of APIs, are they? Nobody is graduating #2 in their class at Stanford with a CS degree and going to work for a bank as a web developer.
- jupin 9y agoBanks aren't in the business of offering APIs because there's little incentive to do so. Even if there were a lack of talented technology-based employees, that likely wouldn't prevent APIs from being developed. The issue of incentive boils down to the fact that business clients, being the main source of revenue for retail banks, simply aren't making enough noise about their desire for APIs.
- germanier 9y agoThere is a huge amount of software using those APIs including ones written by one-person-teams so the situation can't be too bad.
- txdv 9y agoLike xml and json... Wait a minute
- kuschku 9y ago> There are no official client libraries, no minimal examples, different banks only support certain versions etc. etc. etc. Sounds just like any other API, from most REST APIs to messengers. HBCI is a lot better designed, and a lot easier to work with than the many different messengers that exist on phones nowadays. Everything is documented, everything is specified, and you have a stable API. Try getting something like this for Facebook Messenger, Allo, Duo, WhatsApp, Signal, Riot, all at once. HBCI is bad, but it's a rare gem. Usually, when many major corporations have similar products, they try to prevent any such APIs from being created at all. > non-machine-readable I'm not sure I've seen any major API that's machine readable. Most major APIs don't have any machine-readable specifications publicly available. They probably have them internally, but almost never publicly. > german-language-only That's not really an issue, if you're in Germany. I don't go into the US and expect their banks to provide their specifications in English either. I realize that English has become the lingua franca in IT, but that's not a good thing.
- cbcoutinho 9y agoWhat do you mean English being the lingua franca is not a good thing? Do you mean it's bad, or it just is what it is? I think there's benefit to having a universal language, but it doesn't have to be English...
- kuschku 9y agoA lingua franca's ideal should be to be easy to learn, able to express lots of things. English is easy to start with, but hard to master, and its expressiveness isn't ideal either, often having to import words from other languages where english has no word for a concept itself.
- ghthor 9y agoI'm betting on a symbolic referential language as becoming the defacto standard for programming binary machines. From my cursory glance at Mandarin, I see a lot of similarities with expressing code.
- rodgerd 9y ago> german-language-only Ah the horror. Last week it was bleating that German laws are written in German, this week it's bleating that German bank documentation is written in German.
- realityking 9y agoGot a link to the one about German laws? Sounds entertaining ;)
- toomanybeersies 9y agoEnglish is the working language of software development, so it does make a degree of sense to bemoan the fact that the API documentation is only available in German.
- germanier 9y agoA significant amount of software development in Germany is done in German only, especially if you solve Germany-specific problems with your software (such as accessing banks). English far from being a general working language for software development here. The software I use at work is developed by a German-speaking team based on German documentation. I think the code is mostly English although they often use German identifiers when there is no straightforward translation[0]. It's highly specific to the German legal environment and of absolutely no use abroad anyway. Translating everything twice just introduces more errors.
- sgt 9y agoThis is not true at all. There's plenty of code written with comments relevant to the country in question. It's not for you to decide what other developers should make their working language. I'd like to see you go to China and ask them all to stop commenting their code in Mandarin.
- kuschku 9y agoNot really in Germany. Lots of documentation is German only, in some german games (most notably the Anno series) even the scripting languages’ keywords were German ("wenn" instead of "if", "solange" instead of "while", etc). And even in huge codebases such as SAP, most comments are still German. Yes, modern codebases are often written in english, but that’s not everywhere.
- narsil 9y agoGerman isn't "gibberish" to some of us, so I would not describe it that way. It's a German banking API after all. A functional API that is being used is better than no API at all.
- Sean1708 9y agoNobody said it was. They said it was a german-only specification that was full of gibberish, you could just as easily have an english-only specification that was full of gibberish (as most are to be honest).