Tab Candy - Aza's new ideas

Horizontal/Linear tabs at the top of a browser were for many users not enough anymore (at least for me, my wife, Andy and Aza). In times when we used browsers with no tabs we had to find other ways for keeping all task related URL's together since the windows toolbar could become cluttered in minutes and other opened applications soon became lost between all browser's windows. Then the general public was introduced to tabbed browsing with Firefox. To be precise, Firefox was not the first browser with tabs but it was one of the things that helped its popularity. It even forced IE 7 to introduce tabs as well even if its developers were asserting us that tabs are no future at the beginning of the development process.

With computer screens expanding horizontally instead of vertically I wanted to get some use of this space. I found a nice extension called Tree style tab which lets me organize my tabs on the right side of my browser window. I got some more space vertically and I have currently cca. 30 tabs opened and I still haven't used half of my vertical browser edge (although only 12 are visible while the rest are nested). It also helps me being reminded of stuff I need to do or want to read (something like a lot of people do when they sent email reminders to themselves or leave unread emails of others as reminders of unfinished things).

The new Firefox's Tab Candy also addresses the problem of linear tabs. The main idea behind it is to spatially manage thumbnails of opened URL's and group/open/close them by tasks (which I'm already doing although not with thumbnails). But it also extends the tab management beyond simply moving tabs around with several other (not yet implemented) ideas:

  • grouping tabs and create metagroups of groups which can be zoomed in and out and piled up (the idea of computer piles is old)
  • searching for text in all tabs of all groups (very similar to what I tried to do with a desktop search)
  • automatic groping (surprise me because I don't believe in it :))
  • a default to-do group of tabs with reminders
  • understanding semantics (size, content ...) of opened tabs (and groups) to help users find relevant information (prices, facts, images ...)
  • tabs/groups sharing with friends and other people
  • task specific visualizations (something Andy Cockburn did with his Mona email client and visualization of email threads) like showing the links between tabs on how they were opened from each other (also Andy's WebView)
  • personalize groups to help spatial memory with colours and decorations

A word on spatial management and zooming interface. Spatial positioning was long known to be a good aid for memorizing where certain things are on a surface and Tab Candy uses it well; to be honest - spatial management and zooming in and out was his father's idea behind Archy desktop. And zooming interface was developed way before with Pad++. So a lot of ideas behind Tab Candy are old but are also well suited here (and so underused in mainstream software).

An Introduction to Firefox's Tab Candy from Aza Raskin on Vimeo.

The only thing that bothers me is the button that needs to be clicked to access tab management spatial area (or pressing Ctrl+Space keys). As Raskin puts it: out of sight, out of mind. I like all my groups visible all the time that serve as reminders. But this can also distract me from doing what I should be doing as it provides far much information than I need while working on a particular task. And to manage tabs in such way with thumbnails a space reserved on the left of my browser is not enough. Maybe shading groups that are not in use would help.

Thunderbird gets better and better

Last week I decided to upgrade my Thunderbird 3.0.3 to 3.1. It keeps positively surprising me every time I do an upgrade with its interface enhancements. I wanted to write about its search facility which was introduced with the version 3 but I never got to it since I wanted to film its usage. Maybe one day. Nonetheless its indexing copes with 5 email accounts over IMAP and 20.000+ messages. It's amazing! Actually I changed my management from filing email to piling. But more on this issue in one of the future entries.

Main interface changes and features I like in TB3 are:

  • indexing and search in real time with a time scale helps me find even 10 years old emails (I have not idea and control of what I have in 30 folders or so) in seconds
  • emails can be now opened in tabs which I thought I would be using more but I actually have two tabs: one for email and one for Wave; searching results and tools are always opened in a new tab and emails from search results as well which is a good thing not interfering with normal email view
  • threaded discussion of search results: when opening an email as a search results, TB tries to show it in context with other emails in the same thread (context is very important for reminding and re-finding)
  • the move of Reply, Forward ... buttons to the email header instead of them being on the main toolbar (I know a lot of people did not like this change but IMHO the Reply button is a part of a message and not a part of the main toolbar)
  • really neat filtering messages on a folder bases (introduced in 3.1)
  • new simplified account setup wizard in one window (I newer understood why entering name, email address, password, incoming and outgoing servers NEEDED 5 steps PROCEDURE in 5 WINDOWS), while I do not like it when it wants to find server names by itself I can still stop the process and do it manually
  • column headings can be set and emails ordered by on a folder basis
  • entering people I write to in address book automatically (this was a part of TB2 already) and simplified entering and inline editing address book entries by simply clicking a star by sender's or recipients' names (instead of opening address book, searching for an entry and editing it)

With such simplifications of interface I always remember the typical HCI question I use to ask students: how to create the easiest interface to a converter - e.g. from Fahrenheit to Celsius and vice verse. One field and no buttons do suffice.

I don't use smart folders and archiving options. But that's part of my email management practices.

Counting RSS subscriptions

The reason for this entry is more to show how interesting can it be working with a command line interface than to actually count RSS subscriptions. Counting is entirely based on my assumptions.

A friend asked me how many RSS subscriptions this blog has. I got hooked up by how to count them. I googled a bit and I could only find referencing FeedBurner. But it seamed to much work to go through. So here's my simple estimate (which might be very very wrong).

First I wanted to see how many times the RSS link was accessed in the last month in my Apache logs:

$ grep index.rss access.log | wc -l

Then I wanted to divide these entries by IP addresses:

$ grep index.rss access.log | awk '{IP[$1]++;} END {for(s in IP) print IP[s], s;}'

Count them:

$ grep index.rss access.log | awk '{IP[$1]++;} END {for(s in IP) print IP[s], s;}' | wc -l

Count those with only one entry (write all command in one line):

$ grep index.rss access.log | awk '{IP[$1]++;} END {for(s in IP) print IP[s], s;}' 
      | awk '{if ($1==1) print $1,$2}' | wc -l

If these people check my blog once a day and a month has 30 days this would give me 4 people dynamic IP's as DSL dynamic IPs change once a day. Mobile IPs change with every connections and some people access the blog more than once a day. So all IPs that have accessed the RSS between 2 and 10 times (80% only 3 times) should be counted as the above.

$ grep index.rss access.log | awk '{IP[$1]++;} END {for(s in IP) print IP[s], s;}' 
       | awk '{if ($1>2 && $1<10) print $1,$2}' | wc -l

And there are another 17 IPs that belong to counts between 9 and 99 which I'd add here (if for example their RSS reader requests RSS feed once an hour or more). This is  137+56+17/30 approx 7 users with dynamic IPs

Some IPs have a count of more than 100 (some even more than 500) which might be RSS readers often checking the RSS address during the day from a fixed IP. So every IP that has a count of more than 100 counts for one user.

$ grep index.rss access.log | awk '{IP[$1]++;} END { for (s in IP) print IP[s], s; }' 
       | awk '{if ($1>100) print $1,$2}' | wc -l

This would be now 7+16=23. And because this sounds to much to me I'd divide it by 2 and get approx 11 users that read my blog through RSS feeds (me included).

But I might be entirely wrong with my guessing. Let's see what has the world say about it in comments.

PS: Google analytics counted 400 unique visitors in the last month.

Bateries and cables

A week ago a news about the new MS patent was circulating the web: Microsoft Enables Batteries To Be Inserted in Either Direction. Which is nothing more that a sophisticated battery terminal for cell batteries (AA, AAA, D, C) which I recall being suggested before; we as kids were trying to do a similar thing. And for many people it would be much easier to insert the batteries with no hassle and need for glasses and no worries to make mistakes and break appliances. Reading small + and - signs on batteries and on appliances where signs are usually the same colour as the surrounding plastics and engraved is really a nuisance. But sadly I have read many comments how this feature is useless.

Similar products that could be plugged or inserted in any way or that can not be plugged or inserted in wrong way already exist. Some cordless phones could be placed in a holder in any position. Their bottom was round and the charging connector was round as well. Most of present cordless phones allow to be placed in a holder only with a keyboard facing the user - but placing the phone is still easy. I do remember one of my phones that was often left on a holder in a way that contacts for charging batteries did not touch those in a holder - often the phone was discharged and I realized this only days later - a real bad design! A lot of electrical tools have batteries that can be inserted one way only but are easy to plug as well (with huge connectors and with one battery only and not few equal in a roll).

Other easy-to-plug examples are cylindrical DC connectors that can be inserted in any imaginable way (imagine Nokia's phone charger or a charger for most laptops). There are others DC connectors which can be connected in only one possible way. While later don't allow users to make mistakes, former are also easier to plug!

Some audio connectors are a good example of a good design. TRC or audio jacks are easy to plug (only one possible way). RCA or cinch are also easy to plug but there are always two colours (red and white) which have to match sockets (and even if sockets don't match sound still works). While the same connector for video signal has only one (yellow) plug. These are simple to plug. But there are other audio/video connectors with thin pins that can get easily twisted like DIN connectors and are hard to plug in as well! Similar to these (regarding pins) are VGA, S-video (DIN), DVI, SCART and similar video connectors that have to be carefully inserted in a socket because their pins can get easily twisted. Improved video/audio connectors are Firewire and HDMI. They also can't be plugged in any possible way but are much more robust.

AC power connectors can also be inserted only in one (e.g. British power plug with three rectangular pins) or two possible ways (e.g. European power plug with two round pins) but at least their pins are more robust (but I already managed to twist e.g. US power plugs and I broke many Europeans plugs).

I could go on but I think I made my point. Easy-to-use-and-make-no-mistake holders/batteries/plugs do make sense (even if some claim that +/- position is not hard to understand). Easier plugs we have, less hassle is needed to use them. What it bothers me about this patent is that such things should be widely accessible and not patented.

When backup software fails (Time Machine)

It is very important to have daily/weekly/monthly backups of own information. I know many people realize the importance of backups only when worst happens - disk failures and a lot of studies show that users do not pay atention to this particular problem until they have to face it. A long time ago I used to monthly or even less frequently burn DVDs of files I assumed I wont need them for a long time (see the About this blog part). And I recall searching through DVDs to find a particular file which can take a long time. In present times I don't even burn my photos to DVDs anymore. There are so many now that if I wanted to show them to someone I had to scan a pile of DVDs. With cheap hard drives I keep them on two computers and an external drive. Three copies should suffice and I do my copying manually every time I empty cameras' memory cards.

I use rdiff-backup to do backups of my laptop to a machine at work to a NTFS partitioned disk. It fails sometimes (due to NTFS disk) and I do have to rebuild the whole backup from scratch. Rdiff-backup never failed me in 7 years when doing backups of ext partition (my desktop machine) to another ext partition (external drive). Once in a while I remember checking the logs and so far so good!

I'm also using the Time machine to backups of my laptop at home. So far I thought that Time Machine can't fail since so many people praise it. It hasn't failed me so far backing up on a USB external hard drive and I do have 200GB of small files. But it might have some issues if used over the wi-fi (Time Capsule) or if it is stopped due to hibernating/sleeping. If having issues with these three cases:

(i)  TM is still saying ‘preparing’ after leaving it overnight!

(ii)  TM starts to transfer to disk, but then gets stuck part way:

(iii)  if you look in the Time Machine preferences it says the backup has failed

then check out this tips.

Checking regularly if a backup software works is AS important AS backing up itself. So many people think that with setting up an automatic backup procedure they have dealt with the job forever. But it often isn't the case. Even the best backing up software (whichever this is for you) can fail!