Browser plug-ins fill that niche between smart clients and traditional browser-based applications. Certain types of browser-based functionality can only be accomplished by extending the browser.
The upside of using a plug-in can include: a rich user experience, additional functionality not supported by browsers and more control over your programming environment. However, there are downsides of plug-ins such as the need for deeper programming experience, a better understanding of the inner workings of a browser and security tradeoffs. To be successful at coding a browser plug-in one must be familiar with enterprise frameworks and methodologies such as multi-threading, thread safe programming, Windows Presentation Foundation (WPF) and the Data Object Model (DOM).
There are several options available when coding a plug-in including ActiveX, Silverlight and Browser Helper Objects (BHO's). Amadeus Consulting has designed, developed and deployed all of the above options and can assist in determining which version is right for each client's specific implementation. When all else fails and there are no other options we even have experience in some of the toughest implementations utilizing multi-threaded C++.
Microsoft's response to Adobe Flash and Adobe Flex is Silverlight. It provides an excellent platform to maximize benefits of a browser plug-in while minimizing risks. Programmers relish in the fact that a .NET programming environment available in smart clients is also available within Silverlight. A rich user interface is essential in the design of Silverlight and is the reason why many users are adopting it.