Firefox/Feature Brainstorming:Downloads

From MozillaWiki
Jump to: navigation, search

« Firefox/Feature Brainstorming

Download manager

  • Must show how long took to download each file after a complete download. / Debe mostrar el tiempo que tardo en descargar cada archivo despues de finalizar la descarga.
  • Show the location (domain or URL) of each file that's being downloaded maybe just to the right of the time remaining line or the filename line. Or, have an optional setting that would show the entire URL of the filename being downloaded instead of just the filename only.
  • Better Tools->View Page Info->Media->"Save as" Integration
  • Right-click on a downloaded file -> Move file to: (opens up a save-as dialog)
  • Option to open the download manager as a tab instead of it's own window, with a status bar in the tab title area.
  • Improve file type handling - ie: always download specific filetypes to a set of default or user-specified folders (defaults: Audio, Video, Images, Zipped, Executable, etc.) See also Bug 108059
  • Allow downloaded files to be tagged both manually and automatically.
  • Check if destination drive has enough free space before starting download.
  • Reserving disk space at destination before starting the download
  • Ability to restrict download bandwidth (aggregate or per stream) and prioritise download (allocate more or less bandwidth to a particular download)
  • Allow an option run a downloaded setup file (in the place of "open") instead of saving it, like in Internet Explorer
  • Option to type a path to a program to open a download (more efficient than using a file selector)
  • Option to type a path where a file should be saved (more efficient than using a file selector)
  • In the Download window, there should be a button to open the main ffox window if it is closed.
  • Allow to configure a sound or beep for every/or last finished download.
  • Option to shut down the computer after finishing the last download or after a specific idle time / no response (Of course with the possibility of interupting the shut-down process by the user)
  • Option to remove the downloaded file from the disk
  • Don't open a new tab or a new window when a download link is "blank"
  • Ability to download with multi-thread (See metalink bug 331979 for collecting mirrors and checksums in one file for easy segmented downloads).
  • Button to check downloaded files with 3rd anti-virus program (or Windows solution?). Maybe option "Always check downloaded files with anti-virus" and whitelist in Options.
  • Option when downloading file to automatically open the folder you downloaded the file to when the download is complete ("download and open folder" option)
  • Show filesize BEFORE the download button is pressed and download started
  • Ability to stop and start downloads.
  • Descargar archivos de distintas páginas en un mismo directorio hasta finalizar la sesión. / Group downloaded files into the same directory based on the session.
  • Ability to set two default download locations, one for small files, one for large.
  • Downloadtimer: Allow set downloadtime, because some of us have downloadlimits but nightflatrates.  ;)
  • Allow "Open with..." through a right-click in download manager. It is initially possible to do this with the download dialog, but subsequently impossible within the download manger.
  • Allow downloads to different directories based on file size (with a configurable switchover point).
  • Allow downloads to go directly to a staging/temporary directory (presumably on a faster drive, such as a RAM drive) and, upon completion and *after* virus scanning, move the file to its assigned location. This would allow users to ameliorate the speed hit somewhat without a corresponding loss in security. Use on small drives might entail the aforementioned size limit. Possible system failure mid-process would not be an appreciable deterrent, as it can affect the current method.
Very simple torrent manager that works with Bit-Torrent Clients and LAN Media Servers

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.

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 :-)).

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.

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.

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.

I want this released under the GPL 2.0 but please give credit for this idea to me:
Chal(pron. Kale) McCollough
3170 W. 14th Str.
Eugene, OR 97402
email: chalmccollough@hotmail.com or apex_blue@hotmail.com
11-23-2006 7:34 AM PST

Basic download requirements and shortcomings from Firefox2

Firefox has an inherent limitation, that is certain links cannot be downloaded. For example in certain website when I wish to download a podcast (standard mp3) in IE6 I would right click and select 'save target as' however in Firefox 'save link as' would save a large html style file that cannot be opened.

As far as download management goes, it should be an option to be able to pause a download and resume after exiting and re-opening firefox. MOST IMPORTANTLY because certain websites prevent direct linking, a feature to add an updated link (simple copy and past operation) into the download manager

An certainly, positively, absolutely no bitorrent downloading features are necessary. Bitorrent clients require constant updating and thus it is better to use an existing client.


Note: If you over complicate the download manager and throw too many buttons options and leave the GUI a cluttered mess that draws from that simple, powerful and elegantly coded design that firefox is built on... well you might as well use Opera, which is a great program but too complex and cluttered for my simple tastes.

