June 18

Cubed Mail

Posted by Bryan Clark . Filed under mozilla | 6 Comments

Lately I’ve been working a lot on the Thunderbird add-ons developers user experience.  Often times designers don’t get to work on developer experiences because developers tend to do those pieces themselves without much design.  With a lot of others I’ve spent a good amount of time working on the whole experience of development, docs, and extension types so hopefully the Thunderbird 3 add-on developer experience will be significantly better.

To get into the user experience of an add-on developer I recently made a Jetpack, Bugzilla Air Traffic Control, to examine what it is like to develop inside Jetpack.  I’ve also been creating a number of example extensions that take advantage of the new code that has landed in Thunderbird recently and learn the pitfalls of extension development.

So in honor of the hacks.mozilla.org recent article called 3D transforms in Firefox 3.5 – the isocube I added a similar hack to my tabbed message example extension.  I give you…

Cubed Email Messages

messages-in-a-cube

To demonstrate the awesome interactiveness that I didn’t add to my email extension I also have a pure HTML demo available.   Try out the email cube test demo for yourself.  This demo requires Firefox 3.5, go get it if you don’t have it.

If you’re asking “why email in a cube,?” then I’ll ask you why not?  This demo reminds me that Thunderbird has all the same Firefox goodness that’s coming out in 3.5 but we have yet to take advantage of much of it.  Hopefully as we make more progress in the coming months we’ll do just that.

And if you’re asking yourself… Is this what Bryan gets paid to do?  Well then we’re asking ourselves the same question; though I don’t think I’m referring to myself in the third person.

June 8

The pattern is not full

Posted by Bryan Clark . Filed under mozilla | 15 Comments

This past Friday I made my first Jetpack and on Sunday while lazily waiting for chores to finish themselves I posted my Jetpack on userscripts.org.

Bugzilla – Air Traffic Control

For Jetpackers a mid-air collision is an especially scary thing.

Mid-air collision!

So this Jetpack does a pretty simple thing to help you avoid the mid-air collision by notifying you before it’s about to happen.

Mid-air collision warning

For every tab you have with a bug open this Jetpack does a simple check in the background to see if someone else has modified the bug while you were looking at it.

Code

The code for this is pretty simple and in total it probably took me only an hour to get up and running and then a bunch more time polishing things off.  Here’s the break down.

I have a simple regex to find urls that are showing a bug:

var show_bug_regex = /^https:\/\/bugzilla\.mozilla\.org\/show_bug\.cgi\?id=(\d+)/;

Then I check if the url matches whenever a new page is loaded in a tab:

jetpack.tabs.onReady(function(doc) {
  // here we setup our persistent check
  var match = this.url.match(show_bug_regex);
  if (match) {
    init(this);
    this.bug_id = match[1];
    startCheckingTab(this);
  }
});

Also for good measure I do a similar check when a tab is focused, in case the Jetpack wasn’t installed or running during the original load.

jetpack.tabs.onFocus(function() {
  // here we just double check out status
  var match = this.url.match(show_bug_regex);
  if (match) {

    /* if we've already notified then we aren't checking anymore */
    if ( alreadyNotifiedTab(this) )
      return;

    if ( ! areCheckingTab(this) ) {
      // they focused a url match that we haven't been checking!
      init(this);
      this.bug_id = match[1];
      startCheckingTab(this);
    } else {
      resetCheckingTabInterval(this);
    }
  }
});

The start checking function simply runs an ajax request against the bug on an interval.  All that was needed for this was to know if the bug had changed from the last time we looked so we build a url that only retrieves the delta_ts field to create a Date object.

"https://bugzilla.mozilla.org/show_bug.cgi?id=" + bug_id +  "&ctype=xml&field=delta_ts";

That’s about it.  If you want to check out the source or install it yourself you can go to the Bugzilla – Air Traffic Control page at userscripts.

May 22

The power of defaults in our choices

Posted by Bryan Clark . Filed under Design | 3 Comments

My bus ride home trippled in time last night because of some construction so I had the opportunity to watch this TED talk.

This really drove home the power of defaults in user interface choices and how it is the responsibility of good designers to default to the right behaviour, especially when the options are complex.

