Public
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:
1. 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.)
2. 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.)
3. 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.
4. 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.)
5. 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.
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:
1. 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.)
2. 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.)
3. 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.
4. 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.)
5. 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.
View 30 previous comments
- +Thaddee Tyl I think additions to current standards will only worsen the situation. Bad browser support, prefixes, backwards compatibility. There are also lots of problems in how the specification workflow actually looks like. We can talk a bit more on IRC if you wish to.Aug 12, 2012
- +Andrei Zisu I think your +AXR Project sounds very interesting. I was aware of HSS but not in any detail so I've been reading quite a lot about it over the last couple of days.
I'm not convinced, though, that it provides us with anything better than the current HTML5 + CSS3 + javascript (let's be honest, jQuery) paradigm, in any practical way.
Also, my understanding is that HTML5 is edging/has edged out (UK spelling) XHTML because of the fundamental issue of XML's sheer strictness. User-generated content pretty much blew that out of the water. HTML is just much more forgiving.
In some ways, I think it would be great if developers could take the lead with 'the next web", especially it it were open sourced in some way. I guess I missed that possibility, of the developer community taking the lead, in my earlier comment.
However, in my experience – and speaking as a web developer – web developers are normally not the best group to take a lead from when initiating a new project or standard.
Who's standing up for users? We're all users of the web, but those of us with some technical understanding of how the thing works (and I'll admit mine isn't perfect) are a very small minority.
So I guess, the question is not what do developers want, but what do users – including developers – need?Aug 12, 2012 - +Aryeh Gregor There's "backwards-compatible" and "backwards-compatible". If you're as compatible as we are being when we add new features, I think that just counts as the same platform. If you're as compatible as IPv6 to IPv4, or Windows to DOS, or today's x86 to 8086, I think that's a new platform. There's in-between cases that are harder to classify (e.g. new Unixen like Darwin or Linux to old Unixen, iOS to MacOS). But there's also cases that are clearly radically new platforms: Android's environment, for instance, while it reused Linux and the Java language, was not backwards-compatible with anything that came before it. Windows, while it was based on DOS in its early days, is a new platform distinct from Unix and CP/M and so forth. Yes, they all have some element of allowing code reuse, but that's not enough to really be "backwards compatible", IMHO.Aug 12, 2012
- +David O'Brien +Ian Hickson Well, AXR clearly isn't better in so many ways and maybe even the current team isn't even the most fit for the job. It's just a different approach. We're trying to find some fresh solutions to problems.
HTML/CSS got the hype in the 2k's when it was all about "documents" and nobody could forsee the power it has today. It simply isn't built for this kind of job. Backwards-compatibility is restricting the HTML spec teams. They can't do anything but patching it along the way.
AXR, on the other hand, is still young can easily dump it's path and completely rethink it's approach if there are solid arguments for it. You CAN call AXR a living standard, but if it (ever) gets adopted on a large scale, it is imperative for the developers to know what the features every version has to offer. (and that, even though I like WHATWG's fast pace, is why I think working with HTML as a young living standard is wrong)
+Thaddee Tyl I'm not sure how the version declaration will go. What's certain is that it will not be backwards compatible. The AXR prototype will support every version independently, so declaring your page AXR v2 will use the v2 prototype engine and have v2 features even if they were maybe outdated in v3.
+Ian Hickson The simple fact that you have only data instead of data mixed with markup for presentation puposes allows a great deal of flexibility. We have not yet fully figured the cross-device and cross-media chapter. Some deal of cross-device uniformization will come from the HSS Framework. In HTML, inputs and textarea respect the OS GUI guidelines. In barebones HSS there will be no inputs. Instead, the HSS Framework will provide you with them and they will be the same cross-OS. You will also be able to declare element roles in the page via HSS (element { isA: article; }). We're still working on lots of chapters and we'd sure use some help.Aug 12, 2012 - Right, you have to be radically better than the Web to be able to replace the Web. That's #5 in the OP.
If by "permanently" you mean "less than 50 years", then I agree.Aug 13, 2012 - Just for sake of entertaining discussion, and since no-one mentioned them above, how about one of the following:
* Markdown
* JSON
* Lisp
?Aug 13, 2012
Commenting is disabled for this post.