I love standards. If you’ve been around for any amount of time you know that. Required browser plugins, closed technologies, or incompatible formats / protocols make me cringe. They make life on the Internet so much more complicated. I want to be able to open ANY browser on ANY system and surf to ANY page and have it just work. I also want to be able to develop without having to purchase software (IDE, compiler, whatever) to do it with. Anything else is a headache for both developers and users, at least IMHO.
Flash / Shockwave
The Adobe family of client-side applications is one of the most popular. Flash movies will run on almost any computer, because there is a flash plugin available for all major browsers and Operating Systems. This plugin sometimes comes installed by default, but is free otherwise. MANY sites require the use of this plugin, so to assume users have it is not that bad of an assuption.
BUT, you have to purchase a flash-authoring tool from Adobe to create these wonderful snippets. Then, what of the browsers, OSs, or architectures NOT supported (there are some)? What about systems you do not have rights on where you cannot install plugins? And think of the hassle when you must upgrade that plugin! You are surfing just like normal on a site you often frequent when suddenly: “Adobe Flash 10 Required…”
This is a new Flash competitor with MS. Browser, OS, and architecture support is promised by official release. It’s still free, but I believe that (like Flash) one must purchase software to author it. Being new, it is not nearly so widespread as Flash, meaning that if one uses it in the development of a site MANY people are going to be forced to install Yet Another Plugin to view your page.
An older MS offering, this system was never implemented outside of Internet Explorer (to my knowledge). This limits one’s audience tremendously. It also has a reputation for security holes. That said, it is a very powerful plugin-free (but IE-only) system that can easily allow direct access onto the local system. It competes more with Java Applets than with Flash.
A new plugin from Sun Microsystems that uses Java syntax to create Flash-competing content. I believe that the free-to-use Java toolkits can be used to create the apps, which is a benefit. An additional plugin MAY (not sure) be required to view it, however. If so, similar issues to Silverlight.
Java is a full-fledged programming language meant to replace C++. It has been used to create small programs (applets) that execute inside a browser. Open, standard, and recently open-source licensed, the language lacks only default adoption. A plugin install is required to run applets. This plugin is, however, quite widespread and supports more browsers, OSs, and architectures than any other system I am considering here. Because the language is a complete language, it has the power of ActiveX to reach the local systems. It has a better reputation when it comes to security, but has a reputation for being slow in the browser environment.