<img src="http://images.ted.com/images/ted/tedindex/embed-posters/DanAriely-2008P.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=548"/>

Dan Ariely asks, Are we in control of our own decisions?

May 14

Negotiate with your users

Posted by Bryan Clark . Filed under mozilla | 8 Comments

I always advocate against simple (and especially modal) dialogs in user interfaces because they aren’t there to help the user get past the problem, more like work through the emotional issues the software is having.

Dialogs aren’t the real evil, though they usually aren’t great, it’s the lack of real negotiation.  In the book Getting to Yes it states that you “Make emotions explicit and acknowledge them as legitimate…”, however don’t stop there.

Acknowledge Me!

A useful dialog would negotiate with your users.  Give them actions and power to change their situation.  Don’t ask users to acknowledge your troubles and stop the negotiation there.  ReconnectTry Again!  Even simple actions can help people correct the situation.

May 11

question: dualbutton css

Posted by Bryan Clark . Filed under mozilla, questions | 4 Comments

How do you make the dualbutton always appear like the last two sets of screenshots (as it does on hover)?

I’m looking to make dualbuttons always show their dropdown button with a real button like look.  This dualbutton reply button is  going to land in Thunderbird 3 soon and I’d like the style to look correct for both Linux and Windows (Mac is using its own button style).

dualbutton-dropdown-hover

However this doesn’t appear to be some kind of toolkit CSS hover issue. The windows CSS is decidedly worse than the Linux right now so that may be a separate issue all together; and if so we can attempt that in the same way we handled the Mac.

Hints, answers, and the like are greatly appreciated in the comments.

April 2

Testing RTL in Thunderbird

Posted by Bryan Clark . Filed under mozilla | No Comments

For bug 484166 we’re moving away from the old search icon  to the newer Firefox search icon .  Included in this change we need to ensure this icon works for RTL as well as LTR.   With bug 481860 offering a way to use css to transform the image I just needed to test that the transform works.

Here are some notes I have from my limited experience working to test application UI in both LTR and RTL.  Please drop a comment if you have better experiences, I’d love to be able to save a bit of time.

GNOME RTL

In the GNOME world to do a simple test of an RTL language you could start up the application with the LANG environment variable set to an appropriate language.  For instance:

LANG=he_IL eog

LANG=he_IL eog

Thunderbird RTL

With Thunderbird I’ve found a number of options to make this happen.

The UILocale flag can be added your command arguments.

thunderbird -UILocale he

However Thunderbird, as compiled from hg, or download nightly likely doesn’t contain the translations needed to run that test successfully.

For the nightly build you’ll want to grab a translation XPI from the comm-central-l10n nightly builds.  You can drag any of those XPI links into the Thunderbird add-on manager window to install them.  (saves a bit of time compared to downloading and installing)

For your compiled builds the process seems a bit longer and more difficult getting the translations from l10n-central built in.  I gave up half way through as there is an easy method out there already, at least for simple testing.

Force RTL Extension

An easy alternative approach is to use the Force RTL extension, which I only just found out about today.  The extension provides an option in the tools menu to trigger RTL mode, which is really a lot better than trying a language you don’t understand.  If all you need is to test layout in an RTL this works really well.

March 25

Earth Hour Wordpress Plugin

Posted by Bryan Clark . Filed under mozilla | 1 Comment

I just installed the Earth Hour plugin for wordpress.  So if you’re trying to read my blog this Saturday during Earth Hour you’ll be getting less pixels than normal.

Earth Hour 2009

After which transmission will continue normally, the same spotty and random posts as ever.

March 19

Thunderbird 3 beta 2

Posted by Bryan Clark . Filed under mozilla | No Comments

It’s been a little while since the release of Thunderbird beta 2 and today we’re automatically offering the upgrade to all our existing alpha and beta users.

thunderbird-logo

Upgrading from Previous Development Releases

At 12:00pm today (12:00 PDT) updates will start to be picked up by Thunderbird Alpha and Beta users.  In the following 24 – 48 hours you should be offered the update if you’re running a previous development release.

