30 December 2006

Send Tab URLs 0.3 released

This new release includes the proposed new features that was blogged about in the last post. Here is the download link:

Download: sendtabs-0.3.xpi (12 KB; English (United States); compatible with Firefox 1.5-2.0.0.*)

At the risk of sounding like a broken record... Send Tab URLs has been tested and confirmed to be fairly stable on Linux. It has not been tested on Mac OS and therefore cannot be guaranteed to work on that platform. There are limitations on supporting email apps on Windows; see the post for the December 24/06 release (version 0.2) for more info.

What is Send Tab URLs?

Send Tab URLs is an extension for Mozilla Firefox. It adds a new menu item to the File menu in the main browser window named "Send Tab URLs". When selecting this command, an email will be automatically created which lists the URLs of all the open browser tabs. This is great for those situations where you want to share someone the URLs of all the open browser tabs.

About This Release

When invoking Send Tab URLs from the File menu, you'll be presented with a choice of list styles for the email. This dialog box is also accessible from the Add-ons window (Tools → Add-ons in Firefox); in the list of extensions choose Send Tab URLs and click Options.

Starting with this release, Send Tab URLs is limited to listing the URLs of up to 24 browser tabs in the current window. This limit is configurable via a pref setting, sendtabs.max_tabs, in about:config.

What's Next

The immediate goal is to have Send Tab URLs localized in other languages (sounds like a job for Babelzilla...) Other plans are:

Once I have this extension translated in a few languages, it will be uploaded to Mozilla Addons for general availability. Still need to decide if I need to have this extension restricted to Linux given that its support for Windows-based email apps is limited and that it hasn't been tested on Mac OS X.

Test Send Tab URLs on Firefox for Max OS X.

Feedback on Send Tab URLs is welcome as work progresses on this Firefox extension. Please submit your feedback and suggestions by clicking the comment link below, or email me at aeng.aecreations@gmail.com.

26 December 2006

Idea scratch pad - Send Tab URLs

Ideas for the next release:
  • Set a limit on the number of browser tabs whose URLs are listed, for security considerations. This limit will be configurable via a setting that can be changed in about:config, although the limit should be reasonably high enough to suit the most demanding power surfer: "24 browser tabs should be enough for everybody...."

  • Simple formatting of the generated email. Each listed URL in the email could be numbered or bulleted. Formatting could be set every time Send Tab URLs is invoked, or only on demand, via an "Options" dialog box. Simple formatting should work regardless of whether the email is composed in plain text or rich text (HTML).

  • Slice vegetables, bake muffins, and create the most amazing pineapple chicken chow mein dish... oops, wrong project.... =)

24 December 2006

Send Tab URLs 0.2

Just in time for Christmas, Send Tab URLs 0.2 has been released and is available for download!

Download: sendtabs-0.2.xpi (8 KB; English (United States); compatible with Firefox 1.5 - 2.0.0.*)

Send Tab URLs has been tested and confirmed to be fairly stable on Linux. It has not been tested on Mac OS and therefore cannot be guaranteed to work on that platform. There are limitations on supporting email apps on Windows; users who wish to install Send Tab URLs on Firefox for Windows should keep reading for more info.

About This Release

As blogged about previously, there are issues on Windows where the mailto URL that Send Tab URLs creates won't launch if the URL is too long. This release will now automatically detect and work properly with the following email apps on Windows:
  • Mozilla Thunderbird
  • SeaMonkey Mail
  • Outlook Express
  • MS Office Outlook
Send Tab URLs no longer asks the user for the install location of Mozilla Thunderbird, unlike the previous release.

For all other email apps, Send Tab URLs will make a "best-effort" attempt to launch the mailto URL via the system's mailto URL handler. But if the URL is too long, then the unsupported email app may not run at all.

Feedback Welcome

Feedback on Send Tab URLs is welcome as work progresses on this Firefox extension. Please submit your feedback and suggestions by clicking the comment link below.

Merry Christmas!

20 December 2006

Send Tab URLs 0.1.2

No, the above title isn't a typo. To make it more obvious as to what it does, the name of this Firefox extension has been tweaked a bit. The internal name will still remain as "sendtabs," as you may notice in such places as the following download link...

