Firefox/Feature Brainstorming:Add-ons: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 78: Line 78:
* Send Theme name and version currently in use in the HTTP headers.
* Send Theme name and version currently in use in the HTTP headers.
** Why?  Why would a website owner, for instance, need to know what theme and version I'm using?  Why would I want to release this information? [[User:J.B. Nicholson-Owens|J.B. Nicholson-Owens]] 15:27, 26 October 2006 (PDT)
** Why?  Why would a website owner, for instance, need to know what theme and version I'm using?  Why would I want to release this information? [[User:J.B. Nicholson-Owens|J.B. Nicholson-Owens]] 15:27, 26 October 2006 (PDT)
<TABLE BORDER=1>
<TR><TD><B>Very simple torrent manager that works with LAN Media Servers</B></TD></TR>
<TR><TD>
<P>We need to integrate torrent functionality with Firefox. For one, torrents are definitely a standard for file downloading so it should logically incur that a standard downloading protocol should be integrated in ALL web browsers. For two, in most cases, there is no need for a download dialog with a torrent. I use Azureus(open source!!!); when I download a torrent, it (is supposed to) get(s) automatically sent to Azureus, then Azureus automatically saves it into a directory designated for torrents(My default is in my Shared Documents->Shared Downloads->Torrents. Incomplete downloads get put into Shared Documents->Shared Downloads->Incomplete and get moved to the parent directory when completed. This way I can access it over my LAN.). Azureus also has an import torrents automatically feature; it would be really nice if Firefox automatically saved all torrents into this directory then they could automatically be queued whenever I want to start Azureus(or when Azureus auto-imports). Also, I don't want torrents being shown in my Download manager. It clutters it up and I have to scroll through a long list to find my REAL downloads and it's also a waste of time for me to click remove on dozens of torrents(time is money). These are two VERY important reasons right here, but there is a third reason that is more important that these two combined.</P>
<P>Firefox should be able to be activated/deactivated and slow/pause/resume the Bit-Torrent client over a LAN(password protected if necessary of coarse). This is necessary because torrents have a tendency to hog bandwidth. Me personally, I have 3 internet computers in my house; 2 laptops and one desktop for downloading stuff. This becomes a problem when downloading multiple torrents; it lags my connection for web surfing and for LAN file transfers. It's almost as bad as having a dial-up connection and a lot of sites fail to respond.  It's very painful to surf the web and makes your desktop not viable as a LAN media server. If I want to surf the web in my room or watch a video off of my Desktop(mind you that there are two laptop in my house and I have a wireless router which means there might be two+ people watching videos/playing music/surfing the web which further taxes the network resources), I have to go all the way across the house and stop all my torrent transfers. This kills peoples work flow and is very annoying(although it does make me get up off of my ass, which is a good thing but beside the point :-)).</P>
<P>Not only is web surfing and having videos stall on you a pain, if you are browsing through a folder on the media server, Windows Explorer often times locks up for several minutes at a time and you can't do anything with Windows Explorer because the share a common service Daemon(Which means that you can't brows through a folder on YOUR hard-drive unless you want to crash the Windows Explorer). It would be REALLY nice if there was an option in Firefox that worked through other computer connected to your LAN that would send a message to the media server to pause the downloads/uploads and/or reduce the max speed. This could be accomplished through a protected shared folder which could be password protected(would also work with Windows and Linux) reserved specifically for such a setup. All it would require is one network folder with one very small data file in it. Any time Firefox is opened on any of the client computers, simply would simply alter the data file in this directory to reflect what resources the client machine needs; then the Bit-Torrent client would monitor this file and could start/resume/stop downloading or alter the download speed and number of file transfers. When the browser is closed then it would simply switch the file back to it's default state. This is non-invasive and would work with any Bit-Torrent client that implements this feature. It also wouldn't matter if you didn't even have a bit-torrent client installed because all it is simply a network folder with a one very small file in it and it's small enough that no viruses could be stored in it. It's %100 safe AND password protected. The network directory mount could also be in RAM on the server for maximum program response. This is useful because you could maximize your network resources while allowing the user to browse the internet/view streaming media seamlessly.</P>
<P>This feature could be turned on and off by the user. By default the setting would be off until the user downloads a .torrent file, then the browser would bring up a setup "wizard" that would configure the system. This would be very helpful for new users who don't know how to find the Bit-Torrent clients folder and select the executable. When the bit-torrent client is installed, it could tell Firefox which executable it should use. Also, in the Options->Content->Manage File Types menu, there are two options, one is open with default program and the other is Open with this application. It doesn't really matter if you only have one bit-torrent client that is registered with the OS but if you have multiple clients installed then one is preferable over the other in most cases. This "wizard" would also select the default torrent import directory, alter the Bit-Torrent clients torrent import directory(if that machine is the server. Logically, you would allow the client to modify the server.) and config the auto-start/stop function. This would be accomplished via a standard text configuration file set up in the users application settings folder. Another option would be to allow a system administrator to set all of the users default settings. From there on, when the user downloads a .torrent file, the browser would bring up a dialog that would ask the user if they wanted the torrent to run on their machine, or the media server. One could also specify if they wanted to add the torrent in a active or paused state. This would be accomplished non-invasively with a text configuration file named after the torrent file with a .cfg(or whatever) suffix. If the user wanted to download it on the server, all the browser would have to do is download the torrent to the network folder on the media serer, then the media server's Bit-Torrent client would automatically import the new torrent.</P>
<P>Vua La.. Problem solved... it takes up very little CPU/Network resources and it's modular(i.e. will work with any application or no application). This feature could be added now and Bit-Torrent clients such as Azureus could utilize the client/server relationship now without implementing the download speed/number of file transfers feature.</P>
</TD></TR>
<TR><TD>
I want this released under the GPL 2.0 but please give credit for this idea to me:<BR>
Chal(pron. Kale) McCollough<BR>
3170 W. 14th Str.<BR>
Eugene, OR  97402<BR>
email: chalmccollough@hotmail.com or apex_blue@hotmail.com<BR>
Cell: 541-653-6966
</TD></TR></TABLE>


