On why HTML and XML have succeeded, and the lessons therein
March 19, 2008
Why have HTML and XML succeeded? I believe it is a combination of four things:
Accessibility
There is almost no barrier to entry. Notepad and IE and you’re in business.
Resiliance
Tolerance for error. Most mistakes you can make in HTML won’t prevent your page from displaying. Unlike most programming languages, HTML will let you be and remain imperfect and continue to make progress. XML is tolerant in a different way. The syntax is more rigorous, but also very, very simple and regular, so XML is tolerant of conceptual errors, which, again, don’t prevent you from making progress.
Broad tiers of utility at different skill levels
You can do a lot of HTML and know nothing of cascading style sheets. But once you know them, there is a rich set of new things you can do. You can learn a small set of things, and get a lot of mileage from the knowledge. With each tier, each quantum of skill, there is a broad new plateau that opens.
You can go deep
This is a corollary of the previous point. From HTML there are cascading style sheets, and Javascript, and you can move to the server and find Linux Apache MySQL and PHP, and there is almost no end to how deep. From basic XML there Data Type Definitions and then Schemas, there are XSLTs and XPath and again, a long path with almost no end. And again, for each step, there is a broad range of new function that is available.
So what is the lesson? Keys to success for a new development technology:
- Give users a low barrier to entry using tools with which they are already skilled.
- Give them a broad range of utility with the first step in skill.
- Give them visible success depite their errors.
- Give them a new plateau of function with each stepwise gain in skill.
- Give them a path to go deep.