Developers have been spurred into adopting newer web standards and technologies as they accelerate towards the future of the web. The general feeling is that the future of the internet will be free of browser plug-ins, this leads one to wonder will it really? And more importantly should it?
This encourages us to ask, why do plug-ins exist today, what problem do they solve?
The fact of the matter is, a standard no matter how well designed is not going to cover the needs of everybody. There is no one size that fits all, requirements can vary greatly from one person to another. Standards are expected to last, however needs often change faster.
Consider plug-ins such as the Citric XenApp Client, or the 3DVIA Virtools plug-in. They both solve specific problems that only a small percentage of users will ever face. Not everyone needs to access virtual desktops across the internet and use such software from within the browser, and not everyone needs to be able to “view interactive real-time 3D applications” in their web browser either. It would not make sense to create and implement a web standard that cover these usage scenarios. However plug-ins can fulfill the needs of a niche without requiring and waiting for the functionality to be standardised.
Of course, 3D on the web is something that is already underway with WebGL. However with a web standards-oriented approach, the content experienced by the user will heavily depend on the browser they use. Features such as WebGL are not present in Internet Explorer and no support has been announced in the upcoming Internet Explorer 9 version either. While for many people, 3D content on the web is something that will come in the future, for others it could be an immediate need. This is where plug-ins can be incredibly useful, in bringing features to people that not everyone needs or those that don't work everywhere yet.
Take the example of web video, a widely publicized issue. Web video wasn't quite that feasible at a time when most people had slow dial-up internet connections that coule barely transfer images. There are people today with Gbps connections, for whom it is feasible to stream their entire OS from a remote computer. Similarly,even at that time there were people with fast enough internet connections to play back video straignt form the web. The web had no mechanism for it though, and plug-ins such as RealPlayer, Windows Media Player, and Flash Player stepped in.
Today video usage on the internet has become quite popular, and as such a new web standard way of distributing such content is becoming available to users. The HTML5 video tag takes over some of the most common uses of web video, playing back unprotected media in the browser. It still misses the mark on some popular scenarios such as playback of DRM protected video content – which is unlikely to ever become standard – and streaming video.
Now some of the concern has shifted to how well Flash or HTML5 can handle HD content, especially on low-power devices with slow CPUs incapable of playing back such content without hardware acceleration.
Looking from an Indian perspective, something like playing HD video is still far off. Few Indians have internet connections powerful enough to even play back SD content, so when Google announces support for 2k and 4k video on YouTube, it almost seems like they are mocking us! Consider that despite having poor internet penetration (less than 7%) we stand 4th in the number of internet users thanks the sheer number of people that inhabit this country. These are millions of people for most of whom HD video playback capability is not important.
What we try to illustrate here is that the needs of internet users will always vary significantly enough over time and location that it is difficult to cover it all under web standards. Some features may be needed by a few that can never be made standard for security, openness or any other reason. Plug-ins will always hold a relevance to the web, whether they are used by 99% of internet users, or fewer than 0.1%.
As P2P application, drag and drop, 3D effects, rich font support etc are being more more commonly used on the web, such technologies too are being standardized so the next generation of internet users will have a common base of functionality. Yet there is still enough scope for plug-ins, especially since they do not need years of standardization before implementation. The ideas have to come from somewhere, and plug-ins allow a level of innovation on the web that is not constrained by standards, but can drive them.