Alternatively, you can pick it quicker by going to the menu, selecting Help and then “Check for updates…”

Take a look a the Thunderbird 3.0 Beta 2 Release Notes for more information, we have one additional note for POP3 users.

March 2

Budget Customer Experience FTW!

Posted by Bryan Clark . Filed under bdubya | No Comments

Budget Truck rental of Canada has some special promotions available when you reserve via their web site.

However you actually can’t reserve trucks via the web site.  You have to call the locations.

When you call the location it goes something like this.

  • You: I would like to reserve a truck for next week.  I have a coupon from your site.
  • Them: Next week is no problem.  However the coupon is only for online reservations.
  • You: Oh, I couldn’t reserve online; it said there were no places available.
  • Them: No you can’t reserve online, only via phone.
  • You: So…
  • Them: So next week is all set!

February 17

Design by Committee

Posted by Bryan Clark . Filed under Design, mozilla | No Comments

I like to look at this painting every so often to remind myself how things can go so wrong even when they seem like they are going right.

If you haven’t seen this image before, the description of the project is amazing.  An effort to find the “People’s Choice” art award a market survey queried respondents from around the globe on what aspects of art they enjoyed.

Results were tallied for various countries and “The Web”, the paintings were created to spec with total disregard for an overall vision / goal / theme and the results are completely unappealing.  I originally found this site via the excellent email on Design from Dan Winship of years back.

U.S.A. - Most wanted Painting

Design & Choice

I was talking with someone about Design about a year ago and we go into the topic of choice vs. decisions, we debated this.

Committees make decisions

Making decisions is the process of evaluating and understanding the options from various possibilities and then merging and pruning the list of possible options until only 1 option remains; which could be a hybrid of the original possible options.

Design makes choices

Making choices is the process of evaluating and understanding the options from various possibilities, then selecting one of the options.  The design process suggests that this selection be iterated on and further choices made.  Part of design choices means knowing that other options are valid but possibly lack a clear expression or vision.

Decisions vs. Choices

The difference between choices and decisions is subtle , some of it has to do with the quality of your ingredients and some of it has to do with compromise at the wrong stage of development.  Is the process all that matters?  A process that is used to constantly create new possible options and choose from those instead of making Frankenstein out of the options given?  The design process will constantly emphasize the goal in the iteration of options leading to a choice.  I don’t think that definition clear, but it’s the best we came up with.

Allowing More Choice

If design requires choices that defines a vision and other designers incorporate that design with their own vision…  How do we create this space where design can make choices according to a single vision and still allow other designers [1] to continue making further choices toward their own vision?  And further, how do you have a meaningful community other designers can make their own?

[1] As in, “Everyone is a designer”, by choice or by accident.

January 19

Looking at User Experience for Thunderbird 3

Posted by Bryan Clark . Filed under mozilla | 1 Comment

Over the past year the Thunderbird platform has received a large number of updates, however it is also seeing a number of improvements to it’s over all user experience.   In a recent email I tried to write out some of the major improvements that are in the works for the next bird release, here’s a summary of that mail.

Search

With some needed changes to the Thunderbird platform it has become possible to provide efficient full text search over messages and their headers.  This will enable Thunderbird to offer a much improved search experience over the previous search methods.  Search can start over the full text of a message and then be filtered against specific attributes like sender or subject to narrow down the set of results.  We can also offer auto-complete on subjects and people in the search entry to help prevent spelling mistakes and partial matches from slowing down the search process.

Tabs

We’ve been doing a lot of thinking about how people use tabs which lead us to a tab mail implementation that should improve searching, reading, and processing; hopefully also saving that state.  Currently a search over mail will destroy the state of your message list by filtering down the messages in the exposed view.  With searches opening in new tabs your current view can remain intact while you explore your mailboxes in new tabs.   Messages can be opened with a middle click, just like in Firefox, to help you process mail quickly by queuing the messages you’d like to read later in tabs; later you can close your opened tabs as you read each message.

Account Auto Configuration

When trying to setup Thunderbird the details of your email accounts host, port, and security settings are so 2008, lets evolve.  Long in the works has been a better, easier way to setup an email account.  Our design goal was to get an email account setup with absolute the minimal number of questions.

  • Name
  • Email Address
  • Password