Download resume

  • 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)
  • 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.
  • Allow to stop and resume the download. Infact, on firefox 2.0, when you stop and you restart the computer closing firefox, when you want to resume the download, it is canceled.
  • Allow pausing between sessions (Cross-session resume) so that a paused or interrupted download can be continued when Firefox is opened again (especially handy for users of dial up)
  • Ability to control download speed allocations of all downloads and for specific downloads.
  • Resume broken downloads when connection of Internet is interrupted or website

of download sources contains errors or sends error code to user.

  • Notify user upon completion on download when broken download are completed from source.

Download queue

  • Ability to download all links
  • 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 (and download only a certain number of files at a time)
  • Ability to schedule downloads, possibly by passing the download to a system facility, so firefox can be closed, and the download will still happen.
  • Ability to 'Add' file to a download queue via URL

Download dialog

  • Maybe use the same dialog as the remember password 
    Save-password-bar-707169.png.jpg
  • Simplify download pop-up. That thing hasn't been updated for ages. Maybe instead of radio buttons we have 3 buttons at the bottom: Save, Open, Cancel.
  • Add a persistent option that allows a file to be automatically renamed if exists instead of "Do you want to replace it?"
  • Download dialog seen as in Internet Explorer: very easy in use
  • Enable the Opening files using plugins entry by default
  • How can these option be enabled on Firefox2.0
  • Make it so that clicking on the download completed notification box opens up the containing folder with the downloaded file selected (similar to Thunderbird notification opens email).
  • Allow users to directly open executable files. I know this is disabled for security reasons, but patronizing the user is never a good idea. Leave the save-only enabled by default, but allow to change this via about:config.
  • Give the option to display a file of unknown type in the browser window, maybe after performing a simple check that the file is not huge or in binary. There are many file extensions (cfg being an example) which could be displayed internally. This could be combined with a check for Windows or Un*x line-breaks for maximum readability.
    • This could also deal with the occasional odd case where HTML is being served in such a way that Fx doesn't try to display it itself, and instead gives you a download dialogue. How about a 'Display in Firefox' button which did some simple type-sniffing on the data (like the UNIX 'file' command, or the java.net.URLConnection.guessContentTypeFromStream method), and acted accordingly? Ideally, this would recognise any type that Fx deals with internally (the image formats that libpr0n supports, ie PNG, GIF, JPEG, BMP, ICO, XBM, plus HTML, XHTML and whatever, and SVG if we do that internally now; for any type we don't recognise, have a look to see if it's binary, and if not, display it as plain text; an unrecognised binary type could be rejected, or displayed as a hexdump)
    • The inverse of this is that some servers send binary files as text/plain or something; when this happens, your window fills up with junk, and Fx often as not hangs. When loading a text/plain page, do some due diligence and make sure it really is text. This could be up front, applying the content sniffer, or as an error behaviour in the display handler: if it's plain text but contains weird characters, bail out.
  • Allow downloaded items to be renamed inline. [1]
  • Converts the Kilobytes per second into Megabytes per second as necessary if speeds are over 1024Kb/s
  • Run option in the download pop up box. Add the ability to run an application from the download dialogue box. This feature would automatically launch the downloaded file (if it was executable) and also auto-delete the downloaded file once the application has been installed / or run.
  • Provide some option to temporarily override "Ask me where to save files". Useful if next 10 downloads are supposed to go in the same folder as last one. This can be done by holding Ctrl or Shift key while clicking OK in download popup dialog, or there can be a checkbox like "Skip browse window and save to my last download folder", which retains its state.

