Thursday, December 13, 2007
Boxes White and Black
The classic "black box is closed, white box is open" differentiates Web APIs as it differentiated Host APIs.
An API, Framework or Programming Language presents a domain for a range of products. An API or Tool domain differentiates itself in terms of its strengths, weaknesses, facilities and incapabilities. This is only more true for Web APIs and Programming Languages exposed the open network.
When the domain is something most excellent, like the C programming language for example, it is a transparent facility or convenience over its intermediary tool chain and the target programming of the machine. But when the work domain is too thick, its intermediary tool chain and target programming become obscured subjects for the programmer and the range of products ultimately suffer (at least on average over the long term).
This kind of triage can be applied to answering the question, How flexible is it? What are its first class objects for ready manipulation in this domain, and what would we want to be able to manipulate in this domain but cannot? It can be applied to Web User Interfaces as well as Web APIs and Programming Languages. And should be a very good predictor of utility and success.