Firefox:Download Manager: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 28: Line 28:
* Download Accelerator
* Download Accelerator
** Impliment download accelerator feature, could be a rip off from DownItAll plugin or may be DM and DiTA can be clubbed together
** Impliment download accelerator feature, could be a rip off from DownItAll plugin or may be DM and DiTA can be clubbed together
** Haggen: Maybe take features of download accelerator program, how fragmented the files to what these files download very much fast, too should take features of others downloader programs as show the bytes downloader in the general map (similar to scandisk of windows 98)
* Anti-virus program integration to scan downloaded files
* Anti-virus program integration to scan downloaded files



Revision as of 00:04, 8 February 2007

Background

There are a couple of problems existing in the way we do downloads right now that affect users in various ways:

  • it is not possible to resume downloads across sessions. If the user knows their network connection is going down they can use our limited "Pause" support now but only so long as the browser is open.
  • it is not possible to pause or resume downloads of components being installed via XPInstall, because the download progress notification back end is different.
  • there is much code duplication relating to file and path name validation in the browser and external helper app service due to the lack of a simple API for file transfer that coalesces all such code. This results in bloat and multiple sites to consider when addressing security issues.
  • performance of the download list is sluggish when the download history is long.
    • Could use a different default setting for when to clear the downloads history
    • Add an additional option in prefs to remove items from download history after 1 week (and set default as above)
  • download list does not properly implement accessibility features that people are used to, does not scroll with key navigation, etc.
  • download Manager does not support Torrents or similar distributed downloading systems
  • Add a checkbox option in Options dialog/General/download like "Show download dialog while opening a file" to don't display systematically download dialog when you are only opening a file like a JNLP file. This option could be unchecked by default.

Features

The following features are required for 3.0:

  • cross session resume
  • storage back end
  • unified download back end with XPInstall, etc.
  • unified API for invoking download operations (e.g. unify code paths between link clicks and Save Target As... and other potential uses - single API to take a url and transfer)
  • accessibility - listview implements accessibility APIs and proper keyboard navigation support
  • download queue - user set the maximum number of simultaneous downloads (per site and total) and the download manager queue the downloads. save queued downloads across sessions.
    • Possibly gauge size of download queue based on the user's connection speed. (e.g. 2 for dialup, 10 for broadband)
  • download speed limitation
  • Download Accelerator
    • Impliment download accelerator feature, could be a rip off from DownItAll plugin or may be DM and DiTA can be clubbed together
    • Haggen: Maybe take features of download accelerator program, how fragmented the files to what these files download very much fast, too should take features of others downloader programs as show the bytes downloader in the general map (similar to scandisk of windows 98)
  • Anti-virus program integration to scan downloaded files

Design

  • revised design for function "links"

Work Tasks

What follows is a more detailed breakdown of implementation of the above features and individual work estimates.

Cross Session Resume

Requires persistence of URL as well as referer URL across sessions, otherwise resume will not be possible on many sites. There still might be problems with sites relying on temporary cookies to authorize downloads, but this is unavoidable.

Download resuming

Signed Object Support

(Signed XPIs, Signed EXEs)

Things to consider

  • A signed XPI is not an immediate guaruntee of trust. (see Sending the Right Signals)
  • Licensing of extensions by author (GPL2, MPL, CC). Does the proposed GPL3 affect signing?

Unified Invocation API

Will require passing not only the URL of the file to download but referer URL as well in many cases.

Other media support

  • BitTorrent
  • Podcast
  • Podcast through BitTorrent
  • RSS
  • RSS feed of BitTorrents (Goodbye hard disk space)

Storage Back End

Accessible Download Widget

General Design