Download: sendtabs-0.1.2.xpi (7 KB; English (United States); compatible with Firefox 1.5 - 2.0.0.*)

Please Note: Send Tabs is under development, and is currently meant for users interested in testing it and can tolerate its many bugs. If that scares you, then you shouldn't install it.

About This Release

The quest to overcome the "mailto:" URL length limitation in Windows continues. Apparently the limitation is imposed by the XPCOM method responsible for URL handling, and is in place to prevent buffer overflow exploits involving Windows helper apps (see Mozilla bug 161357). In assessing the risk of Send Tab URLs accidentally introducing this security vulnerability, I believe that one would have to make the effort to deliberately cause a buffer overflow problem on his own system, e.g. by intentionally typing in a malformed URL in the browser's address bar. Even so, the browser would already have been compromised before Send Tab URLs is invoked. This is a different situation than an unsuspecting user clicking on a malformed "mailto:" or "telnet:" URL, which is a scenario the URL length limitation is supposed to prevent.

In this release, Send Tab URLs will check if it is running in Windows; and if so, it will execute Mozilla Thunderbird, passing to it a command-line parameter that specifies the message subject and body (on non-Windows systems, Send Tab URLs will still invoke the system "mailto:" URL handler). Send Tab URLs expects Thunderbird to be installed in the default file location; if not it will prompt you to enter the install location manually. For future invocations, Send Tab URLs remembers the install location of Thunderbird in the user pref sendtabs.mailapp.installpath.thunderbird.

Future Directions

A more elegant way to detect the install path of Thunderbird -- i.e. without asking the user -- will be the goal of the next release.

Since the command-line parameters available to the Mozilla family of email clients (Thunderbird, SeaMonkey, Mozilla 1.x suite) allow a long string to specify the message subject and body, I will work on supporting those apps in Send Tab URLs. I might also look into getting Send Tab URLs to work with Outlook Express and maybe even MS Office Outlook -- but don't hold your breath just yet.

17 December 2006

Create or paste clippings as quoted or unquoted text

An annoyance in Clippings for Thunderbird has inspired a new feature idea.

When creating a new clipping from quoted text in a reply, one would have to manually delete the unwanted ">" symbols in the New Clipping dialog. The first part of my idea is to have a new checkbox in the New Clipping dialog, specific for Clippings for Thunderbird, to strip the leading ">" symbols on each line when creating a new clipping from quoted text. Here is a UI mockup:

The second part of my idea is pasting clippings into the message compose window as quoted or unquoted text. This is going to be a bit challenging, as there are two issues to address:
  1. How does the user choose to paste the clipping as quoted or unquoted text?
  2. If the user wants to paste the clipping as quoted text, how will Clippings know where to place the ">" symbols?
Issue #2 may be easy to implement once I study the source code for Thunderbird's message compose window and learn how the Edit | Paste As Quotation command is implemented. It could be a simple matter of copying the desired clipping to the system clipboard and then invoking the Paste As Quotation command to paste the clipping as a quotation.

Issue #1 promises to be an interesting exercise in user interface design. There are two ways I can think of implementing this, as both methods have their own pros and cons:
  1. Each clipping entry on the Clippings context menu would sprout another submenu containing two commands: "Paste As Quoted" and "Paste As Unquoted."
    • Pro: Very flexible option, as the choice to paste as quoted or unquoted text is right there for the user to select.
    • Con: An extra wrist action is needed to select yet another level of submenus, which can prove to be painfully annoying. Users will be up in arms over sore wrists (pun unintended) brought on by Clippings. Kind of reminds me of the recent reports of repetitive strain injuries experienced by users of the Nintendo Wii remote control....

  2. Create a toolbar button to toggle pasting clippings as quoted or unquoted text. Then, subsequent pasting of clippings as quoted or unquoted text will depend on what the user has set.
    • Pro: Eliminates the need for the submenus in the first option. Very convenient when pasting multiple clippings in the same email message as quoted or unquoted text. No more sore wrists.
    • Con: Not as flexible as the first option, as the user will have to ensure the option to paste as quoted or unquoted is properly set every time before pasting the clipping. If the user forgets to set the correct option, then he or she will have to undo the clippings paste action, set the correct option, and try again.
