An introduction and some history...

The venerable Super DragAndGo (SD&G) was the first extension to extend Firefox's drag-and-drop capabilities. Unfortunately, by late 2005, all development work on SD&G had stopped, and the extension was no longer being maintained.

Later in 2006, the Drag de Go project was started. In many ways, Drag de Go was the successor to SD&G. It completed SD&G's fledgling directional dragging feature and added numerous new features of its own.

With the release of Firefox 2, changes in the browser's API rendered SD&G incompatible with Firefox. However, I did not want to switch to Drag de Go because, although it was rich in features, I had no need for any of its new features, and the large size and complexity of Drag de Go did not appeal to me very much—smaller extensions have smaller resource footprints and are less likely to have bugs. I wanted something small, simple, and efficient that offered just the basic feature set that I needed without overwhelming me with a bunch of complicated options. SD&G fit the bill perfectly, so instead of switching to Drag de Go, I became the unofficial maintainer of SD&G and updated it to make it compatible with Firefox 2, and later, with Firefox 3.

However, in the process of updating SD&G's code, I noticed that the code was a bit messy and that it was doing some improper things, like replacing some global functions. Shortly after updating SD&G for Firefox 3, I finally decided that it was time to re-write SD&G from scratch (as a new extension, since I am not the owner of the SD&G code). QuickDrag is the result of this re-write.

So, in a nutshell...

If you want lots of features, such as directional dragging options, QuickDrag is not for you. You should try Drag de Go, Easy DragToGo (which appears to based off of Drag de Go), or other similar extensions.

If you are satisfied with the basic feature set and want something with the smallest possible footprint, then QuickDrag is for you.

Will you ever implement Super DragAndGo's experimental directional dragging?

No. If you want directional dragging options, you should try Drag de Go, et al.

Where did the option to specify the image download directory go?

This option was removed. In order to support this option, it was necessary to maintain a somewhat hefty chunk of code to implement a custom file saver. I also switched the image saving from Mozilla's built-in generic file saver to Mozilla's built-in image file saver (which also uses the download manager), which offers additional functionality, such as detecting the image type in cases where the image file lacks a proper filename extension. The added functionality of the built-in saver coupled with the ability to change the download manager's default download directory makes the cost of losing this feature worth the savings in code size and complexity.

How is QuickDrag different from Super DragAndGo?

Here is a summary of the notable changes and fixes that I made in the SD&G-to-QuickDrag re-write. Of course, the best way to determine what exactly has changed is to download QuickDrag and look at its source code! ;-)

  • Changed: By default, dragging a clickable link will no longer open the link in a new tab. Instead, it will either search for the link text if it is a text link (and if the link text does not look like a web address) or save the image if it is an image link. The reason for this change is that middle-clicking on a clickable link will open it in a new tab, so instead of having two mouse actions that do the same thing, drag-and-drop will now search and save. However, for people who prefer to have drag-and-drop behave similarly to a middle-click, this behavior can be changed in the options (requires version 1.0.1 or newer).
  • Changed: Image saving now uses Mozilla's built-in image saver with image type detection. The custom folder option was removed.
  • Changed: QuickDrag will now do a "t?tps? fix-up" (e.g., if a URL starts with ttp://, it will be replaced with http://).
  • Fixed: QuickDrag does not replace parts of nsDragAndDrop and contentAreaDNDObserver. These two global objects are used throughout Firefox by various things, and replacing them meant that SD&G could potentially affect or even interfere with the function of other browser components and extensions. Also, if a future version of Firefox were to update code in any of the replaced areas, the updated code would be overridden by the extension, which is not a desirable outcome. QuickDrag uses gentler, less blunt means to hook into the browser.
  • Fixed: The scope of the extension's effect has been restricted (in part because of the fix listed above). QuickDrag will only handle drops starting and ending within the same content area (the area between the tab strip and status bar where webpages are loaded). This means that this extension will no longer interfere with drops that cross the content area boundary. For example, SD&G had code to emulate the handler for dropping XPI files from outside the browser because it had overridden the default handler for such an action. Since the default handlers are not stomped by QuickDrag, this sort of hackish workaround is not necessary. This should help QuickDrag play along better with other browser components and extensions.
  • Fixed: The URL detection code has been changed to (slightly) reduce the number of times a non-URL string is incorrectly treated as a URL.
  • Other: I have rewritten from scratch literally every line of code. There have been various small under-the-hood improvements and clean-ups. As a result, the QuickDrag code base is significantly smaller than SD&G's.
What browsers can I use QuickDrag with?

QuickDrag should work with Firefox 2 and 3. It will not work with Firefox 1.5 or older. I have personally tested QuickDrag with Firefox 2 and the latest Firefox 3 nightlies. QuickDrag should also work with browsers derived from Firefox 2 or 3, such as Netscape 9 and newer versions of Flock, although my testing with these derivative browsers was very brief and minimal. SeaMonkey is currently not supported; support might be added in a future release.

Where can I still get the old Super DragAndGo?

For users of Firefox 1.0-1.5, you can use version 0.2.6, and for users of Firefox 2.0-3.0, you can use version 0.2.6.3. However, I strongly recommend that users of SD&G switch to QuickDrag, Drag de Go, et al. because SD&G's code base is very old and is no longer being maintained.

If you want the old behavior of SD&G, you might consider using Simon Bünzli's userChrome.js adaptation of SD&G, which, unlike SD&G, is still being maintained and supported.