With those 3 items Thunderbird can infer all other details automatically, with exception cases handled gracefully.  It has been difficult work to make this happen, but we are well on our way and we know that when we finish it will have been worth it.

Message Archive

Thanks to the recent improvements to enabling cross-folder search we are able to implement an archive system for IMAP and  POP clients.  With a single button Thunderbird users can automatically file messages from their Inbox and other folders into the archive folder system.  We’ve pushed the Archives folder into the list of special folders such that it will sort with your Inbox, Sent Mail, and Drafts.  If you’re interested, take a look at the archive bug for more of the technical details, otherwise just take a deep breath… its coming.

Activity Manager

Notifications and download progress concerning your mail accounts are important events, however they aren’t events that require your full attention.  Earlier last year we looked at how we could reduce the amount of dialog noise Thunderbird generates in order to handle your account details in a more civilized manner.  We took a good look at the Firefox Download Manager and created, what we called, an Activity Manager.   Recent activity on the activity manager has lead to new patches in the review cycle headed toward a coming release.

Theme Improvements

With recent steps forward Thunderbird has finally made room for the Linux Desktop theme space.  I don’t even need to say much else about this change, this list says it all.

And of course lots more

There are many more changes, from the auto-sync offline work to preference cleanups that have happened and/or are still in the works; this list is just a grouping of major areas.  We’ve come a long way, but have an even longer road ahead.

January 12

Is George W Bush the worst president?

Posted by Bryan Clark . Filed under mozilla | 1 Comment

I’m eagerly downloading the latest Intelligence Squared debate, Bush 43 is the worst president of the last 50 years.  What makes this especially interesting to me is the fact that Karl Rove is participating in the debate the panel, arguing against the motion.

December 12

Activity Manager… Activity!

Posted by Bryan Clark . Filed under mozilla | No Comments

It’s been a while since my first post on the Activity Manager for Thunderbird.  There was a lot of positive feedback from an Activity Manager talk we gave in Barcelona for the EU Mozcamp.  And since that time there has been quite a bit of progress on the Activity Manager code.

Emre recently landed a new “work in progress” patch ( check out the patch in bug 257942 ).  Also there has been a lot of work put into documenting the Activity Manger Interfaces to help other developers properly hook into it and use it.  Please take a look over the interface docs and if you’re so inclined you could grab the patch and apply to a current release, beta or later, to see the current activity manager in action.

Beta 1 Released

David Ascher has a great post about our recent Thunderbird 3 Beta 1 release with info on where you can get it and what it involves.

December 4

This bird can dance!

Posted by Bryan Clark . Filed under mozilla | 14 Comments

Thunderbird can finally do the Tango

For a long time Thunderbird has been using the same theme for Linux and Windows, resulting in an ugly and out of place Linux theme.  However now Magnus has a patch is up to create a gnomestripe theme space.  Magnus already moved Thunderbird menus over to using the gtk stock icons.

Here’s a screenshot (courtesy of Michael Monreal) of Thunderbird using the desktop icon spec.

Now we can start the move over to using the Tango icon set!

October 9

Thunderbird Tab Session Restore

Posted by Bryan Clark . Filed under mozilla | 26 Comments

The new Thundertab has (partially) landed in the nightly builds of Thunderbird.  You’ll need to get Lightning installed to see all this and it’s not too pretty yet, but we’re making lots of progress.

But there’s no time to lose!  We’re already talking about how to handle tab session restore to keep all your opened mail tabs around for future sessions.

I’ve put up a partial mockup already, but it’s still early.  As always please leave comments below!

September 25

Thunder-tab

Posted by Bryan Clark . Filed under mozilla | 14 Comments

I’ve been experimenting with how we can use tabs inside Thunderbird.

Thunderbird Tabbing

The previous tabbing post already discussed how tabs help people to keep their current context and multi-task more flexibly.  I’ve created a number of designs that look into using tabs in Thunderbird so email users can have the same kind of power over their context.

In Tabs By Default