== General tasks ==
== General tasks ==

Revision as of 15:32, 23 November 2006

« Firefox/Feature Brainstorming

Add-on management

  • Version compatibility
  • Options management
  • Integration with AMO
  • Make extensions "cleanware". Let all of their configuration lie in their own file directory instead of mashing it together with other extensions' configuration in One Big File. This reeks of Windows' "Registry Hell". Cleanly uninstalling an extension should be as simple as deleting its subdirectory.
  • Extensions should have compatibility mode to allow older extensions to run when a new revision of firefox is released and extension is not available. Maybe offer a "force install" to see if an out of revision extension will work.
    • See Nightly Tester Tools extension that is able to force such install mode over any given extension (or at least over most of them).
  • Should be able to view date and time that extension was added, and sort extensions by that date (to aid debugging, by removing extensions in reverse order, until a recently-seen problem ceases to exist). Andy Mabbett
  • Offer a program that allows users to merely alter the color scheme of the Firefox. All gloss effects and UI aesthetics remain, save for the change in color. Once the desired hue is selected, it's as easy as naming, then applying that theme. The program takes care of the rest.

Add-on manager

  • When prompted to restart because installing/uninstalling Extensions (or plugins), don't prompt to "close tabs?" -- this interrupts the restart flow...
  • "Update All" extensions button
  • Allow a non-root user to deploy extensions system-wide (on Linux)
  • Provide changelogs for extension updates (Do I really want to update?)
  • When the plugin finder doesn't find any suitable plugin, show a description for making easier to the user to find it (show data type?)
  • «Visit Home Page» opens extension's home page in a new window; must have another context menu item to open it in a new tab.
  • Allow us to specify which order each plugin will sit in.
  • Add a option to install plugin for Single User or All User mode while installing the XPI via the GUI.
  • Swap any special feature to an extension and add an Extension Manager that works like the Eclipse Callisto Project, so Firefox would be lightweight and functional
  • Ability to group extensions and themes into folders that can be enabled, disabled, and uninstalled as a group
  • "Restart Firefox" button for updated extensions (not just for new installed extensions)
  • Disabling of all extensions for specific sites. For example, at a bank you want to disable extensions to maximize security. Better would be built in, user-configurable, blacklisting and whitelisting for extensions. This would fit in with the Filter chains concept above (First stage in chain is a test for site with a 'return' target, {or first test in each stage for extension specific black/white-listing}).
  • Keep "Options", "Disable", and "Uninstall" visible with each extension even when not highlighted, to avoid the need to change row height.
  • Expand the Add-on manager to include sections for Plug-Ins, Dictionaries & Search Engines. Add-on Manager Screenshot
  • Simple suggestion: Typing the first letter of the add-on name should take you there, to avoid scrolling
  • Ability to stop search for updates. Currently if an update search hangs on a particular extension, there is no way to interact with the manager without closing and re-opening it.

Remote extensions

  • Support for remote extensions (i.e. dev tools package)
  • Store XPI files in a central location so multiple users on the same machine do not have to download the same XPI multiple times. Maybe allow user to set location so only one download is needed for multiple users on a corporate network.
    • Option when installing an add-on to install it for all users or the current user. Must have privileges to alter the user's settings.
  • a complementary web service to store your extension profile in so you could customize your experience at public computers with a simple login

Enable/Disable Add-ons

  • Allow user to disable plugins via "about:plugins", Options/Prefs, or Extensions
  • Dynamic loading/unloading of extensions. No more restarting just because an extension was installed/uninstalled/updated. (Like nglayout.debug.disable_xul_cache = true, only better.)

Syncable Add-ons data/prefs

  • Export/Import of Addons Information.

Extensions Packs

  • Firefox should support extension packs, in order to deliver a set of extension in a simple way. This is critical in order to add features without annoying the users with "hundreds of extensions" to find and configure.
    • One of the main issues I've seen upon the adoption of Firefox is "to get Firefox working like <insert browser name here> I have to find and setup too many extensions... I'll keep <same browser name>".
  • Have "Extension Packs" available for download immediately upon completing a Firefox install (also see "Installer" and "Uncategorized: Firefox Core/More" notes)
  • Firefox Core/More solution (under Other or Uncategorized) will handle both extensions packs on install, intuitive configuration and trust.

Restrictions

  • Limit amount of Plugins/Addons from overwhelming the Interface. Allow Firefox to limit 2-20 lines of toolbars for real estate recovery. Have Arrow Up and Arrow Down at the start of the Toolbar rotator or use the scroll wheel (when mouseover the Plugin toolbar) to rotate between plugins.
  • Prevent, limit, or allow user control over the way extensions add sub-menus to the right click menu (or whatever it's called). It gets too cluttered.
  • Have an override (like shift + right click) to get firefox's menu instead of plugin menu. This would make it possible to save flash animations, or have a field for "stop playing flash", or have a volume adjustment for the plugin if the plugin / content doesn't allow this.

Extension Crash Control

  • Monitor the resource usage of the extensions, and allow Firefox to "take over" and terminate, suspend, or otherwise neutralize a misbehaving extension. At the moment, much of the Firefox "instability" is caused by a misbehaving extension, such as acrobat or flash, which is causing the whole browser to stop responding.
  • Often when a flash plugin is handling a lot of data (like streaming website statistics), the browser can stop responding while the flash plugin is calcuating. In cases like this it seems that firefox needs to force-ably pause the plugin for a moment to allow the firefox main screen to refresh.
  • Make the browser not become unstable after a plugin crashes.

Plugins

  • Flash plugin to let the Windows version of Flash run using Wine (or similar.)
    • Since the Linux version will always be several versions behind what is used on most web sites and honestly expecting this to change is bordering on insanity, provide a way to run the Windows version under Firefox.
  • Fix the Flash Installation on Linux
    • One always winds up having to do a manual install. If Firefox needs root permissions to do the install ask for the root password, don't just fail out.
  • Allow 32-bit plugin in 64-bit Gecko
    • requiring the full 32-bit stack needed by Firefox instead of the few dependencies actually needed by the plugin is ludicruous on 64-bit systems
  • Better XPCOM debugging/introspection/build support
    • Include some good xpcom query/introspection/debug tools in the distribution. Debugging plugins is painful (the debug build crashes under gdb for me - for those developers who think I'm whinging without rtfm-ing).
    • Fix the build, it's a dog (I realize that this has been discussed before on bugzilla but this complicated and non-standard build you use is a real barrier to entry for new-to-firefox/mozilla programmers). It makes plugin development a pain (I can build .so files using the mozilla dist or the plugin sdk but firefox silently ignores them - I just want to know why).
  • A function like blocking grafics also for Flash advertising. Block Flash from Host XYZ.
  • Button "Don't show again" for Plugin bar... Sometimes I just don't want a plugin like Flash and don't want to be reminded on that on every page with advertizing.
  • Support for executing a .NET Framework code.

Plug-in for non integrated formats

  • Allow plug-ins to add support for file formats not supported by gecko (in ex. PDF, iCalendar, MS .doc files) or supported but needed to render differently (in ex. XHTML, feed RSS, IE rendering support)

Various

  • Send Theme name and version currently in use in the HTTP headers.
    • Why? Why would a website owner, for instance, need to know what theme and version I'm using? Why would I want to release this information? J.B. Nicholson-Owens 15:27, 26 October 2006 (PDT)

General tasks

  • Improve extension installation/management UI
  • Unify add-ons management (extensions, themes, search engines, dictionaries, plugins)
  • Improve interaction design around customizing browser interfaces
References

Variable icon size

  • Have an option for a theme to use svg images for icons so that users can adjust icon sizes. As it is now, I must provide 3 themes (e.g. -SphereGnome, SphereGnome_Big and SphereGnome_Jumbo) to present 4 icon sizes from 24x24-pixel to 64x64-pixel images.
  • Have an option to use variable system icons. For example, my themes use 16px, 24px and 32px images for menuitem images, tab favicons, etc.

Maybe you guys could include some nice-looking themes from start? Maybe some more colorful themes than the default-theme in Firefox 2?


Maybe icons based on SVG, and so continuously resizable?


  • Hello. I use LiteStep under WindowsXP, thus I am able to adjust my IconSize bigger than 48x48 Pixels. For now, I used a png-File, made a new ico-file with also a 64x64 icon in it and used Res-Hacker to replace the icon-group in the mozilla.exe file. -->> Although Windows XP nativly does not support icon sizes over 48x48 pixels, it would be nice if future Firefox versions would contain icons with a size above 48x48. I don't know, how many users would appreciate this, but on the other hand, it does not cost much. Same for Thunderbird and Sunbird. As much as I know, Vista will support icon-size over 48x48, so maybe you will do it anyway.

Switchable background images

  • Have an option for a user to choose background images supplied by a theme. Currently, I have four themes set up essentially to deliver different backgrounds. With variable icon sizes and switchable background images I could reduce my SphereGnome-based themes to two, and my Scribblies themes to one.
  • Have an option for a user to choose no background image. A number of users request "plain" themes.

Automatic Garbage Collection

  • Have an automatic garbage collection for extensions to mitigate the memory leak problem of poorly built extensions. Deconstruct any objects created by extensions that are not referenced by anything. "Trusted" code from the mozilla should probably run as is to maintain performance.

Theme editor

References