Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

API complexity - just as much as UI complexity - represents a host of different code paths in your software that you need to manage.

You need to make sure all these code paths work; and you need to make sure they don't interact in unexpected ways. You need to test not only the well-used paths (which your users will test for you - you'll find out quickly enough if commonly-used functions fail!) but also all of your less-commonly used paths, which will bit-rot if you're not on top of them all the time.

The art of good API design is entirely different, but just as hard, as good UI design. Bolting on a bunch of new features does not a good API make - you need to ensure that you add features sensibly, orthogonally, and matching your user's expectations.

Expanding your API also means you need to make sure you have a good understanding of the load profile of all your API calls, both individually and in combination.

In short, I think the OP is underestimating the complexity involved in designing and managing an API - just because the problems arising aren't the same as those in UI design doesn't mean they're not there.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: