Difference between revisions of "Firefox/Feature Brainstorming"

From MozillaWiki
Jump to: navigation, search
(Developer-facing UI)
(Security)
(2 intermediate revisions by 2 users not shown)
Line 991: Line 991:
 
</td><td>
 
</td><td>
 
- [[User talk:ThomasWaldmann|More on printing pop-ups]]<br />
 
- [[User talk:ThomasWaldmann|More on printing pop-ups]]<br />
 +
</td></tr>
 +
 +
<tr><td>
 +
; Restricted Javascript
 +
* Prevent window resizing
 +
* Prevent hiding toolbar/controls
 +
* Prevent capturing mouse events (overriding clicks, and obnoxious mouse-tracking scripts)
 +
* Prevent floaters (or have some way to hide these layers)
 +
* Prevent automatic form submission (or "Did you really want to submit this?")
 +
</td><td>
 +
n/a
 
</td></tr>
 
</td></tr>
  

Revision as of 16:48, 14 October 2006

We are currently in the early development stage for Firefox 3, and would like to collect all the ideas for feature enhancements in a single place. Our goal is to create a single index that lists what sorts of things we're thinking of doing, with links to more detailed ideas about implementation specifics or concerns, and tagets for inclusion in the project.

Note: This is a list of feature enhancement ideas for all future Firefox releases, not just Firefox 3. Firefox 3 will include a subset of the items on this list.

How to use this page

  • If you have ideas about features listed here please create a new wiki page off of your user page that outlines your ideas (mockups welcome!) and add a link to that page in the "References" column, or link to existing pages with examples, design thoughts, interesting articles, etc.
  • If you have ideas for features not listed here please add them to the most appropriate group below. Include any references to more detailed implementation ideas.
  • If you would like to comment on features listed here please do so on the discussion page rather than in the list itself.
  • Etiquette:
    • Please include a summary comment that describes your change so that it shows up in the page history view.
    • Please make a User page for yourself with contact information so that if we need clarification of your idea, we can get in touch with you.

Browser chrome

Browser customization


Specific features References
Transparent Interface
  • Allow the user to make the address bar/buttons/bookmark toolbar transparent, except for on scroll over. In this way the user has another inch or two of website that is just a little obscured (better than all-the-way obscured)

n/a

File management
  • Improve and expand file management options (ie: "Open with")

n/a

Fast Profile Switching
  • Allow for profile switching within FireFox. This would allow two versions (Lean & Extended) to run as the user chooses.

n/a

Floating tool bars
  • Allow the user to pull all toolbars off the top of the window and create a floating toolbar. These floating bars could be overlapped, tiled, etc to save screen real-estate.

n/a

Custom toolbars
  • Allow the user to create custom toolbars that can be stacked or aligned to the left or right or bottom of the window.
  • You can put any kind of icon on these toolbars including shortcuts to websites (use favicons) or external apps.

n/a

Adjustable menu and toolbar fonts
  • Allow the user to specify the font (and especially the font size) used in menues and toolbars. This is especially useful for those of us with failing eye sight or those with high resolution screens (that cause the fonts to be too small).

n/a

Add-on management
  • Version compatibility
  • Options management
  • Integration with AMO
  • Support for remote extensions (i.e. dev tools package)
  • Allow user to disable plugins via "about:plugins", Options/Prefs, or Extensions
  • Export/Import of Addons Information.
  • Make it easier to find high-quality and reliable add-ons
  • Have "Extension Packs" available for download immediately upon completing a Firefox install (also see "Installer" notes)
  • "Update All" extensions button
  • 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?)
  • 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.
  • Dynamic loading/unloading of extensions. No more restarting just because an extension was installed/uninstalled/updated.

- FAQ on forum
- Extensions summary on TEM
- "Extension Packs" from installer idea
- Provide functionality to export and import addons-information using RDF
- Extension compatibility ideas

Optional IE theme
  • Same size and button positioning
  • Tab opening like IE7
  • Back/forward buttons under same dropdown (forward is rarely used)
  • Go/Reload button occupies same space
  • Menus hidden by default (press alt to show)

n/a

External editing
  • Allow an external editor (emacs, textpad, etc) to edit text in form text boxes
  • Currently supported by plug-ins, but only on some platforms; should be available everywhere
  • As more and more apps move towards web services, the ability to effectively edit large blocks of text (wikis, blogs, forums, webmail) becomes more and more critical.

n/a

Adjustable menu
  • Make it much easier for users to hide items from menus. A complete list of chrome names would be a start.

Chrome element names and IDs - MozillaZine

Back and Forward buttons
  • Include right click options on back/forward buttons to open the previous/next page in a new window or tab. It would need to preserve the browse history in new window/tab.

n/a

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

n/a

Customizable Status Bar
  • Allow the Status Bar to be customized like the toolbars can. Any toolbar button should be able to be put on the status bar and vice/versa

n/a

Preferences

Specific features References
Preference Locking
  • Make it easier to lock preferences. For example make it possible to make pref.js and bookmarks.html write protected. As of now Firefox creates lots of copies if you make those files not writeable.

n/a

List filtering
  • add filtering to the following lists (like the filtering for the Cookies list):
    • Allowed Sites - Popups
    • Exceptions - Images
    • Exceptions - Cookies
    • Allowed Sites - Add-ons Installation
    • Don't Remember Passwords by full URL
    • Remember Passwords by full URL
    • Open External Links in (by application? by param?)

n/a

General tasks

When firefox is installed in a system behind a firewall and proxy needs to be set to access the web, we need to go to preferences and set the proxy. Instead we can have a popup coming up if there is no proxy setup. And we can enter the proxy details in that popup.

If not completely automated, at least proxy settings should be saved in profiles, so that when changing network (more and more common with laptops and various wlan accesses) settings can be changed in a fast way

When Netscape 4 was around it supported a users full profile being stored in LDAP. This operated in much the same way for the user as Google browser sync does now but the data was stored in an LDAP directory. This functionality should be returned to firefox probably supporting multiple backend stores, sql, ldap, webdav etc.

Early Netscape allowed the user to "save as" a web page as text, postscript, HTML,pdf, etc. These days, we seem to be only allowed to "save as" in HTML. This then means we have to use time-consuming external programs instead of it being a quick and easy drop-down selection. Please give us back our old "save as" options and also include a new ODF "save as" option. That would be a great improvement. Thanks

Allow user to add file types in addition to being able to change how firefox "manages" them.

n/a

Tabs, sidebar, and windows