To keep your current context of email reading, searches will open up in a new tab by default.  Such that anytime you’re in the All Mail tab and start a search the results will open in a new tab.  Opening up the Calendar, Tasks, and Contacts will also open up by default in a new tab as well.  Tabs will need to be fast to open.

Tab Shortcuts

Much like you could want quick bookmarks to open up the web pages that you access frequently Thunderbird needs a way for users to open up different types of tabs that are unique and used frequently.

Shortcuts

Tab shortcuts allow us to offer a default set of tab locations that users may want to open.  We can also offer this location up to extensions to enable them to add in their own shortcuts for items like CRMs, Thunderbrowse, and other elements that would want to be opened up in tabs.

With shortcuts we should also focus on some ideas for preventing people from opening up too many tabs of the same interface.  Perhaps something that (on mouse over) shows you the other tabs of that type already opened.

New Tabs / Summary Views

Sometimes you just want a new tab to start fresh, there are lots of reasons to start a new tab. For this we have a new tab button that allows Thunderbird users to open a new, empty tab.

New Tab Button

Upon opening a new tab Thunderbird could just show a blank page and focus the search bar.  However it would probably make more sense to use the opportunity to open up a summary view page while the search bar is focused.

This summary page could use the widget system that Spicebird uses or just give a static summary of your mail, events, and tasks.  Adding in items for recent searches could be good as well.  Pulling information from places like whoisi about my contacts could be another interesting element to this summary page.

Progress

There’s still lots of work to be done and issues to understand; this design work isn’t finalized.  For tracking the Thunderbird tab work that’s planned for Thunderbird 3, see bug 21899 where I’ll be posting more comments and designs.  Comments on this blog are always appreciated as well.

September 3

How to steal from a Fox

Posted by Bryan Clark . Filed under mozilla | 3 Comments

Interface design is hard work, so it’s really nice when someone else has done much of the heavy lifting for you and left their labor open to cherry picking.  :)   The Mozilla platform has been getting a number of upgrades in large part due to the work of the Firefox team and thankfully I have no shame in stealing the work of our compatriots.  Here’s how you can do it too.

What to Steal

I started in the Preferences area because we (TB & FF) share many of the same mechanisms used to change preferences.  Also it’s difficult to get preferences done right so it’s nice to be able to take all the hard work someone else did there and make it our own.

In Bug 451620 — “Remove the Advanced Preference for Connection timeout” we are cleaning up a preference mostly used for debugging and therefore doesn’t really belong in the main interface.  While working on the patch I took a look at FIrefox’s preferences to see what they were doing in that area and noticed they have the exact same preference, but it looked cleaner and nicer.  So I took it. :)

In Bug 452711 — “Use firefox default font chooser for display” I wanted to improve a users ability to change their font preferences.  Currently Thunderbird requires a user to change fonts with the daunting font dialog now available from the Advanced button.  In making this patch I went straight over to the Firefox font preferences and ported it over to our code.  Again, I have no shame about taking this either. :)

How You Can Steal Too!

Stealing code for preferences is easy, so easy, that I (not a programmer) can do this in a fairly short amount of time.  It only takes a reasonable knowledge of HTML/XML (XUL can help) and Javascript.

There are lots of this kind of preferences work to be done and it’s a great way for a new person who wants to submit a patch into the codebase to get a sense of the process.

Here’s a step by step on how I’ve been borrowing their code such that anyone should be able to do it.

Step 1 – Source Code

Get the source code from steps in the Comm-Central source code wiki page.  This step takes a little while as it downloads all the necessary components to build Thunderbird.

Step 2 – Initial Build

Build Thunderbird initially, you should only need to build it entirely once.  Follow the steps to create your .mozconfig or you could just try mine, which gives you a debug build.

export MOZCONFIG=~/tbsrc/comm-central/mozilla/browser/config/mozconfig
. $topsrcdir/mozilla/browser/config/mozconfig
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/tbird-debug
mk_add_options MOZ_CO_PROJECT=mail,calendar
ac_add_options --enable-application=mail
ac_add_options --disable-optimize
ac_add_options --enable-debug

Then run the build command as they describe.  Now go get some coffee or something.

Step 3 – Start Stealing

