Paul Ellis makes a strong case that the W3C and WHATWG are to blame for the increased use of proprietary technologies on the web. I don't think the problem is all of that serious yet because there are alternatives to the proprietary, corporate implementations of Flash and Silverlight. Furthermore, the official Java implementation from Sun has been released as an open source work, and that will only serve to help keep the web at least partially open because of the open infrastructure that can be supported on open source Java (not to mention maybe some actual innovation with Java Applets).
The "problem," though is one that is caused by people trying to make the web do things it was never designed to do. Here's a simple fact: web applications cannot do a lot of things that people wish they could do. The reason for this is that HTML was never designed to be a good language for designing a user interface. It's not like Swing, Qt, GTK, Windows Forms, wxWidgets or any other major GUI toolkit. Rather it was designed to be good for representing documents.
Flash, Silverlight, JavaFX, etc. are good because they get people to stop trying to make the web be something it isn't. You want some nifty, wizbang application to load up in your browser that does heavy duty work? Use one of those. Embed it into the web page. As long as the effort is put into those environments, it won't be put into perverting HTML and JavaScript to the point that they become proprietary, useless kludges.
The future will hopefully see more technologies like Java Web Start. Using Java Web Start, you can distribute real, functional Java programs to users via their web browser. Need to give remote users access to full corporate email? No problem. Just put a Java Web Start-based email client for them on the corporate VPN. When they log into the corporate intranet remotely, they can activate Java Web Start and get the program delivered right to them effortlessly.
The "problem," though is one that is caused by people trying to make the web do things it was never designed to do. Here's a simple fact: web applications cannot do a lot of things that people wish they could do. The reason for this is that HTML was never designed to be a good language for designing a user interface. It's not like Swing, Qt, GTK, Windows Forms, wxWidgets or any other major GUI toolkit. Rather it was designed to be good for representing documents.
Flash, Silverlight, JavaFX, etc. are good because they get people to stop trying to make the web be something it isn't. You want some nifty, wizbang application to load up in your browser that does heavy duty work? Use one of those. Embed it into the web page. As long as the effort is put into those environments, it won't be put into perverting HTML and JavaScript to the point that they become proprietary, useless kludges.
The future will hopefully see more technologies like Java Web Start. Using Java Web Start, you can distribute real, functional Java programs to users via their web browser. Need to give remote users access to full corporate email? No problem. Just put a Java Web Start-based email client for them on the corporate VPN. When they log into the corporate intranet remotely, they can activate Java Web Start and get the program delivered right to them effortlessly.
We're working on making HTML a good language for applications in the HTML5 effort. If you have any suggestions for what we should do to make it more appropriate, please do let us know by e-mailing me directly (ian@hixie.ch) or e-mailing the list: http://whatwg.org/mailing-list#specs