Folksonomies. Hula. REST. RSS. XMLHTTPRequest. What do these things have in common? Besides being hot to the point of borderline buzzword status? Simplicity, I would argue. Taken together – and these are hardly the only examples I could have chosen, I think they’re symbolic of a technology pendulum that is swinging back towards the simple over the complex.
While many of the arguments on behalf of such technologies are regrettably binary in their analysis – unreasonably asserting that simple’s the answer to every problem – I see the popularity of these simple technologies as merely technology pragmatism at work. Developers and users alike want to be productive, and simple technologies offer them the ability to do that with a relatively low learning curve and few if any barriers to entry.
These simple tools and techniques, in my estimation, are here to stay and are likely to expand their respective footprints rapidly over the next few years as their intrinsic malleability – one of the common byproducts of simplicity – allows them to be bent towards new and unforeseen uses.
What is less clear, however, is to what extent technologists higher up the developer stack can balance required complexity with beneficial simplicity. Many Java projects I’ve been involved with in the past, for example, suffered from runaway complexity. The scenario used to run something like this: application A has design requirements such that EJB might actually be necessary, application B does not. For the sake of “design consistency,” however, both applications are implemented as EJBs. You get three guesses as to how follow up applications C and D are implemented, and the first two don’t count.
The lessons of REST, RSS, etc to me are clear – and echo what Adam Bosworth has been telling us for a while now – design should be as simple as possible, but no simpler (great use of the Einstein line, JGWebber). Trends like tagging and simple network services are finally giving simplicity its 15 minutes of fame; we just have to hope that the Architecture Astronauts are willing to listen to the lessons it can teach us.