Skip to main content
May 24, 2017
Answered

Adobe Flash Research Questions

  • May 24, 2017
  • 1 reply
  • 661 views

Hello members and staff of the Adobe Community!

I’m working on a research paper for a local university on the topic of the history of internet browsing software and its most prominent plug-ins. I was hoping I could get some firsthand information from the experts who have worked with some of these plug-ins and, in this case, Adobe Flash Player specifically.

One of the core subsections of my research involves examining how it is possible for a plug-in to run on a variety of different internet browsers and how these browsers interact with these different plug-ins. I’ve compiled some of my notes into a quick diagram that you may want to take a look at if possible.

http://imgur.com/a/XgQiM

From what I can tell, a browser communicates through a Plug-in API and it utilizes one of the Plug-in APIs to be able to communicate with the specific plug-in. It appears as though certain browsers use their own specific Plug-in API to handle specific plug-ins.

For example:

NPAPI is used by a variety of different browsers for loading a variety of different plug-ins. FireFox currently utilizes NPAPI to run/load a plug-in (Flash Player) so that it can be used by the client. 

I’m guessing that when Flash player is installed from its generic installer (https://get.adobe.com/flashplayer/), it must utilize some code to identify what browser it’s installing to. Or, in the case of Google Chrome, it’s already contained within the browser itself with PPAPI. 

As a final question, I was wondering what the deal is with Adobe Flash Player and the different Plug-in APIs that are used by the different browsers. Are there different Adobe Flash Players or are there just different APIs to load it into the different browsers? I’m confused.

If I could get some direct quotes from the experts or maybe even a developer it would go a long way. In either case, any help is always appreciated.

Thanks!

This topic has been closed for replies.
Correct answer jeromiec83223024

Yep, that's pretty much the deal.  Each browser exposes an interface for plug-ins, and those interfaces vary by browser.  We deal with all of the thousands of little differences between browsers, operating systems and the individual versions therein, so that developers can focus on targeting a single, consistent platform.  It's not always possible to get perfect parity across such a large variety of differences and restrictions, but we get pretty close.

Microsoft's plug-in technology was ActiveX (and plug-ins are ActiveX Controls in the Microsoft lingo), Netscape/Mozilla's technology is the Netscape Plug-In API (NPAPI), and Chromium's plug-in interface is the PPAPI (Pepper Plug-In Interface), not to be confused with NaCl, the Native Client.  (It's also worth noting that many Chromium forks like modern versions of Opera, also support PPAPI, similar to how Netscape/Mozilla forks support NPAPI.)

The Wikipedia articles on ActiveX, NPAPI and PPAPI are all solid, and can point you to good authoritative sources.

In terms of determining the correct installer, we actually do that at the server.  We look at the browser's user-agent and provide the correct binary for your os/browser combination.  There are also a variety of installation packages and workflows beyond just what goes to end-users.  If you're distributing Flash Player inside a bank or other secure environment, we have specialized installers and config files that allow administrators to tailor Flash Player's behavior to their environment, and they can even run their own Flash update servers locally to address situations where their internal machines might not have direct access to the Internet, but still need Flash updates

There's a bunch of stuff in here that you might not have thought about before, that you might find interesting:

Adobe Flash Player Administration Guide for Flash Player | Adobe Developer Connection

Anyway, last time I checked, there were ~36 variants of Flash Player that we generate with each update, including stand-alone Flash Player, the regular release variants, and the ActionScript Debugger variants used by developers, the Flash Player that gets incorporated into Flash Professional, multiplied by the target Operating System and Plug-In Interface, and the CPU architecture, which covers Intel 32 and 64-bit and even ARM on some targets.

1 reply

jeromiec83223024
jeromiec83223024Correct answer
Inspiring
May 24, 2017

Yep, that's pretty much the deal.  Each browser exposes an interface for plug-ins, and those interfaces vary by browser.  We deal with all of the thousands of little differences between browsers, operating systems and the individual versions therein, so that developers can focus on targeting a single, consistent platform.  It's not always possible to get perfect parity across such a large variety of differences and restrictions, but we get pretty close.

Microsoft's plug-in technology was ActiveX (and plug-ins are ActiveX Controls in the Microsoft lingo), Netscape/Mozilla's technology is the Netscape Plug-In API (NPAPI), and Chromium's plug-in interface is the PPAPI (Pepper Plug-In Interface), not to be confused with NaCl, the Native Client.  (It's also worth noting that many Chromium forks like modern versions of Opera, also support PPAPI, similar to how Netscape/Mozilla forks support NPAPI.)

The Wikipedia articles on ActiveX, NPAPI and PPAPI are all solid, and can point you to good authoritative sources.

In terms of determining the correct installer, we actually do that at the server.  We look at the browser's user-agent and provide the correct binary for your os/browser combination.  There are also a variety of installation packages and workflows beyond just what goes to end-users.  If you're distributing Flash Player inside a bank or other secure environment, we have specialized installers and config files that allow administrators to tailor Flash Player's behavior to their environment, and they can even run their own Flash update servers locally to address situations where their internal machines might not have direct access to the Internet, but still need Flash updates

There's a bunch of stuff in here that you might not have thought about before, that you might find interesting:

Adobe Flash Player Administration Guide for Flash Player | Adobe Developer Connection

Anyway, last time I checked, there were ~36 variants of Flash Player that we generate with each update, including stand-alone Flash Player, the regular release variants, and the ActionScript Debugger variants used by developers, the Flash Player that gets incorporated into Flash Professional, multiplied by the target Operating System and Plug-In Interface, and the CPU architecture, which covers Intel 32 and 64-bit and even ARM on some targets.