By Ian Hamilton, Signiant CTO
Netscape Navigator also gave birth to the Netscape Plug-in Application Programmer Interface (NPAPI). The NPAPI allowed browser functionality to be extended to render content types, like video, not handled natively within a web page. It was also used to generically extend browser capabilities beyond those supported by standards.
The NPAPI was used to create browser plug-ins that supported Rich Internet Application (RIA) deployment using Adobe Flash, Microsoft Silverlight and Java amongst other technologies. These plug-ins enabled web delivered applications that behaved more like native applications through use of these proprietary RIA frameworks. The NPAPI was also used by Signiant to extend browser functionality with accelerated file transfer capabilities.
While the NPAPI provided a powerful way to extend browser functionality, it could also be misused. Because NPAPI-based extensions, or plug-ins, could be loaded by any web page and run with the same system privileges as the browser, plug-ins had to incorporate appropriate security mechanisms to prevent misuse. Further, because of the way plug-in and browser code interact, plug-ins could cause browser instability and crashes if they were not well written. Users had to put a fair bit of faith in plug-in providers and plug-in providers had to take responsibility for providing secure high quality plug-ins.
While all major desktop web browsers supported the NPAPI at the beginning of 2015, most had implemented mechanisms that restricted the scope of execution. With these restrictions in place, users had to explicitly authorize web pages or web domains to load plug-ins. In September 2015, version 45 of Google’s Chrome browser completely removed support for the NPAPI. And Mozilla Firefox has announced they will eliminate support for the NPAPI by the end of 2016. Further, Microsoft’s new Edge browser has never supported the NPAPI.
With the imminent death of the NPAPI, what options are left for extending browser functionality with advanced capabilities like accelerated file transfer? Chrome supports browser extensions using their Pepper Plug-in API (PPAPI), but this solution is Chrome specific. To address this problem with a standards-based solution, Signiant has extended the Signiant App for Mac and Windows to interact with web applications using standard browser capabilities.