Bulletproof API Design - Part 1
Back in the day when APIs were limited to hardcore desktop application programmers and CSS seemed revolutionary, nobody minded if one API functioned differently from another. It was commonplace to see APIs with totally different, weird, esoteric interfaces, for one simple reason: there just weren’t that many.
It annoyed people, sure. People complained occasionally, sure. But in the grand scheme of things, what did it matter if some annoying GUI programmer had to re-learn the next version of the Windows Forms API? After all, they’re only GUI programmers.
But then APIs became more important. APIs started exposing data, actual, useful data. They started to let developers do actual, important things. Public things. We started to see the age of Web 2.0, of mashups, of applications that didn’t reinvent the wheel every time they had to do something someone else had already done, of the web moving to the desktop and mobile connectivity becoming really prominent and useful. We started to see the real internet.