Hacker News new | past | comments | ask | show | jobs | submit

No Abstractions: our API design principle

https://increase.com/articles/no-abstractions
> If you’re building an abstraction-heavy API, be prepared to think hard before adding new features. If you’re building an abstraction-light API, commit to it and resist the temptation to add abstractions when it comes along.

You could always do both.

Provide a low-level abstraction-light API that allows fine control but requires deep expertise, and write a higher-level abstraction-rich API on top of it that maps to fewer simple operations for the most common use cases - which some of your clients might be implementing their own half-baked versions of anyway.

If you maintain a clean separation between the two, having both in place might mean there is less pressure to add abstractions to the low-level API, or to add warts and special-cases to the high-level API. If a client wants one of those things, it already exists - in the other API.

Bonus points for providing materials to help your clients learn how to move from one to the other. You can attract clients who do not yet have deep knowledge of payment network internals, but are looking to improve in that direction.

loading story #40164446
loading story #40164713
loading story #40163925
loading story #40164514
loading story #40164141
loading story #40175332
loading story #40171160
loading story #40166153
loading story #40165635
loading story #40165480
I like this idea a lot.

One level of API for implementation model.

And second level for mental model.

loading story #40173495
loading story #40170926
loading story #40166705
loading story #40163968
loading story #40177303
loading story #40180289
loading story #40162406
loading story #40163427
loading story #40162260
loading story #40163540
loading story #40166125
loading story #40162068
loading story #40164972
loading story #40169059
loading story #40163119
loading story #40181541
loading story #40179401
loading story #40163845
loading story #40166249
loading story #40177571
loading story #40162366
loading story #40165669
loading story #40167530
loading story #40164416
loading story #40163152
loading story #40162922
loading story #40167090
loading story #40163485
loading story #40164999
loading story #40163424