Saturday, February 28, 2015

A Mozilla Thunderbird Issue With Saved Passwords

Now I hesitate to publish fixes to technical issues that could well go away with the next patched update or release. But part of the reason I'm doing these posts is to chronicle issues, in part because it's useful in looking at usability issues in the context of user design or even stimulate ideas for new products or utilities. Another useful concept in problem solving is to adapt an old mathematics approach to proving theorems--reduce the problem to an already proven theorem rather than reinvent the wheel from scratch.

Let me illustrate with a simple example . I usually maintain a personal music library with iTunes, and for years I've owned Shuffles; I would typically painstakingly create playlists selected from thousands of licensed songs downloaded to the Shuffles for when I exercise, go shopping, etc. The Shuffle integrates with the iTunes interface (although I've had occasional problems when it didn't seem to recognize that the Shuffle was attached to my PC), and it was relatively simple to fill (and randomize song sequence) from playlists. Playlist functionality has always been lacking in my experience; it's fairly easy to create a playlist (e.g., favorites, Christmas, genre, etc.) and to add individual songs to playlists, but it's a fairly tedious procedure; it would help, for instance, if you could import, export, clone or merge playlists and/or work with user-defined song tags. I think I mentioned in a signature miscellany political blog post there was a problem with my last Shuffle, and for some reason I didn't find where they were being sold at my local Wal-Mart, but I did find an MP3 player with more capacity at about a third of the cost. Of course, my new player didn't interface with iTunes. I could, of course, locate and copy individual song files to the device, but this can be cumbersome without having some playlist script to locate and download to the player. There may be a freeware tool that does what I wanted, but I didn't stumble across one. It also wasn't clear how I could import playlists across alternative music players which could access my new device. And then I discovered one I've used in the past, MediaMonkey, would read in my iTunes playlists when it scanned my music library, and it was fairly easy to select all the songs in a playlist and download them to my device. It would be nice if either the player or the device allowed randomization of selected songs, but the bigger issue was song selection.

There are other usability issue annoyances. For example, on a recent iTunes upgrade, I found that the tutorial kept starting up, even after I completed it. Now granted, all it took was a mouse click to turn it off, but it gets old over time; you should only see it run once and then let you start it up from the menu, which is what I've seen with other software. I've also found that toggling to and from the mini-player (reduced iTunes) doesn't work well as least on my Windows 8.1 machine.

But enough of Apple; I think in part I'm picking on them because they have a public reputation for usability. I recall a while back I was in contact with some Apple employee, and she really wasn't that receptive to my product feedback and suggestions, "not invented here" syndrome. The current issue is somewhat similar to the spawned tutorial issue. I used to use Outlook Express until it was desupported in favor of Windows Mail. I had chronic latency issues with Windows Mail loading my legacy emails (in the thousands). I refuse to pay extra for a Microsoft Outlook upgrade and discovered Mozilla Thunderbird was a suitable replacement; I've been a user of Thunderbird ever since.

The current issue deals with the handling of SMTP (outgoing mail) servers for 2 of 3 external email accounts configured in Thunderbird. When you run the wizards (Tools/Account Settings/Add a New Email), you input your email login and password and may then be presented with a pop/imap choice for incoming emails. Now these accounts/passwords are stored/available through Tools/Options/Security table. You can optionally (recommended) create a master password so unauthorized people can't find the passwords to your email accounts.

Here's the usability context: if your account/password is not stored, you will be prompted for the password depending on whether you are downloading or sending mail. Usually it's a one-time event per session (meaning, say, if you are writing/sending a second email and the SMTP server is in question, it will "remember" the password). If you download/send mail from multiple accounts, you can find yourself being prompted for passwords (beyond the master) every time you bring up Thunderbird. It's not a big deal but annoying especially since that's the reason you have a password repository to begin with. Now in theory you're supposed to get a checkbox allowing you to store the password in the repository, but I've gotten no checkbox, and a relevant tweak of the configuration described on the Mozilla website does not seem to resolve the issue, at least for the current release.

In short, I discovered recently when I dropped and recreated my accounts (e.g., in one case I had configured IMAP vs. POP and IMAP was downloading redundant and/or spam category emails), only one of the email accounts had a saved SMTP account. The wizards did save the IMAP/POP accounts.

A word about the repository: it has more limited functionality, aimed more at removing accounts. One obvious issue is what happens when you change your external email password?  In theory, you should be able to edit the password within the repository and/or replace the password if and when you get prompted for the password if your stored password is rejected. (It may well be your best alternative is simply to drop and recreate the account when you change the passord.) But in the current scenario, there is no way to insert, say, a missing SMTP account into the repository, so if any replace/add account functionality fails when you are prompted the first time you send an email through an affected configuration, you're stuck. Never mind the fact the repository already has your account password from your IMAP/POP account anyway (which is a different usability problem: you have separate incoming and outgoing records for the same account/password).

The reality is, even though I don't think you should have separate account password records for incoming/outgoing email services, that determines whether or not you get prompted for retrieving or sending emails, other than invalid passwords in the repository. What I found last night is there is a good developer's add on called "saved password editor" from Daniel Dawson which has the fix I was looking for. It provided a pickbox at the bottom of the saved password repository allowing you to add entries (with other functionality as well). You get a form with a radio selection tab at the top, and I've had success through the annotated option. The format is  smtp://[smtp_servername] , e.g., smtp://smtp.googlemail.com; if you don't know your target server name, scan down the bottom of Tools/Account Settings, select Outgoing Server (SMTP); to the right you should see a picklist of SMTP server names and more detailed configuration settings below the highlighted server name. I've entered the same string in the first and third lines (the second line, for a prefix used in the other option,is probably greyed out) and enter the account and password on the following couple of labeled lines. I normally then bring Thunderbird down and then back up--and now I don't get prompted for any of my 3 accounts when I send out emails.

For the benefit of other Thunderbird users, I've found these other add ons useful as well:

  • ImportExport Tools
  • Lightning
  • Nostalgy
  • Remove Duplicate Messages