Time to start stealing!  Move into the Mail Preferences code and open up one of the files (check out Prime Places to Steal for ideas).

(from src)
cd mail/components/preferences/

Then at the same time go into the Firefox preferences and open up the preferences file that has the component pieces you’re looking to steal.

(from src)
cd mozilla/browser/components/preferences/

Step 4 – Building Your Theft

Now as you viciously swap pieces from the Firefox preferences over to Thunderbird preferences you don’t need to rebuild the entire Thunderbird source code, just the preferences component you’re changing.

Move into the preferences component on the build directory.  (this assumes you have a tbird-debug directory, which you’d get if you used my .mozconfig file)  There should only be a Makefile in this directory so type “make” and it will build up the preferences component.

(from src)
cd tbird-debug/mail/components/preferences
make

If you were to change any of the strings (preferences DTD files) used in the DTD that the XUL file references then you’ll need to rebuild the locales jar, which is just as easy.

(from src)
cd tbird-debug/mail/locales
make

Step 5 – Testing Your Theft

Now you’re ready to run your new version of Thunderbird!  You’ll likely want to create a different profile than your normal profile.

(from src)
./tbird-debug/mozilla/dist/bin/thunderbird -P test

Common Gotchas I Encountered

Here are some common errors I hit that were annoying to work through.

Parse Error: If you add code with references to DTD entities ( often labels like “&colors.label” ) that don’t exist you’ll get a parse error that’s pretty difficult to understand.  Check that your DTD has the correct entity ( <ENTITY colors.label “Colors:”> ) and that you’ve built the jar from the locales directory.

Adding New Files: If you’ve added new XUL and DTD files you’ll need to add references to those files in the “.mn” file.  Don’t ask me why!  I just work here.  See the preferences jar.mn and the locales jar.mn files, the format is pretty obvious.

Prime Places to Steal

Bug 451599 — “Add preferences UI for disk cache size and clearing the cache“.  To implement this bug you really just need to grab the Firefox Preference code from line 221 to line 233 and copy it just after line 216 of the Thunderbird Preferences code.  You’ll need to poke around at the related Javascript code for hooking it up.   And don’t forget to copy the strings from Firefox advanced.dtd file into the Thunderbird advanced.dtd file.  See, no shame at all!

Another one is the continuation of Bug 452711 — “Use firefox default font chooser for display” where you can copy over the color chooser.  First apply the patch provided in the bug. Copy the Firefox colors.xul file over to the Thunderbird preferences directory and the colors.dtd over to the Thunderbird preferences locale directory. Don’t forget to update both jar.mn files (and build the jars) as mentioned in the Gotchas section.

Then have a look at the code for the Firefox Content Preference and grab the row from line 195 to line 201, the button which launches the color chooser dialog.  You’ll also need to grab the content.js configureColors function and add it to the display.js code.  Don’t forget to change “chrome://browser/…” to “chrome://messenger/…”.

Making and Submitting Your Patch

Once you’ve made your changes and tested them out you’ll want to open a new bug, and upload your patch to that bug.  Use the hg diff command to make your patch, I generally do something like this.

hg diff --git > ~/Desktop/stealing-ff-preferences.patch

Make sure the new bug is against Thunderbird Preferences, use this link to get the product/component entries correct, and attach your patch along with that new bug.

Don’t forget to CC me on that bug!  Use my email: clarkbw at gnome . org

Legitimate Sharing

Stealing isn’t right.  It’s not that we want to copy all this code, which can create known issues of code sharing.  However I defend this especially for something like the preferences UI which goes under a considerable amount of churn each release; making it difficult to place those elements in a lower layer like toolkit for optimum sharing.

Once we’ve played catch up for a bit I hope that Thunderbird can start sharing code back as we create new improvements on the current systems.

August 29

A Cure For Real Estate Amnesia

Posted by Bryan Clark . Filed under bdubya | 1 Comment

Mr. Unger of The Unger Report has outdone himself this time.

“…Real Estate Amnesia (REA) is the leading cause of real estate anxiety, next to homelessness and foreclosure…” – A Cure For Real Estate Amnesia

August 21

