2012-08-10 17:53 UTC Replacing HTML
Occasionally, people e-mail me to say something along the lines of "I've come up with something to replace HTML!". So far I haven't seen anyone come close. I hope that one day, someone will actually come up with something that really will replace what the Web is today.
Unfortunately, for all the Web's shortcomings, replacing it is going to be a Herculean task. Here are the core requirements that I think a new platform would have to have in order to displace the Web and be its successful successor:
- Be completely devoid of any licensing requirements, i.e. be free to implement by any vendor. This means whoever invents it cannot make any money directly from its success. (This, more than anything else, was Tim's biggest stroke of genius with HTML.)
- Be vendor-neutral, i.e. accept input from everyone. This means it can't be invented in its entirety in private. (It doesn't mean everyone has to have equal say, but make sure that the people who are going to drive the platform's adoption have a big say, and at least listen to the others.)
- Be device-neutral and media-neutral, i.e. a resource needs to work equally well if the user is blind and using a braille display as if the user is deaf and using a screen with closed captions; a resource needs to work equally well on a mobile phone, an HD TV, a tablet, a laptop or a desktop computer; it needs to be possible for new types of devices to come along and for the platform to work well with them too.
- Be content-neutral, i.e. be as good for describing an e-commerce experience, a multimedia entertainment experience, a book, a game, a memo, a space rover dashboard, etc. (The way the Web has evolved so that a document and an application are just different ends of a spectrum is something you rarely see on other platforms, and so is something a lot of people forget when making new platforms.)
- Be radically better than the existing Web. Not just a slight incremental improvement, but a distinct step up in every way. Faster, easier to author in, more usable, more features, more monetisable, etc.
Here are some examples of systems that have failed to replace the Web, despite trying, in no particular order:
- Microsoft's .NET platform (only did #4 above)
- XHTML2 and XForms (only did #1 and #3)
- the Semantic Web (so far it has only done #1, #2, and #3)
- Adobe's various products like Flash or Adobe Air (didn't manage any of #1-#5)
- Java (didn't manage any of #1-#5)
FWIW, I think HTML (and the Web in general) is strong on #1 and #4, weak on #2 and #3, and, compared to what it was competing with when it came out, was good (though not incredibly so) on #5. So a new platform wouldn't have to hit all five of these points out of the park to be a success. But I do think you need to at least have a solid story on all five, and so far nothing I've seen attempt to compete with the Web comes even close.