Hacker News new | past | comments | ask | show | jobs | submit
> 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 #40166153
loading story #40171160
loading story #40165635
loading story #40165480
loading story #40166575
loading story #40173495
loading story #40170926
loading story #40166705
loading story #40163968
loading story #40177303
loading story #40180289