What are Attachments?

Posted by Bryan Clark . Filed under mozilla | 8 Comments

Should links inside emails be considered attachments?  In the technical sense of an email (like rfc 2183) links wouldn’t be considered a different content type.  The question isn’t whether they are technically attachments as much as if they should be attachment-like in the user interface.

Facebook

Facebook handles links in a message almost like an attachment-object and will do some additional meta work on the link to provide a default photo and short description for it.

In the message list view Facebook offers an icon to note that a link attachment was included in a messages.

In the composition view Facebook also grabs links from inside the message and shows them separately as an attachment like thing.  In the screenshot below the composition window grabbed the link inside my message and pulled down a description and number of photos from the site.


link detected in the composition area

This kind of meta data around a link can be really beneficial.  The presentation of the link is better than a person naturally would and since it’s the information is retrieved automatically it only takes extra seconds  to make sure a good image and description appear.

Beyond just the benefits of better presentation is another hot topic in the Thunderbird world of offline support.  When reading mails offline it’s far better to have a more context about the link than none at all.  Even if I can’t bring up the link in an offline state the image, description and comment can help me to recall what the link is about.

Gmail

When you’re using the rich editor for composing a message in Gmail and create a link it has some nice features for recognizing a link and helping you edit it.  Here are some screen shots of what Gmail is doing right now.

Popup indicates the link has been recognized in compose window

Editing a Link

Alternatively Editing an Email link

Pretty straightforward and simple stuff when compared to the extra things Facebook is doing.  Gmail doesn’t add meta-data about the links or make their inclusion visible in the message list.

Links as Attachments

If in Thunderbird we wanted to start treating links more like we treat attachments…

  • How do we present that to the user?
    • Both in terms of composing messages and when receiving links in messages.
  • Do we grab meta data for links sent to us?
    • assuming some kind of policy about what links we can do that with
  • And should we be making links available somehow in Firefox?

August 21

Visual Field of Dreams

Posted by Bryan Clark . Filed under mozilla | 8 Comments

Not more baseball

I’m wondering what is the optimum visual field or display size for reading on a computer screen?

I haven’t been able to find an easy answer to this question for a number of reasons and what I’ve found for research indicates many conflicting studies.  One difficulty is that you have to really define what optimum means.  Are you optimizing for speed, comprehension, or satisfaction?  Also the size of the documents you are reading can change the optimizing factors for presenting it.

So here’s a compilation of research papers that I’ve found related to the Visual Field, Optimum Display Size, whatever you want to call it problem.

The Effects of Line Length on Children and Adults’ Online Reading Performance [ pdf ]

Adults were measured against children in 3 sets of line length for reading time and effective reading score yet no real differences were found.  What is interesting is the perceived results, only in adults found the narrow to medium line length (45  – 76 CPL – characters per line) to be preferred when compared to the full length (132 CPL).

The Effects of Line Length on Reading Online News [ pdf ]

Twenty college-age students were given news articles to read displaying in 35, 55, 75, or 95 characters per line from a computer monitor.  The results showed that passages formatted with 95 cpl resulted in faster reading speed with no effects for comprehension or satisfaction other than strong preferences for sizes.

The Effect of display size on reading and manipulating electronic text [ pdf ]

An attempt at more meaningful analysis of the effect of window size on reader comprehension and manipulation of “real-world” texts.  Participants were given journal articles for comprehension and a software manual for specific information.  Indications that screen size does not play a major factor in performance on either task and readers prefer larger screens. (no kidding!)

Reading and skimming from computer screens and books: the paperless office revisited?

Previous research made conclusions from the screens of the 1980s vs. paper, however when comparing against high quality CRTs speed and comprehension are equivalent.  However skimming on a CRT is still 41% slower than from a book, reasons for this finding are discussed.

Interface Design and Optimization of Reading of Continuous Text

A fantastic overview of a lot of different research that has taken place with breakdowns of key variable components of each experiment.  If you only read one paper this is likely the best one to get a handle on the situation.

Cited in several other papers but I couldn’t track down an available source for this paper.

Please leave comments for other related research articles, I’d love to be able to find more information on this topic.