FlashExperienceIntrepid
|
Size: 9766
Comment:
|
Size: 9804
Comment: typography
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 12: | Line 12: |
| * Provide the user with a seemless flash experience; this includes ease of install as well as a pleasent flash user-experience. |
* Provide the user with a seamless Flash experience; this includes ease of install as well as a pleasant Flash user-experience. |
| Line 15: | Line 15: |
| a free flash alternative by default. | a free Flash alternative by default. |
| Line 21: | Line 21: |
| Plugin Finder Wizard shipped by mozilla are: | Plugin Finder Wizard shipped by Mozilla are: |
| Line 36: | Line 36: |
| In hardy, the ubuntu shipped flash products are installed in a global location. When more than one flash alternative is available, |
In hardy, the Ubuntu-shipped Flash products are installed in a global location. When more than one Flash alternative is available, |
| Line 39: | Line 39: |
| the debian/ubuntu alternative mechanism. At the moment, alternative | the Debian/Ubuntu alternative mechanism. At the moment, alternative |
| Line 49: | Line 49: |
| to a unpleasent and in some cases even confusing user experience. | to a unpleasant and in some cases even confusing user experience. |
| Line 57: | Line 57: |
| with a link to the adobe flash download page. ==== Adobe Download Page doesn't offer .deb's nor apt: URLs ==== The adobe download page doesn't offer .deb's nor any other form of automated/guided install of their flash plugin on debian/ubuntu systems |
with a link to the Adobe Flash download page. ==== Adobe Download Page doesn't offer .debs nor apt: URLs ==== The Adobe download page doesn't offer .debs nor any other form of automated/guided install of their Flash plugin on Debian/Ubuntu systems. |
| Line 67: | Line 67: |
| Free flash players still lack a lot features/bugs to be useful for the majority of .swf files shipped on the net. Its not clear how long it will take for free flash to become a viable replacement for adobes proprietary flash plugin when browsing the web. However, free flash players try to serve users by fixing most important |
Free Flash players still have a lot of missing features or excess bugs to be useful for the majority of .swf files shipped on the net. It's not clear how long it will take for free Flash to become a viable replacement for Adobe's proprietary Flash plugin when browsing the web. However, free Flash players try to serve users by fixing most important |
| Line 74: | Line 74: |
| not aligned to the ubuntu release cycle and the current approach of not upgrading to new upstream versions makes flash break over time. |
not aligned to the Ubuntu release cycle and the current approach of not upgrading to new upstream versions makes Flash break over time. |
| Line 79: | Line 79: |
| Users are not aware about the differences of flash players. The Plugin Finder Wizard doesnt provide enough context to make a |
Users are not aware about the differences between Flash players. The Plugin Finder Wizard doesn't provide enough context to make a |
| Line 85: | Line 85: |
| Though ubuntu provides alternative flash solutions, users have no | Though Ubuntu provides alternative Flash solutions, users have no |
| Line 88: | Line 88: |
| alternatives available when they experience a broken flash file | alternatives available when they experience a broken Flash file |
| Line 96: | Line 96: |
| Firefox 2 didn't support (java-)scriptable threading facilities. In firefox 3 this should be possible. Thus we should be able to move the apturl exec out of the UI thread. This require some rewrite of the |
Firefox 2 didn't support (Java-)scriptable threading facilities. In Firefox 3 this should be possible. Thus we should be able to move the apturl exec out of the UI thread. This requires some rewrite of the |
| Line 101: | Line 101: |
| keep ubufox compatible with firefox 2 as plain special casing - as | keep ubufox compatible with Firefox 2, as plain special casing - as |
| Line 107: | Line 107: |
| the Plugin Finder Wizard facilities shipped by ubuntu: * The first option would make the flash detection kit void by providing a fallback dummy plugin that pretends to be a full flash implementation; instead of rendering the flash content it would display |
the Plugin Finder Wizard facilities shipped by Ubuntu: * The first option would make the Flash detection kit void by providing a fallback dummy plugin that pretends to be a full Flash implementation; instead of rendering the Flash content it would display |
| Line 118: | Line 118: |
| to listen on plugin probes done through javascript, which in turn could pop-up the "Install Missing Plugins ..." banner when a probe for a flash |
to listen on plugin probes done through Java``Script, which in turn could pop-up the "Install Missing Plugins ..." banner when a probe for a Flash |
| Line 121: | Line 121: |
| break the website user-experience from the websites-author perspective and is user-experience wise the preferred solution. However, the |
break the website user-experience from the website-author's perspective and is user-experience-wise the preferred solution. However, the |
| Line 128: | Line 128: |
| This needs to be communicated and implemented by adobe. Offering an apturl that installs adobes flash from our repositories is preferable |
This needs to be communicated to and implemented by Adobe. Offering an apturl that installs Adobe's Flash from our repositories is preferable |
| Line 134: | Line 134: |
| The lack of features in free flash is something that can only be tackled by upstreams in the free flash code base. |
The lack of features in free Flash is something that can only be tackled by upstreams in the free Flash code base. |
| Line 138: | Line 138: |
| is to shape the ubuntu SRU procedures to consider regular updates | is to shape the Ubuntu SRU procedures to consider regular updates |
| Line 141: | Line 141: |
| * free flash provides a extensive test-suite that allows us to | * free Flash provides a extensive test-suite that allows us to |
| Line 143: | Line 143: |
| * the free flash solution doesn't export any library to a system | * the free Flash solution doesn't export any library to a system |
| Line 163: | Line 163: |
| empty lines will be interpreted as a paragraph delimiter | Empty lines will be interpreted as a paragraph delimiter. |
| Line 170: | Line 170: |
| flash file. | Flash file. |
| Line 173: | Line 173: |
| 1. add a toolbar / statusbar item that shows up in a colored fashion when visiting a website with active flash content (vs. greyed out or even hidden when no flash content exists). Clicking on it should trigger the plugin finder wizard and make the user select an alternative which should then instantly be used (without requiring restart). 1. temporarily display a tools hint (like a magifier) overlayed over flash content that the user can click to trigger the plugin finder wizard to select an alternative. 1. both of the above with the option to turn of the overlaying hint. |
1. add a toolbar / statusbar item that shows up in a colored fashion when visiting a website with active Flash content (vs. greyed out or even hidden when no Flash content exists). Clicking on it should trigger the plugin finder wizard and make the user select an alternative which should then instantly be used (without requiring restart). 1. temporarily display a tools hint (like a magifier) overlayed over Flash content that the user can click to trigger the plugin finder wizard to select an alternative. 1. both of the above with the option to turn off the overlaying hint. |
| Line 178: | Line 178: |
| per-flash file. However, implementing this would require substantial work on the | per-Flash file. However, implementing this would require substantial work on the |
| Line 183: | Line 183: |
| the free flash implementations. For this free flash players could decide to automatically fallback to adobe plugin (using xembed) if they detect that the flash file uses an unimplemented feature; further, the free flash players could provide |
the free Flash implementations. For this free Flash players could decide to automatically fallback to Adobe plugin (using XEmbed) if they detect that the Flash file uses an unimplemented feature; further, the free Flash players could provide |
| Line 187: | Line 187: |
| certain .swf files/sites from the free-flash experience. Blacklisting would always trigger the adobe fallback, while whitelisting would stop automatic fallback when |
certain .swf files/sites from the free-Flash experience. Blacklisting would always trigger the Adobe fallback, while whitelisting would stop automatic fallback when |
| Line 196: | Line 196: |
| * document the details of the flash detection kit, in particular what properties | * document the details of the Flash detection kit, in particular what properties |
Ubuntu Flash Experience (Intrepid Spec)
ContentsBRTableOfContents |
Blueprint: flash-experience-intrepid
Related Blueprints: free-flash
Drafter: AlexanderSack
- Target: Intrepid and beyond
General Objectives
- Provide the user with a seamless Flash experience; this includes ease of install as well as a pleasant Flash user-experience.
- Support Free Flash as much as possible; the long-term goal is to ship a free Flash alternative by default.
Status Summary (Hardy)
In hardy, ubufox ships a custom Plugin Finder Wizard implementation. The core changes done to the pristine Plugin Finder Wizard shipped by Mozilla are:
- Present multiple results (aka choices) to the user in the Plugin Finder Wizard result-window.
- Support apt: URLs as package URLs in the plugin finder results retrieved from the website. This includes a apturl installer backend which is triggered to install apt: plugins selected by the user.
- Present a graphical hint what installation method is used
- Firefox .xpi result distributed on the net (as delivered by the pfs.mozilla.org webservice).
- apt: urls to install packages if the user has administrator privileges
In hardy, the Ubuntu-shipped Flash products are installed in a global location. When more than one Flash alternative is available, users with admin role can select the system-wide default using the Debian/Ubuntu alternative mechanism. At the moment, alternative priorities are the same, so the outcome of what is used mostly depends on random facts (like install order, etc.)
Identified User Experience Issues
Apturl blocks UI thread
Apturl is run synchronously from within the UI thread. This means that the UI freezes while apturl prompts for user feedback, leading to a unpleasant and in some cases even confusing user experience.
Flash Detection Kit blocks Plugin Finder Service
Firefox doesn't prompt the user about installing a plugin using the Plugin Finder Service if the Flash Detection Kit is used by sites. This makes the user-experience improvements by the new Plugin Finder Service void for lots of websites, as the user will just be provided with a link to the Adobe Flash download page.
Adobe Download Page doesn't offer .debs nor apt: URLs
The Adobe download page doesn't offer .debs nor any other form of automated/guided install of their Flash plugin on Debian/Ubuntu systems.
Free Flash Status
Free Flash players still have a lot of missing features or excess bugs to be useful for the majority of .swf files shipped on the net. It's not clear how long it will take for free Flash to become a viable replacement for Adobe's proprietary Flash plugin when browsing the web.
However, free Flash players try to serve users by fixing most important sites; unfortunately, those sites change their .swf files in a way not aligned to the Ubuntu release cycle and the current approach of not upgrading to new upstream versions makes Flash break over time.
Plugin Finder Wizard lacks Description for displayed alternatives
Users are not aware about the differences between Flash players. The Plugin Finder Wizard doesn't provide enough context to make a qualified decision.
No user way to switch to alternative solutions
Though Ubuntu provides alternative Flash solutions, users have no GUI guidance for switching the alternative. They are not even aware that their current player might just be one out of many alternatives available when they experience a broken Flash file on the net.
Proposed Solutions
Apturl blocks UI thread
Firefox 2 didn't support (Java-)scriptable threading facilities. In Firefox 3 this should be possible. Thus we should be able to move the apturl exec out of the UI thread. This requires some rewrite of the PluginFinderWizard XUL + js code as the current code is not prepared for any kind of asynchronous processes. It is open if and how we can keep ubufox compatible with Firefox 2, as plain special casing - as done in the past - is not enough.
Flash Detection Kit blocks Plugin Finder Service
We have two options to trick the Flash Detection Kit into triggering the Plugin Finder Wizard facilities shipped by Ubuntu:
- The first option would make the Flash detection kit void by providing a fallback dummy plugin that pretends to be a full Flash implementation; instead of rendering the Flash content it would display the puzzle piece known from the nullplugin. This solution would probably require some changes to the browser/ code in order to properly detect and accumulate the not-served content-types in order to pop-up the "Install Missing Plugins ..." banner.
- The other alternative would try a less intrusive (with regards to breaking intended web-site experience). Using a well designed patch it should be possible
to listen on plugin probes done through JavaScript, which in turn could pop-up the "Install Missing Plugins ..." banner when a probe for a Flash player is retrieved and no plugin is available. This approach would not break the website user-experience from the website-author's perspective and is user-experience-wise the preferred solution. However, the patch to allow this behaviour would go into the low-level code of gecko and thus might be too risky to accept.
Adobe Download Page doesn't offer .deb's nor apt: URLs
This needs to be communicated to and implemented by Adobe. Offering an apturl that installs Adobe's Flash from our repositories is preferable from user experience perspective.
Free Flash Status
The lack of features in free Flash is something that can only be tackled by upstreams in the free Flash code base.
One improvement to overcome the moving target problem of .swf files is to shape the Ubuntu SRU procedures to consider regular updates to new upstream releases in stable releases. The identified requirements for this are:
- free Flash provides a extensive test-suite that allows us to track potential regressions
- the free Flash solution doesn't export any library to a system libdir.
Plugin Finder Wizard lacks Description for displayed alternatives
The current meta displayed in the plugin finder wizard is stored in a database regularly updated from package control file meta information. The currently used Xb-Npp-* labels are:
- Xb-Npp-Applications: Mozilla Application GUIDs supported by the plugin package
- Xb-Npp-Name: The name displayed in the Plugin Finder Wizard
Xb-Npp-MimeType: The content-types this plugin serves
To overcome the "lack of Description" problem we add a new Section Xb-Npp-Description:
- Xb-Npp-Description: Carefully drafted description for the plugin which is supposed to support the user in making a qualified decision. This control section is a multi-line section. However, the plugin finder wizard is supposed to do the appropriate line breaks automatically. Empty lines will be interpreted as a paragraph delimiter.
No user way to switch to alternative solutions
To fix this issue, the user interface needs to provide obvious, but not annoying hints that there are alternatives available when playing Flash file.
We have multiple UI options to trigger the alternative selection:
- add a toolbar / statusbar item that shows up in a colored fashion when visiting a website with active Flash content (vs. greyed out or even hidden when no Flash content exists). Clicking on it should trigger the plugin finder wizard and make the user select an alternative which should then instantly be used (without requiring restart).
- temporarily display a tools hint (like a magifier) overlayed over Flash content that the user can click to trigger the plugin finder wizard to select an alternative.
- both of the above with the option to turn off the overlaying hint.
A more advanced approach would allow the user to select particular alternatives per-Flash file. However, implementing this would require substantial work on the gecko plugin code, which doesnt support multiple plugins for the same content type by design.
A third option that recently was suggested is to provide a fallback mechanism in the free Flash implementations. For this free Flash players could decide to automatically fallback to Adobe plugin (using XEmbed) if they detect that the Flash file uses an unimplemented feature; further, the free Flash players could provide UI facilities (through the right-click context menu) to explicitly blacklist/whitelist certain .swf files/sites from the free-Flash experience. Blacklisting would always trigger the Adobe fallback, while whitelisting would stop automatic fallback when missing implementation details are detected.
Implementation Details
- ...
Outstanding Issues / TODO
- document the details of the Flash detection kit, in particular what properties on the navigator and plugin info object are tested;
- outline the details on how to extend the plugin finder service to display description; this is supposed to include a brief description of changes required to the plugin finder wizard UI in ubufox, as well as a brief description how to extend the plugin finder service database scheme and the tools used to populate the database.
- draft implementation details
Comments
- ...
FlashExperienceIntrepid (last edited 2008-10-25 16:58:56 by c-98-209-40-123)