Hopefully this will get some dialog started. Thoughts and suggestions are welcome in the comments below, or in the Clippings mailing list.

16 December 2006

Clippings 2.5.0+ for Thunderbird 2.0 beta 1

Now that Thunderbird 2.0 beta 1 is released, I've uploaded an experimental build of Clippings with the install manifest's maxVersion value for Thunderbird incremented to 2.0b1.

This build is being made available for testing purposes only. It is recommended that only testers, early adopters and advanced users (the same type of users who would be using a Thunderbird beta release) should download and install this experimental build of Clippings.

Download: clippings-2.5.0+.tb2-b1.xpi (102 KB; compatible with Firefox 1.5-2.0.0.* and Thunderbird 1.5-2.0b1)

Because this is a pre-release build, it will not be automatically updated in Thunderbird or Firefox. If you already have Clippings installed, you must uninstall it first, then download and install Clippings 2.5.0+.

The changes from the last stable release (Clippings 2.5) are minimal:
  • Support for Thunderbird 2.0 beta 1
  • Prevent potential JS variable redefinition errors (bug 16029).
Please test carefully and report any regressions. If you have a Bugzilla account on Mozdev, you may file a bug report at http://clippings.mozdev.org/bugs.html. General feedback should be posted in the Clippings mailing list.

14 December 2006

Send Tabs 0.1.1

New release. Lots of internal code changes, but only minor obvious visual changes.

Download: sendtabs-0.1.1 (6 KB; English (United States); compatible with Firefox 1.5 - 2.0.0.*)

Please Note: Send Tabs is under development, and is currently meant for users interested in testing it and can tolerate its many bugs. If that scares you, then you shouldn't install it.

What's New

A single, trivial change - the email subject line will show you how many links are being sent. So if you had 8 browser tabs open, then the subject line will read: "From Send Tabs (8 links)".

Known Issues

On Windows, Send Tabs won't work if the total number of characters in the "mailto" URL exceeds approximately 462 characters. Testing has confirmed that this isn't an issue on Linux (Fedora Core 4, at least), where 24 browser tabs were opened in a single window and a 5232-character "mailto" URL was successfully generated.

09 December 2006

Send Tabs 0.1

I've uploaded Send Tabs version 0.1, modified from the original for compatibility with Firefox 1.5 - 2.0.

sendtabs-0.1.xpi (3 KB; English (United States); compatible with Firefox 1.5 - 2.0.0.*)

Send Tabs works by enumerating the URLs of all open browser tabs and sending that list, along with a default email subject line, as a "mailto" URL and passing it to the "mailto" protocol handler which invokes the system default email client. It works very well until the maximum of ~462 characters (subject line + URL list combined) is exceeded; at that point you get an error.

That glaring limitation makes Send Tabs useless if you have a lot of URLs to send. The goal of the next few milestone releases is to overcome this barrier.

03 December 2006

Ideas

Picture this common Web browsing scenario: You've got multiple browser tabs open in Firefox, and you want to email a friend a list of URLs of all the really cool, must-see Web pages in the browser tabs you've got open.

While there is a "Send Link" command in Firefox (and in most other Web browsers), it only creates an email message containing the URL of the tab that was focused at the time the Send Link command was invoked. If you wanted to include the URLs of the other tabs, you would have to switch to each tab and copy and paste the URL from the location bar into the email. And if there are a lot of open tabs, that can be a real chore.

I propose an extension that would eliminate this needless copying and pasting. Called "Send Tabs," it will open an email message composition window where it will populate the message body with a bulleted list of URLs of all the Web pages displayed in all open tabs.

I had actually started working on this a while back, and got as far as creating a prototype of it before the project was abandoned when other things came up. Now, with Clippings 2.5 done and me restlessly thinking of other things to keep me busy and out of trouble, the Send Tabs idea seems to be worth revisiting.

There is some preliminary research and studying for me to do before resuming work on Send Tabs, but for now, what do you think? Comments on this idea are welcome.