Download protocols/handlers

  • Ability to select a custom program ("other") to handle the download of an unknown file type (see bug 352142
  • Ability to easily pass the url to third-party download manager to do the downloading instead of using firefox's built-in download manager
  • Make many connections (to different or same server)
  • p2p support (locating/participating)
  • Bittorrent support, like in Opera 9, possibly with support for http/ftp seeding.
  • Add an FTP manager, similar to Windows Explorer tracking of previously accessed FTP sites.
  • Enhance the FTP experience. Continuing downloads, uploading, binary/ascii choice, etc.
  • Firefox should have the option to try to open application/octet-stream (binary, can be executable files) from a temp folder instead of always having to save it to the desktop.
  • Not sure if this is a duplicate of the idea above, but when Fx saves a file to hand off to a helper app, it should put it in a temporary directory somewhere out of sight, not on the desktop. Is this a Mac-specific behaviour? As an example, we have a machine at work that we read a lot of PDFs on; this is on an Intel Mac, where there's no plugin for PDF, so our desktop rapidly fills up with PDFs. This is awful. Files that haven't been explicitly downloaded should never be visible like this.
  • Dijjer downloads support (with embedded client).
  • ability to simultaneously download file from website and torrent. if an 0day release is straining website download bandwidth the website starts acting like a torrent seeder and firefox as a peer.
  • Option in Download Actions for 'ask me what to do every time' - to save having to remove the action in order to be given the option. The default actions present due to plugins can be annoying to restore if removed.
  • Option in Download Actions and the download options dialogue for 'open URL with...' - allowing user to pass the url to another program. Useful for download manager integration, and easily streaming media files with external players instead of downloading the file before playing it.
  • Support for Download Action associations to be formed based on file extension in addition to MIME Type - don't know how well this would work.
  • Folder actions can corrupt downloads, when moving or sorting media files (Mac OS X). Fix:
    • Option #1: Store incomplete downloads in a temporary directory and then move to target folder (ex. "\Downloads\Incomplete").
    • Option #2: Do not create the downloading file, until the entire .part download is complete.
  • Integration with OS X's own application associations. When I'm asked what application I want to open my downloaded file in, I shouldn't have to customise the 'open with' list by browsing for the application, when I've already got a list from OS X that I'm used to.
  • Support for web-based file handlers (e.g. PDFMeNot, BitLet, Vuzit, Picnik). Firefox 3.0 seems to only support web-based protocol handlers (e.g. 30 Boxes, GMail).

General download UI improvements

  • Dont name temporary files like '403AF..' use realnames like in IE. (very helpful when accessing Flash and Media content.)
  • Use friendly cache directory and file structure, as in Offline Explorer (cache/www.site.com/folder/file.html, or friendly encoded file name), so it would be possible to remove certain files manually.
  • Support Drag&drop from 'Downloads' window
  • 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)
    • For the download toolbar, put the progress bar in the background of the tab. Then when the download completes, give the user the option of a short blink, or a translucent ripple effect that eminates beyond the toolbar.
  • Download in progress should be the same size as a completed one. If you have multiple downloads in progress and want to remove a particular one it can move if other downloads complete. If multiple downloads complete in a very short period of time another download might come under the mouse.
  • Bring back the Progress Bar ... allow option for user to select Download Progress Dialog indicator (like in Mozilla suite). With additional option to close when done and one that shows the buttons "Open Folder" and "Open File"
  • Allow to specify domain-specific default destination folders for downloads, e.g. by suggesting to save all the pdf-bills from my-telephonecompany.com in the folder D:\bills\telephone whenever "save link as.." for links from this url is selected. This might avoid the annoying clicking through folder trees when periodical downloads from several homepages are carried out
    • Another approach could be to remember the default download location for file-types. So when I am browsing I tend to save image files in a certain location and pdf files to a different one. IE remembers this and when I say save as for image/pdfs, it appropriately opens that location.
  • Allow user to decide where to save the download locally after the download has been done instead of always downloading to the same location (I do know there are some add-ons that allow this but it would be nice if this was in the main product).
    • Tools > Options. Main > Downloads > Always ask me where to save files
  • New: In the "Opening ...." dialog, together with the "Save" and "Cancel" options add an icon representing the file to download and text "Or drag this icon to download destination folder", this would be very cool if you already have an explorer window open to where you want to download the file so you don't have to navigate through all the folders in the "Save As" menu. Like in this screenshot: [2]

Download history

  • When removing an item from download history, have the option to also remove the file from disk
  • Be able to save the download history to a file.
  • Add descript.ion to every saved file and page with original URL (like DownloadMaster does) to allow user to return to originating site when analysing downloaded stuff. Probably description should contain also original page address where the file was downloaded from. Should be ruled by option: "Add descript.ion"/"Write original URL to common log-file"/"Don't store original URL".
  • Merge the "Tools:Downloads" window into the "History:Show All History"/"Library" window in some fashion, perhaps by adding a new tab bar near the top edge of that interface (e.g., "History"/"Downloads"/"Cookies"/"Errors").
  • sort/display time and date (additional column) of when files were downloaded
  • be able to sort/display by filetype (additional column) of downloaded files
  • More control over clutter in the download history. Specifically, the abilities to select multiple completed downloads at once and remove them all with one button, remove all history items that point to files that are deleted or moved, or automatically remove history items older than X days, like with browsing history.
  • Show the Filesize on a finished Download e.g. Extras->Downloads->RMB->Properties->Filesize.
  • Ability to search download history
  • Automatically inserting metadata such as the URL is useful for researching downloaded files.
    • Would this consist of exact media url, or the page it was found in, or both? An exact URL might not give enough information to be able to find back the original context of the media element for research purposes, since the file might have been uploaded to a site like flickr or youtube and later embedded into a webpage. (Note that Safari adds the "Where from" metadata)