Specific features References
Tabs
  • Tab collections used to organize tabs, think Linux virtual desktops
  • Multiple initial pages with tabs
  • Displaying tabs over multiple rows
  • Option to open default page when creating a new tab
  • Tab drag and detach
  • Window drag and attach as tabs
  • Drag tabs between windows
  • Make middle-clicking/open link in new tab work for javascript links (e.g. by duplicating current page in a new tab then executing the javascript on the new tab and forcing any 'pop-up' links to stay in that new tab)
  • "Open this tab in a new window" added to context menu (when right clicking on existing tab). Preserve history so back button works in new window just as it would on existing tab.
  • Select on close behavior
  • Tab switching via Mouse Scroll Wheel (on all Platforms) while mouse is on/over the tab bar
  • Add arrows to the right and left ends of the tab bar when it gets full to unhide/allow to see all tabs
  • Grouping of tabs (possibly by multiple tab rows)
  • Open tabs one upon the other and/or side by side in a single window
  • Shading of Tabs denoting time since it started (On the scale of white to black, white is more recent than black)
  • Recursive tabs for better tab grouping ("Open in new tab under current tab")
  • Tab exposé
  • Option to view tabs in sidebar (with thumbnails)
  • Multiple tabstrips
  • Tab dock
  • Finding tabs
  • select tab from command line mozilla -remote "selecttab(http://www.mozilla.org)"
  • Improved UI for finding and reopening any one or more closed tabs (including shortcut key)
  • UI for modifying tab width (f.e. splitter between tabs that can be dragged to change the width of all tabs)
  • Tab opening + closing animation
  • Allow "open in new tab/new window/same window" settings to be set per tab. Allows use of a home page like Google or Yahoo to open links in a new tab, but other tabs links can open in the same tab.
  • Allow opening new tab when domain name is different from current page
  • Allow opening in new tab for form submits. Allows user to type several consecutive searches into a search box while opening the results in new tabs in the background.
  • Allow relative opening of Tabs, i.e. child tabs open next to parent tab in opening order (and not at the end of Tab bar)
  • Display multiple tabs in tiled panes (both vertical and horizontal panes, preferably mixed.
  • Cascade tabs
  • Allow for windowblind treatment of tabs
  • Faster tab mouseover feedback, i.e. show in status bar or set tooltip delay to 0
  • More detailed tab mouseover feedback, i.e. thumbnail image of page
  • Multiple tab selection via Ctrl + left click on desired tabs. Feature would allow users to use the right click options on only the selected tabs. EXAMPLE: Right click on one of the selected tabs and select "Close Other Tabs" leaving only the selected tabs behind.
  • To save a lot of space, make the favicon on each tab into the "X" on hover.
  • Instead of the "..." in long tab titles, change to a fade to grey on the last three letters.
  • A right click option for when highlighting plain text urls to open in new tab as opposed to having to copy then paste in a new tab address bar; available as an add-on https://addons.mozilla.org/firefox/1864/
  • Allow tabs to not be full window. If a js opened window is redirected to a tab, and the size is smaller then the window, make the tab like a little window inside the window.
  • When a tab ask for identification, it shouldn't get on top automatically
  • Make the current tab not shrink with the others, so is more visible.

Tabbed Browsing -MZKB
- design thoughts for tabs instead of windows.
- Ben Goodger blogs about tabs.
- Whether Ctrl+W should not close the app.
- Ge.diego made some comments on Ben Godger test build that includes new tab management and gave an alternative user interface mockup proposal
- Tab Sidebar extension homepage
- Show Safari form results in new tab
Tab Related Ext - TEM
Tab Mix Plus - UMO
Active Tab Flex at userstyles.org

Browser Window
  • Ability to split the browser window vertically or horizontally, similar to emacs windows, and load different urls into each. Common usage cases for this are when you want to see two different pages at once conveniently, monitoring multiple sites at once, etc.
  • Allow 'drag & drop' of links anywhere on the browser window (not just the tab bar) to open the link in a new background tab (e.g. 'drag & drop' links from Google Search Results/Google News/Digg Front Page etc. to open several background tabs)
  • Allow 'drag & drop' of selected text on a web page anywhere on the browser window to conduct search on the selected text using the default search engine and opening the search results in a new background tab
  • Scroll document with middle mouse button click-drag-release. The reverse to the familiar glove that moves the document. This behaviour maps to how scrollwheels/scrollballs work, which often also occupy middle mouse button.
  • Open link in new window with middle mouse button. GUI-configurable option.
  • Create a way to rotate a window in four directions to allow viewing long web pages on a laptop by rotating the laptop sideways. This is one of my favorite commands in Preview in Mac OS X. Please make sure the command to do and undo this can be made a shortcut.

Super DragAndGo Extension allows you to drag links and words in order to surf and search

Session management
  • Ability to save and restore sessions (tabs, etc.)
  • Implement some method to deal with session sets
  • Make session restore fast and precise (save and restore DOM, or use FastBack data)

SessionSaver - MZKB
SessionSaver - UMO
SessionSaver (rewrite) - MZForum
Session Manager Ext
Tab Mix Plus with Session Managment

Sidebar
  • Sidebar animation
  • Allow the windows from downloads,extensions,bookmarks and history to dock as sidebars. A bit like the extension All-In-One-Sidebar.

- Screenshots of All-In-One-Sidebar extension.

Web Page easy handling
  • Allow to put a tag on whatever place of a web page, like a gg map interface. The tag is remembered on the right side bar of the window, can be bookmarked. when the bokkmark is clicked, the window is open and focus down to the bookmark
  • Allow to do a "spreadsheet like behaviour on a web page" : you can click on th tag to say "freeze up" , and when you move the cursor down the lower part of the page is scrolling down, the upper part stay unmoved,
  • Allow to compact the web page between 2 vertical tags
  • Allow for a specific web page to apply tag rules : place tags automatically between paragraphs, to allow easy compacting of un-interesting ones , propose a default "compacted" presentation" or "fully opened" behaviour on those pages.
  • Multiple link selection
    • Click and drag to select multiple links on a page
    • Right click to open multiple link context menu
      • Open multiple links in new tabs
      • Open multiple links in new windows

n/a

General tasks

n/a

n/a

Search/Find

Specific features References
Search plugins
  • Ability to change search engine/plugin via keyboard
  • Ability to organize search plugins better
  • Ability to remove search engine addons from search box
  • Associate keywords to search plugins
  • Transient assignment of search plugin to search bar
  • Ability to highlight text and from the right click context menu send the text to any of the search engines you have installed (bug 248173 has been WONTFIX'd; hoping it can be revisited.)

n/a

Search history
  • Browseable search history

n/a

Search bar
  • Integrate browser search with desktop search
  • Multiple searchbars and/or multiple selectable engines for search
  • Default search engine assignment
  • One-click clear searchbar
  • Highlight terms in page from searchbar
  • Spotlight-like functionality
  • Search bar should allow the user to search for a string matching only a whole word.
  • Resizable search box
  • The box may extend as needed or be set to a new static size so users can see more of the searchbar content.
  • Keybindings: While the cursor is active and in the search bar <UP> moves the cursor to the start of the search string, and <DOWN> moves the cursor to the end.

- Search for whole words only

Find
  • Pre-populate ctrl-F with searchbox contents (Bug 264123)
  • Pre-populate ctrl-F with selected text (Bug 250910)
  • Tab-modal find bar
  • Find integration points for web applications
  • Add marker (+, -, <, etc) to scroll bar to emphasize location of found text
  • Improve highlighting behaviour
    • Allow user to configure highlight color
    • Highlight color is chosen to be in contrast to the page background
  • Add checkbox for "Match whole word"
    • If a user does a find for "plant", "Transplant" will not be considered a match
  • Give user ability to choose whether to display Find bar at the bottom (near the status bar) or at the top (above the page content). (Bug 254687)
  • Add a button next to the Find bar marked flash that flashes the highlighted text whcn clicked.
  • Give user ability to show all results for a search or find in a sidebar list.
    • Allow user to show/hide sidebar when performing find.
    • Allow the user to change the default behavior (show/hide sidebar) in options
  • Allow Regular Expressions
  • Ability to search on multiple tabs/windows
  • Concordance style search results for whole search scope, sortable by relevance
  • Make it possible to search in the contents of all the pages you visited last x hours/days/months/years.

- Visual feedback on text/link find

General tasks

n/a

n/a

Address bar

Specific features References
Search
  • When typing in the URL bar, have an option in the auto-complete menu to search for the entered text at the user's choice of Google, Yahoo, Ask.com, etc. Note: this feature already exists in the Mozilla SeaMonkey browser. If the code is compatible it could just be copied.

n/a

Autocomplete
  • middle of word
  • local filenames
  • user's bookmarks
  • using history frequency for relevance
  • Further refinement (and strengthening of match) could be made by offering a list of likely alternatives, selectable via arrow keys in a drop-down menu

- Similar to AppRocket on Windows and Quicksilver for OS X
- remarks from bur

Remove single item from history/recent visit list
  • For when you entered a typo and got one of those squatter sites. Would be great to be able to remove that crappy address from the history so it doesn't keeps coming up.

Can be done already: Control-Shift-Delete over a highlighted address bar history item will remove it.

take over Statusbar

The only thing I really need the Statusbar for is to preview the target address of links before clicking them. Most of the time the statusbar is just taking away screen space without providing any useful information.
If it would be possible to display the target location in the Address Bar (it really is the right part to show an address...), perhaps in another color (or perhaps only showing the changed part of the URL in a different color) then the statusbar would not be needed any more.

Terrible idea, says Gerv

Contextual menu

On right click, adding also a "paste & go" item

Like in Opera browser
- Middle click already does this if you turn it on (and it's on by default on Linux)

General tasks
  • Keybindings: When the cursor is active and in the address bar <UP> will move the cursor to the start of the address string, and <DOWN> will move the cursor to the end of the string.
  • Multi-line paste of URLs: When pasting a multi-line URL&#151;such as when one copies the URL from a text-only shell-based e-mail program&#151;Firefox should automatically strip line breaks and elide what is pasted as a single line URL.

n/a

Bookmarks

Specific features References
Bookmark management
  • Bookmark thumbnails. Ability to view thumbnails of bookmarked pages. Size of thumbnails should be customizable. Thumbnails can be "live" updated.
  • Hability to associate automatically the favicon or manually any pictures to a bookmark.
  • integrated html presentation of the bookmarks using something like about:bookmarks for instance
  • Integration with address book. When contact has URL specified, it should be put into special bookmark folder automatically.
  • Give bookmark manager a decent database format, add tagging and tag cloud to interface, some way to support roaming, unlimited capacity. Boolean searching of any field. Let user define fields.
  • When clicking "Bookmarks" and all the bookmarks drop down (Bookmark This Page..., Bookmark All Tabs..., Manage Bookmarks...) should remain fixed and not scroll with the rest of the bookmarks.
  • Provide API for social bookmarking sites.
  • When using "Bookmark All Tabs..." it shoould let you choose an existing folder if you want instead of always creating a new one
  • Autodetect duplicates
  • Bookmark manager assistance/validation/cleanup
  • Frequently visited links automarking
  • Favicon management
  • Smart bookmark folders
  • Saved searches as smart bookmark folders
  • Category suggest for bookmarks via social web service
  • Virtual bookmark autofile view based upon most likely suggestions from a social web service
  • Remote bookmarks
  • Syncing bookmarks
  • Make it easier to directly add a keyword when saving bookmarks (i.e. you should see a keyword field when you press ctrl+D to bookmark a page)
  • Relevance based filtering
  • Leverage power of DB-based history/bookmarks
  • Auto-linking/smart tagging
  • Preserving DOM state
  • Import favorites from IE, Opera, AOL, Netscape, Avant, Konqueror...
  • Bayesian training/pruning
  • Option to open bookmarks in same tab, new tab, or new window
  • Allow user to search the bookmark list by fields other than Title, including URL.
  • Allow user to search bookmarked pages via a search engine, eg Google, so that the search performed will be for the bookmark('s/s') domain(s).
  • show/sort time and date of when bookmark was added
  • show/sort time and date of when bookmark was last-visited
  • toggle to indicate that site in bookmark no longer active
  • Bookmark filters - i.e. pages from domain X go in folder Y, pages with FOO in the title go in folder BAR
  • When deleting a bookmark from the bookmark menu (using the right click), bookmark menu should remain open, not close immediately.--CarlRogerson 00:44, 14 October 2006 (PDT)
  • Add option to rename bookmarks directly from the menu itself, not necessarily by going through the bookmark manager.--CarlRogerson 00:44, 14 October 2006 (PDT)
  • Ctrl+D should bookmark a page directly. The "Add Bookmark" dialogue/option box should be restricted to clicking on the Bookmarks menu and then choosing "Bookmark This Page" (this would imply that Ctrl+D and "Bookmark This Page" be separated).--CarlRogerson 00:44, 14 October 2006 (PDT)

- On Tagging

In-page bookmarking
  • Easily-accessible, actual book-style bookmarks for long documents, where you can:
    • Preserve your position in the page
    • Move, rather than create new/delete old, the bookmark. This is useful when reading through e.g. the archives of an on-line comic, an e-book, or catching up after vacation on a blog like slashdot,
  • Allow the user to store the full text and images of bookmarked pages, just in case they go away (see discussion about archiving in "History" section)
  • Allow to set an expiration date for a bookmark, like Tark This is particularly useful for time constraint web pages such as auction items status, flight information, order status, track confimation, etc which are irrelevant after a short while.

- Provide in-page content-highlighting and saving page-state while bookmarking

Bookmark toolbars
  • Revisit bookmark toolbars
  • Bookmark dock
    • A "bookmark dock" is conceptualized as a bookmark toolbar that allows a user to specify icons instead of text, and that could optionally be placed at the top, left, right, or bottom of the browser window.
  • Bookmark bar which allows to span multiple rows (to provide more one-click-to-go shortcuts)
  • Visually emphasize favorite bookmarks within a folder on the bookmark toolbar
  • Ease selection of favorite, most frequently visited bookmarks by displaying them in a larger font and/or with a larger icon than less regularly loaded bookmarks
  • Have the ability to use custom favicons/icons on bookmark folders added to the 'Bookmarks Toolbar Folder'instead of the default yellow folder.

n/a

Bookmarks in other parts of browser chrome
  • Let individual bookmarks live on the status and menu bars, and provide UI for putting them there (f.e. support for dragging and dropping bookmarks from the bookmarks sidebar and the bookmarks toolbar to the status and menu bars)

n/a

Page change notification
  • Enable a system where the browser can check if a page has changed, without relying on Web feeds (any bookmark can be "live")

The Suite used to have this; research why it was dropped before implementing it again

Find broken bookmark links
  • Automatically check for links that return 404s or other broken link behaviours.

n/a

Bookmarks backend
  • Flexible bookmarks API
  • Smarter handling of bookmarking redirects
  • Ability to bookmark a POST response
  • Ability to bookmark a session (i.e. when bookmarking a single tab, the ability to bookmark the whole session in that tab rather than just the specific page; when bookmarking multiple tabs, the ability to bookmark the sessions in those tabs rather than just the specific pages)
  • Rich-text (i.e. HTML) microsummary bookmarks
  • Live titles extracted from feeds

n/a

Bookmark Appearance
  • Let live bookmarks expand in a tool tip like way to view whole title
  • Let live bookmarks expand in a tool tip like way to view the associated text (usually the article's first paragraph) in the rss feed.
  • If text bookmarks are to stay, allow for the text size to be user-editable, so more bookmarks can fit onto the bookmarks toolbar (as an alternative to the icon idea above)

n/a

Dynamic Firefox Bookmark Menu
  • Allow "organizing bookmarks" functionality from firefox without opening Bookmarks Manager
  • Allow drag-and-drop to move bookmarks, folders, separators around in bookmarks menu
  • Allow right click to cut/copy/paste or delete bookmarks in bookmark menu
  • Allow right click to make new folder or separator

n/a

General tasks
  • Completely rework bookmark manager
  • Toolbar enhancements
    • Allow user to move toolbars
  • Investigate the concept of bookmark data mining
  • Improve installation and management of microsummary generators
  • Allow firefox to create its own microsummaries (bug 356440)

n/a

History

Specific features References
History management
  • Ability to add annotations
  • Ability to automatically or manually tag history
  • Ability to automatically or manually archive contents in history in a variety of ways
    • Option to store all text from all pages (possibly excluding https and preset sites) ever visited -- this would let you revisit pages that disappeared off the internet, and also do very good search through history. At 100 pages per day, and a very generous 10k per page (storing text-only, not scripts and images), this would be about a third of a gig annually, so manageable storage requirements by modern standards.
  • Maintain form state in history
    • You fill out a long form, click Submit, and an error occurs. You click Back and sometimes all of your form data is gone. I think it has to do with the page having a short TTL so it is re-requested from the server and re-rendered with a blank form.
    • Allow users to go back through history and see exactly what was entered in the forms on pages.
    • Never save password fields except through existing functionality
    • Allow user to enable/disable feature

- On Tagging

History search
  • Full-text indexing of history
  • Search using metadata / full page text from cache

n/a

History browsing
  • Global history navigation & presentation
  • Session history navigation & presentation (handling iframes & modern DOM tricks)
  • Spatial history navigation. http://www.halfbakery.com/idea/Browser_20History_20Diagram (links down left hand side)
  • Sort history by time the page was closed, rather than opened. As such, if the browser crashes, everything that was open will automatically be at the top of the history. Likewise, if I close a page I opened last week, it will still be near the top of my history.
  • Right click context menu for new tab on list of previous sites from back button icon. Right click for new tab on home button icon.
  • History accessible via calendar views (day, week, month, year) and navigation-tree view

Thumbnail session history

General tasks
  • Revisit location bar
  • Better management
  • Search enhancements

n/a

Downloads

Specific features References
Download control
  • Ability to download all links
  • Ability to easily pass the url to third-party download manager to do the downloading instead of using firefox's built-in download manager
  • Ability to download selected links
  • Ability to create download queues so a user can add several links to a queue then fire off a batch download session
  • Fix download resume so it works reliably and as expected (for ex. by stopping download on Firefox exit, and restart it next time Firefox is launched, maybe with popup notice)
  • Integrate download status into the main browsing window
    • Display UI for each download somewhere in the window (in a sidebar, on a "downloads bar" either at the top or the bottom of the browsing window, etc.) so users can see the progress of their downloads without having to go to a different window
    • Alternately (or perhaps in conjunction), display a single UI element (like an icon or a throbber) that shows the status of the user's downloads (f.e. it might throb to indicate downloads in progress and display a number to indicate the number of downloads still in progress)
  • Schedule downloads
  • Ability to 'Add' file to be downloaded via URL
  • Make many connections (to different or same server)
  • p2p support (locating/participating)
  • Ability to restrict download bandwidth (aggregate or per stream)
  • Allow connection timeouts to pause the download instead of closing it. This will help people with slow or unreliable connections like tor to continue downloading even if their connection fails on them.

- metalink (file distribution standard with mirrors and checksums)

- Ability to Add file through URL

Download manager
  • Improved file type handling - ie: always download specific filetypes to a set of default or user-specified folders (defaults: Audio, Video, Images, Zipped, Executable, etc.)
  • Speedy choice of downloading behaviour: sometimes I like to listen to an mp3 stream (clicking link), sometimes I want to download and save it without having to edit the settings (shift-clicking link, as it was in Mozilla)
  • Make the download manager take multiple download progress listeners so extensions can more easily present downloads in different ways
  • sort/display time and date (a new column) of when files were downloaded

n/a

General tasks
  • Download history UI improvements
  • Content-disposition fixes
  • Option for turning computer off after downloads finish

n/a

Profiles

I'm trying to contribute to the Downloads section:
But I keep getting Profiles in the textarea !!

Specific features References
Profile creation/switching
  • Improve profile/user management and switching
    • Make the profile manager accessible through the menu

n/a

Profile privacy
  • Password-protected user profiles
  • Encryption of all stored data and profiles

n/a

Profile data
  • Profile export/import
  • Remote profiles (remote profiles) hosted on a server and available to multiple installations. Being able to sync sessions would be fantastic too.
  • Full profile sync, including bookmarks, history, passwords, cookies, add-ons, preferences, etc.
  • Encrypted during sync/transmission
  • Preference for where profile data is saved including settings, bookmarks, add-ons, passwords, etc.

RFC 2244 - Application Configuration Access Protocol

First run of new profile
  • Display EULA (required for distribution opportunities)
    • This is probably not required for distribution opportunities, and is indeed probably a bad idea (reduces usability, no benefit). This is only required for programs having license clauses stronger than copyright law (e.g. no reverse engineering), and not for GPL/MPL/NPL-style licenses.
    • Firefox binaries are not under the GPL/MPL or NPL, they are under the (linked) EULA, which has clauses unrelated to copyright law (e.g. trademarks).

End-User License Agreement (EULA) Requirements for Firefox 2

General tasks

n/a

n/a

Notification tools

Specific features References
Page content notification
  • Some sort of unified system for informing users of all the various types of available content on a page, including Web feeds, Microformats, Microsummaries, and what-have-you. How could this information be best communicated to users through the browser?
    • Currently, when a Web feed is detected on a page, a Feed icon feed-icon-16x16.png is displayed in the Location bar. If a page has multiple content types available, however (web feed, microformat(s), microsummary, etc), putting all those icons in the Location bar may not be feasible. What are the possible alternatives?
  • API and default UI for taking action on a notification (ie: subscribe to feed, import uFormat)
  • Implement a framework for pluggable back-ends for nsIAlertService, to use native desktop notification systems such as Galago, or 3rd party tools such as Growl, Snarl.

n/a

New notification types
  • tab-modal alerts, more file formats, microformats, microsummaries
Omnibus "Status" area
  • download status
  • popup/cookie/XPI blocker status
  • security/trustworthiness status

n/a

Modified page warning
  • Warn User before closing page with modified form

- Form Dirty Bit

Backend changes
  • Get nsIAlertService working for Mac.

n/a

General tasks
  • Improve error messages and the information they convey
  • Full language pass on error messages

n/a

Printing

Specific features References
Full page print preview/control
  • Better print preview
  • Print cropping
  • Custom margins (ideally adjustable in print preview)
  • User-controllable print scaling
  • Fully editable document within print preview utilizing simple text editor
  • Print documents last-page to first-page for printers that stack face up

Firefox:Printing_and_Page_Setup
Print It! - MozAdd-ons
Print - MozAdd-ons
Nuke Anything Enh
Adblock - MozAdd-ons
Aardvark Firefox Extension
Greasemonkey - MozAdd-ons

Selective printing
  • Print selected without requiring add-ons
  • "Print image" and "Print page" in context menu
  • Add Tab-related "Print Range" options to the Print Dialog, along the lines of "Print Active Tab" and "Print Selected Tabs". Requires ability to select multiple open tabs at once

Firefox:Printing_and_Page_Setup
Print Image - MozAdd-ons

Backgrounds
  • Add an HTML DOM attribute that specifies whether a div's background image should be printed or not (since div background images are used frequently as "foreground images")
  • Add an option to include background images and/or background colors. Ultimately the print should look like a screenshot of the site.

You can print backgrounds now; see File->Page Setup->Print Background.

Unix/Linux
  • Duplex printing (printing on both sides of the paper)
  • N-Up printing (multiple pages on the same sheet)
  • Get available paper sizes from the printing backend (e.g. CUPS)
  • Support PAPI
  • Autodetect printers when printing through lpr and lp

Firefox:Printing_and_Page_Setup
LinuxPrinting.org
OpenPrinting PAPI
Xprint in Mozilla
PostScript Module - MZKB
Plugin Printing on Unix - MZKB
bug 135695 (lpr printer detection)
bug 306122 (lp printer detection)

General tasks
  • Improve Print UI and handling
  • Improve FLASH printing

Firefox:Printing_and_Page_Setup
Page Setup & Printing UI

Installer

Specific features References
Extensions
  • Offer to install extension packs while installing
  • Extension package manager (similar in concept to an Apt front end, searchable)

n/a

Internationalization
  • Improve internationalization support in Installer

n/a

General tasks

n/a

n/a

Software update

Specific features References
Automatic updates
  • For those who opt out of auto-update, provide a "remind me later" feature
  • Allow users to select type of updates they want (security? feature?)
  • Allow users to revert to previous version
  • Better background downloading support (i.e. background downloads using idle bandwidth, easy on Windows with native pieces, harder elsewhere afaik)
  • Enable users to "bundle" extensions, bookmarks and other profile preferences into a package which can be deployed on multiple systems easily.
  • Make automatic updates work on Windows without need for logging in as administrator — automatic updates service or scheduler task.
  • Make the automatic updates feature optional at build time. Some users would prefer their system's package manager to handle software updates.

n/a

Manual updates
  •  ?

n/a

General tasks
  • Improve UE for automatic updates so it is less instrusive/shocking
  • Improve UI for updates so it's easier to understand what you will be getting
  • Clean up major/incompat update UI

n/a

Default browser UI

Specific features References
Alternate UI modes
  • Togglable kiosk mode
  • Minimal UI mode
    • Show and hide navigation/bookmark/menu bar via a right-click menu everywhere

- details & discussion

Choice of UI rendering mode
  • choice between displaying page when fully rendered (mozilla way) or display as it renders (firefox way).
Rationalize and reorganize browser and context menus
  • Remove some menu items
  • Move other menu items

Reasoning and Arguements

Context Menu
  • Show an open url in new tab or open url option in the context menu when the user right-clicks on a plaintext url (text that is recognizably a url, but has no <a> tags).
General tasks
  • Revist default tabstrip
  • Re-evaluate toolbar buttons
  • Re-evaluate status bar
  • Re-evaluate menus and context menus
  • Ensure shortcut consistency
  • Remove Truncation of Title and Alt Tags

n/a

Security

Specific features References
Security preferences
  • Automated user preference auditing with user notification of potentially problematic preference settings.

n/a

Phishing protection
  • Make it easier to report phishing sites
  • Implement a phishing filter that learns automatically
    • Consider intergration with something like PhishTank [1]
  • Multi-provider support for local list checking (depending upon provider demand)

n/a

Safer Browsing
  • Like anti-phishing, but with a list of sites that are known or suspected of being a source of malware (virii, spyware, etc)

See bug 347849

Script execution
  • Integrate script execution whitelisting
  • Allow cross-site scripting between whitelisted sites (for mashups)

NoScript

Pop-ups
  • Implement one-click viewing of blocked pop-ups
  • Make printing popup windows possible

- More on printing pop-ups

Restricted Javascript
  • Prevent window resizing
  • Prevent hiding toolbar/controls
  • Prevent capturing mouse events (overriding clicks, and obnoxious mouse-tracking scripts)
  • Prevent floaters (or have some way to hide these layers)
  • Prevent automatic form submission (or "Did you really want to submit this?")

n/a

Cookies
  • Add cookie whitelist funcitonality
  • One-click block/allow cookies1
  • Allow cookies from sites (on request) remain persistant even after the browser has been restarted
  • Allow session cookies per window/tab so that multiple logins can be had to services such as gmail/hotmail simultaneously.
  • "Supercookies"
  • Extensions like "Extended Cookie Manager" allow you to enable or disable cookies for the current site. However, it is common that sites use redirection, and a different site for actual authentication. Something like login.google.com when browsing www.google.com. So, simple "enable cookies for this site" features are not effective.
  • The "ask every time" cookie dialog box should have another checkbox: "Don't ask again". This is so you can deny a cookie, and not have many more dialogs pop up to deny. This would complement a "One-click block/allow cookies" feature.

1 Like "CookieCuller"

Exploit Mitigation
  • Please consider splitting all page rendering code into a seperate process running with reduced permissions, either using ACL on Windows, or as a seperate low-privilege user on Unix-style systems. Use IPC mechanisms to handle network interaction and requests to save files in non-sandboxed directories. Assume that a network deliverable attack will exist, please ensure that the worse that happens is that the rendering engine must be restarted.
Extension installation
  • One-click to permanently add site to whitelist
  • One-click to temporarily add site to whitelist for this session
  • Third-party signing and authentication by Mozilla

Extension Blacklisting UI Spec

Virus/Malware protection
  • Integrate virus scanning and malware protection for retrieved content/files
  • Integrated support for 3rd party Anti-virus scanners
  • Firefox to run in a "Protected mode" like IE7/Vista

n/a

Spoofing
  • Employ some shared-secret anti-spoofing techniques1
  • Prevent content and scripts from being able to spoof or mimic protected chrome
  • SSL auth required for send password
    • This is an optional, but strongly recommended feature suggested during install
    • Sending password with FORM.send or Javascript.Send check if the page is SSL encrypted and will display an error message if there's no valid SSL certificate.
    • Do not allow adding "*" to FORM.edit field from Javascript (avoid spoof)
    • This way a user will get warning when tries to log in to an unsafe service, like phishing sites. All sites with authentication should have valid SSL certificate or should be added to "safe to login" list.2

1 PassPet
2 details & discussion

New technology support
  • Extended Validation Certificate support
  • Integrated PGP/GPG to sign/encrypt/authenticate text (eg Web Mail)

n/a

HTTP authentication improvements
  • Support for logging out of basic or digest HTTP authentication (RFC 2617 style)
  • Implement a somewhat secure HTTP shared-secret authentication scheme based on SRP. The RFC2617 schemes are both very vulnerable to phishing.
  • Show content of 401-unauthorized pages, and add widgets to login via forms instead of modal dialogs

See bug 355319

General tasks
  • Improve user notification of insecure browsing situations
  • Improve handling of digital certificates
  • Improve phishing protection UI
  • Improve overall security UI
  • Improve pop-up blocking UI and options

n/a

Privacy

Specific features References
Private browsing
  • Implement a "private browsing" mode that prevents collection and recording of data. When privacy mode turned off previous history should be preserved.
Privacy preferences
  • Add the option to suppress referrer information while browsing
  • Password Protection for all Private Data
  • Import/export passwords and/or privacy settings
    • password protect browser and form history1, cookies, and all private data
    • could use same master password as password manager

1 bug 285790 already exists for form history

Password management
  • Improve password management - allowing multiple passwords (like opera, also see Myk's post)
  • Ability to edit saved usernames and their respective passwords via the Privacy > Passwords > View Saved Passwords dialog
  • Search Saved Passwords - Add search feature to the saved passwords list.
    • Enable users to search by specific field (URL, username, or password) or perform a general search.
  • Add date added/modified field to records in the password list
  • Don't just save passwords, create them like Chris Zarate's Password Generator bookmarklet. It generates a hex-encoded MD5 hash of your master password and the domain name of the website you are visiting, and shortens it to the desired length. This allows users to remember just one master password, but use a unique strong password for every website (so your blackhat.com password is not the same as your bank.com password).
  • Add preference to prompt user to update stored password after the next page loads when the user submits a password that does not match the password stored for the form/username combo. This would greatly smooth out the currently clunky common task of updating stored passwords without having to dig through the preferences.


Password Protect the Browser
  • Require a password to launch a new instance of the browser in order to allow users to allow the browser to save passwords for websites, but still protect them from guest users of the PC.
  • Detect if Master Password required dialog box is open. If it is open, and a link is clicked instead of opening another instance (which opens another Master Password dialog box) focus the existing dialog box and open the page in the original window instead of a new window.
    • Only open one Master Password dialog box when there are two extensions that auto-login to accounts upon launch instead of two separate Master Password boxes for the same window.


General tasks
  • Improve overall Privacy UI
  • Improve "clear private data" UI and options

n/a

Identity

Specific features References
Identity management
  • Add identity management
  • Ability to fill in common form fields using 1..n identities
  • Enable some sort of single sign-on capability

Identity 2.0 at OSCON

New technology support
  • Support for Microsoft's CardSpace (nee: InfoCard) protocol
  • Support for SXIP protocol
  • Support for OpenID
    • What does this mean? OpenID is something supported by websites...
    • OpenID's are consumed by websites but users get their OpenID's from identity providers. This is where their personal information and list of trusted sites is kept. As OpenID becomes more prevalent, phishing for the user's password to their identity provider becomes more compelling because you could get access to all of the sites a user goes to. Having support for OpenID baked into Firefox would allow users to fight phishing by giving them the ability to specify who their identity provider is and then warn them with blinking lights and uber pop-ups when some site tries to phish them.

n/a

General tasks

n/a

n/a

Feeds and Microformat handling

Specific features References
Web feeds
  • Mark entries as read
  • Notification of feed update
  • Set refresh rates per feed
  • Set expiry options per feed
  • Set notification options per feed
  • Show # unread items in a feed
  • Enhanced Feed Preview rendering
  • Build Home Page from subscribed feeds
  • Show feed entry summaries & content
  • Remember 1..n system feed readers
  • Enable a "River of News" feed viewing option
  • The Sage extension is a good model for updated RSS handling
  • Add Live Boomark directly from feed link

- On Web Feeds
- TechCrunch article about IE7

Microformats and other web data
  • Automatically harvesting web data like mailto: link addresses, atom/RSS feed links, dates + events, other info…?
  • Web data manager for browsing/searching/using auto-harvested data and microformats
  • Web data preferences - What would be nice is a rules interface for web content similar to mail. "if any of the following conditions are met, perform the following actions..." So for example, if hcards are detected within % mozilla.com AND they're LIKE %@mozilla.com, add to address book, etc.

- Piggy Bank

General tasks

n/a

n/a

Content filtering, manipulation, and control

Specific features References
Content filtering
  • Ability to filter ads
    • Also, block links around ads. The whole pages shouldn't be a danger zone -- if I click somewhere blank on a web page to give my browser focus, I shouldn't be taken to the advertiser's web site.
  • Ability to filter Flash movies
  • Ability to filter plugin content generally (Flash movies, Java applets; basically anything included in the page via an object, applet, or embed element)
  • Ability to filter content which is positioned outside of the normal flow (i.e. where the CSS "position" property is set to "absolute", "fixed", or possibly "relative"), so users can filter CSS-based popups
  • Ability to filter content generally (f.e. a interface that enables users to select and persistently hide portions of a page)
  • All filtering should enable one-click to view blocked
  • Should be very easy to add items to white/blacklists
  • Better control over image blocking (f.e. a small button that appears in the corners of images you hover over which invokes the "block images from this server" operation when pressed)
  • Volume/Mute for any audio content
  • Ability to set a charset for a site
  • Text-only mode
    • You have the option to switch a tab between "Text Only" and "Graphical" modes, with faster downloads/rendering if browsing in text only mode
  • Sound blocking. Turned off by default, when turned on blocks all sound (flash sound too) and warns the user that the webpage is trying to make sounds (with the ability to allow sounds just this once, for this domain, etc. Like the popup blocker).

- Flashblock remarks from bur
- A couple things from Max.e
- Text Only Mode

Content filtering preferences
  • Ability to set persistent global, per-site, and per-page preferences
    • We might create a "web control" panel/sidebar that displays common preferences such as font size and charset
    • We should make such a panel extensible, so extensions can add additional controls to it

n/a

Content manipulation
  • 'Filter chains'. There may be several plugins attempting to change or access the page content at any given time, sometimes conflicting with one another, other times it is not clear what will be 'executed' first. The user should be able to implement a processing hierarchy (filter/extraction stages) that process the page according to a fixed set of rules. (i.e. adblock -> extensionFoo -> XML extraction -> Greasemonkey -> Display)
  • Option to show an icon next to (and/or in the status bar) hyperlinks which open in a new window/tab (e.g. the icon next to external links on Wikipedia, etc).
  • Facilitation of console manipulation tools. It would be nice to be able to bring up a console in Firefox and use various tools to manipulate the page 'on the fly'. More precisely, it would be good if developers were able to easily write interfaces for doing this. For example, it would be nice if it was easy for someone to write a console tool that manipulates the DOM with Hpricot or BeautifulSoup. (Make it easy/feasible to write Chickenfoot like extensions).
  • Scaling of images as well as text when zooming (an Opera-like feature) -- Kelly Price 08:01, 14 October 2006 (PDT)
Forms
  • Ability to resize textareas

n/a

Parental control features
  • Implement a set of parental control features

n/a

Plugins
  • Run plugins as a independent process, that talks with firefox via a socket or something like this. If a plugin crash it doesn't take firefox with it. It also allow one to kill a locked or high load plugins and keep surfing.
  • Run plugins as a independent process, so that when they leak memory, that memory will be freed when the tab or window is closed.
  • Run plugins as a independent process, so that when a plugin refuses to shut down (like acroread), the browser can forcibly kill it.

- nspluginwrapper

Fix broken images
  • Add "Reload Image" right-click option on broken image placeholders, or "Reload all broken images" right-click on page option, when network problem creates broken images. Current behavior requires a full page refresh to load 1 broken image.

n/a

Stability and resource-utilization improvements

Put each document into an independent process (not thread: separate forked process) so that:

  • When a document causes Firefox to crash, the whole browser won't be taken with it.
  • When a bug in Firefox stomps on memory it doesn't own, other documents in memory are not corrupted.
  • When a document causes Firefox to leak massive amounts of memory, closing that tab or window will free up the wasted memory.
  • When a bug in Firefox or a script on the page locks up (infinite loop or whatnot), the whole browser will not hang up, just the one document. Closing the tab or window kills the aberrant process. This is also an issue for DNS lookup; the browser always freezes completely during DNS lookup. Make this affect only the document being loaded.
  • Obviously, this also means that the Firefox main UI should also be in a separate process, and you should use IPC and sharing of window-system resource IDs and handles to communicate between UI and document processes.
  • When the UI crashes, restarting the UI can sweep up documents that find themselves unattached and re-present them undisturbed.
  • Cross-site scripting and buffer overflow exploits have a much harder time hacking into information for other documents, because they are inaccessible in separate processes.

n/a

Per-tab sound level control
  • Each tab can have a sound level knob next to the "x" button that will allow users to regulate the sound output level from the page on that specific tab. extremely useful when multiple pages are playing sound and are difficult to regulate seperately due to bad coding. Also useful for very loud (or very quiet) pages which need adjustment.

n/a

General tasks

n/a

n/a

Compatibility

Web standards compatibility

Specific features References
ACID 2 test
  • Make sure Firefox passes it

Bug 289480

Content-editable
  • Add support for content-editable

tinysvg w3c

inline-block
  • Make "display: inline-block" work correctly

Bug 9458

XForms
  • XForms supported and built-in.

Bug 326372

shy
  • Add full support for soft hypens.

Bug 9101

IE Compatibility
  • Add fallback mode to support non-standards based rendering when "IE only" features are present in a web page so that the page will render correctly. Allow feature to be turned on and off. Could be made into a plug-in instead of putting feature directly into Firefox. This feature would allow more people to convert to Firefox and leave IE behind forever.

n/a

General tasks
  • Improve overall standards support

n/a

Protocol and media support

Specific features References
Improvements
  • Improve PDF support and handling (including the ability to save pages as PDF)
  • Improve Java support
  • Improve FTP support

n/a

New technology support
  • Open Document Format
  • BitTorrent
  • Ogg1
  • XBEL
  • Jabber/XMPP
  • SIP
  • IPTV
  • IM
  • Integrated radio livestream
  • WMV
  • Microformat detection/notification with metadata
  • Scriptable ZeroConf (Bonjour/Rendezvous)
  • OBEX (Bluetooth, etc)
  • SyncML
  • SVG via img tag
  • JPEG2000
  • ANG
  • MNG
  • metalink (mirrors & checksums for downloads)2
  • WebDAV and Secure WebDAV
  • Magnet links
  • Save page as image, this should save a complete page as an image just like a screenshot does. Optionally attach the image directly to a new e-mail.

1 Firefox Ogg Support
2 metalink

General tasks

n/a

n/a

Global community

Internationalization

Specific features References
Language support
  • Improve complex glyph rendering
  • Support more complex languages (Hebrew, Arabic, pangool, all Indian dialects)

n/a

General tasks

n/a

n/a

Accessibility

Specific features References
Zooming
  • Add smooth zooming
  • Implement full page zoom, including images (sub: have browser optionally store this setting per-page, per-site, or globally)
  • Zooming, panning, scaling for images
  • Add "Fit to width" option (like Opera)
  • Implement user-definable zoom levels
  • Make zoom levels settable preferences per page, per site, or globally
  • Menu entries for them in the view menu in a possible page zoom submenu and text zoom submenu
  • Also putting this in Tools > Options > Content > Page Zoom % and Text Zoom %

See bug #4821.

Scrolling
  • Add smooth scrolling
  • How is this different to Preferences | Advanced | General tab | Use smooth scrolling?
  • "Maybe refers to the Mac version, like how Safari allows scrolling 1 pixel at a time using a touchpad"
Voice navigation
  • Add Support for Macintosh VoiceOver screenreader
General tasks
  • Simplify process for creating accessible themes (dev? docs?)

n/a

Developer-facing elements

Developer-facing UI

Specific features References
Developer tools
  • Unified DOM/JS debugger with advanced logging
  • Live HTTPHeaders
  • Web developer toolbar
  • AJAXy stuff etc. (What does this mean?)
    • Some way to get feedback on XMLHttpRequest dispatches (which would otherwise be invisible)

n/a

Developer tools
  • FAST! VM for client side scripting with extension API to add additional languages other than javascript

n/a

CSS Enhancements
  • anti-aliased rounded corners
  • gradient filled background

(check out "HTMLayout CSS support map", they have done gradient filled backgrounds very effectively)

n/a

General tasks
  • Create a "unified set of modern web developer tools"

n/a

Add-ons/Platform development

Specific features References
Extensions
  • Make it easier to write extensions (new sandbox for extensions, extension platform?)
  • Provide a simpler API for functionality extensions commonly use, including:
    • accessing preferences
    • filesystem operations (f.e. rginda's file utils library)
    • observing onLocationChange (i.e. getting notified whenever the page changes)
  • Provide support for hierarchical extension dependencies
  • Extension preferences export, sort of like an OPML for extensions that can get slurped in to another FF seat
  • Include Thunderbird in Firefox, like Sunbird was added to Thunderbird. ( guess you should use SeaMonkey !)
  • add a system to be able to choose what handle what in firefox (firefox built-in svg instead of an external SVG plugin for instance)
  • add a generic plugin like plugger so you are able to choose depending on a mime/type or file extension a program to handle it inside an html page.
    • If Firefox and Thunderbird are integrated, please keep standalone versions of each available to download. Then users who only require one of the programs can still use it without wasting resources. Better yet, keep them separate.

n/a

APIs
  • Add a metadata handler extension API
General tasks
  • Improve RDF support, or develop a better general-purpose data model
  • Improve support for multithreading
  • Implement more consistent data types ("Instead of JS + variant, mozStorage, RDF, etc. have universal data types (string, integer, decimal, date, blob) that are used everywhere")
  • Improve support for advanced UI features like notification icons, alert bubbles, shell integration

n/a

Performance

Specific features References

Be the fastest browser on the market, not only on "fat" desktops, but also on bargain desktops with only 256MB of RAM.

Mark Wilton-Jones' browser speed benchmarks

Try to implement an internal memory manager. It should, for example, pre-allocate about 10% of ram memory and try to operate within that memory. All calls to "free()" should release memory to this global memory pool and all calls to "malloc()" must allocate memory from this memory pool. If properly implemented, we can even reduce the overheads that may arise due to such an implementation.

Improve browser launch time on both Windows and Mac OS X. Currently IE and Safari launch much more efficiently, making it more sensible to open one of those browsers when quickly looking something up. Enduring the sluggish launch time again and again makes for an irritating experience.

At the very least, bring up a UI as quickly as possible. Show the splashscreen while loading. Often I find I don't know whether Firefox has started up and start up multiple copies.

Bring speed up to par with Safari/Opera on the Mac platform. Perhaps bring project into XCode/Objective-C?

Hardware accelerated graphics (perhaps use the Vista/Mac OS X/AIXGL/XGL engines to do the acceleration for us)

Make the javascript engine less cpu hungry.

It is very annoying to be typing into a text box and have the browser go unresponsive for a few seconds while in the middle of typing. This is caused by Javascript in other windows (like gmail) waking up and using the network. Threading needs work to fix this.

JITted Javascript engine using Mono or JVM

General tasks
  • Develop new features as extensions (enabled in the default install) so that they can be disabled if un-needed. We MUST avoid bloat to stay in the lead, and forcing new features on people that just want a clean experience is not in our best interest.

Mobile and Enterprise support

Mobile device integration/support

Specific features References
Send content to device
  • Bluetooth support

n/a

General tasks
  • Support non-PC platforms (e.g. Palm OS)

n/a

Enterprise deployment

Specific features References
Support w32 Group Policies
  • Allowed extensions
  • Basic customizations (eg. company homepage)
  • Requires that controls become disabled if overridden by policy. Use the normal Windows UI for editing the policy itself. See bug 267888.

n/a

Better automatic proxy configuration
  • Allow async (or in another thread) DNS resolution in proxy.pac so that isInNet doesn't lock ALL browser in a slow DNS query (see bug #208287)
  • Automatically discover proxy turn on by default (check if there is a wpad.dat in the install, turn on if true ?)

n/a

Updating
  • Implement a -update commandline switch which starts Firefox in an automated update mode (core+extensions). Further user interaction shouldn't be necessary

n/a

General tasks

n/a

n/a

User support and Testing

Help documentation

Specific features References
In-browser
  • Integrate in-product help and first-run/updated pages with online help.

n/a

Website
  • Move the majority of Firefox Help online, except for a minimal set of "in-product" help pages. This online help system should include the ability for community to post comments, corrections, updates, etc.
  • Integrate instant IM chat and newsgroup search with help

n/a

Intro/Tutorial mode
  • host it on mozilla.com as movies
  • have some UI hooks in the product

- thoughts from FunnyMan3595

General tasks

n/a

n/a

User-testing

Specific features References
User testing extensions
  • Create extension to allow for remote user testing

n/a

Development build UI changes
  • Add "send feedback" buttons to dialogs in development builds

n/a

Improve Talkback
User Experience and Robustness
  • Talkback (and its report queue) should be more invisible to the user. Plus Talkback rarely seems to work for me. My Talkback report queue often ends up with 3-4 reports that never seem to get through to the Talkback server.

n/a

General tasks

n/a

n/a

Other resources

Misc Thoughts References
  • An alternative view of the web browser
    • Firefox as a new kind of desktop manager.
    • Active front end.

Some thoughts

Decentralized/distributed browsing: in case a website has been slashdotted, Firefox should still be able to reach to its data by using the offline website data which is stored locally at other Firefox users, who were able to connect to it, their disk. Firefox should act as a kind of a torrent client. Of course, there might be some security issues. Https websites should be denied and the user itself should be able to disable this "torrent functionality".