- No multithreading
- Reference counting GC, causing memory leaks
- Only 2 outgoing TCP sockets, and only to same site as URL
- Whole-page rendering, making dynamic layout changes unpleasant
- DOM incompatibilities
- Event firing and handling incompatibilities
- Limited standard libraries, and poor support for large-scale programming
All of this reminds me very much of MS-DOS. Like the browser, it was essentially a toy that was not originally intended to be used for anything serious or intense. Hackers came in and discovered they could do all sorts of things beyond those original intentions, and that they could get rich in the process. In the resulting gold rush there was no time to worry about fixing the platform. MS-DOS willfully ignored the existing body of knowledge about how to design an operating system. They wanted something quick and dirty (it was truthfully called QDOS at first), so they didn’t bother to include multiple users, multitasking, reentrancy, networking, hierarchical file systems, command shells, etc. The result was a decade of horrible cluges and hacks to work around or fix these mistakes. Novell made a fortune adding in the missing networked file system.
It wasn’t until Windows NT that MS built a reasonable OS. But by that time they were so burdened by compatibility with the mistakes of the past that many of the benefits were dissipated. Windows remains a platform crippled by its past. Apple escaped their own dead end by abandoning compatibility and importing the older but mature technology of Unix into OS X. The result today is that Apple has a better platform, but an inferior market position. Compatibility really is the right business decision.
Google Chrome is like Windows NT. It is an attempt to fix the browser, by building it the way it should have been done if it was known that it would become a universal application platform. The big question is whether Chrome can force the major browsers to improve. All Google can do is make GWT and all the Google Apps run so much better on Chrome that the other browsers will be forced to catch up.
If we are doomed to repeat history, then reengineered browsers ala Chrome will continue to be the dominant web platform, like Windows dominates desktops, with Silverlight/Flash/JavaFX taking a small minority share like OS X.