Image and Media Downloading

  • Make it one click to save an image. Maybe middle click, or hold down CTRL and click and it will automatically name and download an image without interrupting browsing.
  • Have a right click available to view the image full screen with zooming and other capabilities.
  • Have an option to easily download embedded media such as flash files, movies, and music; similar to the Download Embedded extension.
  • Have the option for the download window to not pop up, only when saving objects that have already been downloaded (such as images).

Various

  • Interpret the meta tag "DownloadOptions" like Internet Explorer does
  • Show the MD5 and SHA1 Checksum of each download after its finished.
  • Interpret a "Checksum Attribute" in HTML like <a href="file" checksum="md5:46302164391643zfa9faq65f98a"> and compare it with the generated one (See Hash microformat).
  • Fix webBrowserPersist to save @import-ed stylesheets and backgrounds referenced in stylesheets. See Save Complete for my work on an extension to fix this.
  • Enable support for Microsoft's ClickOnce application deployment technology.
  • Add a side panel with a explorer-like root of media, where you could choose some of them at a time and interact with them at the same time, i.e. dowloads, copy, paste.. just like windows-explorer
  • Touch and update finished downloads with the "Last-Modified" Date-Time from HTTP Request Headers to preserve that value (FTP transfers also need to be updated too).

Performance

  • While the download manager window is not responding (aka it's opening the file that had just download) Firefox should not freeze too.

Backend

  • Make the download manager take multiple download progress listeners so extensions can more easily present downloads in different ways

Uploads

  • Allow Upload functionality similar to the Download Manager (especially: show, how much has been uploaded already, not only a progress bar)
  • Should allow for Upload Resume
  • You should be able to Upload a Folder and multiple files, rather than a single file at a time.
  • You should have a option to compressing the upload (zip/gz) within the upload dialog
  • Allow uploading of files via Drag and Drop into the Browser window - support a file upload event - important for web-based document management systems, webmail applications (attaching files), software version control systems (eg. websvn) and the like.
  • Allow cut & paste of binary content (eg a screenshots) in HTML files
  • Resume broken Uploads when connection of Internet is interrupted or website of Upload sources contains errors or sends error code to user.
  • Notify user upon completion on Upload when broken Upload are completed from source.
  • Prevent/Warning on page change when upload is progress in a tab/window (e.g. webmail attachments)

Allow to open executable files

  • Why disallow us to open executable files? It makes no sense, except probably for newbie users. If so, it's better to have a scary warning window (But with a "Don't show this again" button, please)...
    • What disallows you from running and executable? Works just fine for me! --FlyingIsFun1217 06:01, 13 February 2007 (PST)
      • well, I would say it would be the fact that there is code in firefox that disable the option to "open" instead of "save" an exe when you're downloading it.--Kbirger 11:06, 23 April 2008 (PDT)

Suspend Windows Vista shutdown when download is in progress

In Windows Vista, it is possible to interrupt the shutdown procedure and show the user which program is still working and why. It would be convenient for Firefox to suspend the shutdown procedure when a download is in progress and give the user a chance to cancel the download or allow it to continue. More information on this functionality can be found in the following MSDN article: Application Shutdown Changes in Windows Vista

Download throttling

Context menu on download manager which would allow the throttling of individual downloads. A feature found in most FTP clients which would be very useful for managing bandwidth allocation.

MD5 Checksum

Give web developers the avalability to embed a MD5 checksum to a download. Perhaps the best way to do this would be to have an attribute like this:

<a href="AddressBook.rar" MD5="94a0fd467bdcde4e04d5497920e64b72">Download Address Book</a>

Firefox would automatically check the MD5 and report it on the downloads pane. If a file failed MD5 check, a prompt could ask the user if they wanted to re-download the file.

Even if there was no embedded MD5, firefox could run a checksum and store the information with the rest of the download information it stores. This would officially integrate the MD5 software with Firefox. Don't know about you, but I have only ever used MD5 for confirming downloads, it really does belong with the browser.


References