After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 545678 - Make the contact list prettier
Make the contact list prettier
Status: RESOLVED OBSOLETE
Product: empathy
Classification: Core
Component: Contact List
unspecified
Other Linux
: Normal enhancement
: ---
Assigned To: empathy-maint
Depends on:
Blocks:
 
 
Reported: 2008-07-31 12:30 UTC by Patryk Zawadzki
Modified: 2012-06-24 14:57 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed changes (3.04 KB, patch)
2008-07-31 12:31 UTC, Patryk Zawadzki
none Details | Review
Screenshot taken after applying the patch (76.32 KB, image/png)
2008-07-31 12:33 UTC, Patryk Zawadzki
  Details
Better patch, this time does not introduce crashers (2.69 KB, patch)
2008-07-31 15:07 UTC, Patryk Zawadzki
reviewed Details | Review
Simplified prefs, apply on top of the other (29.17 KB, patch)
2008-08-06 22:09 UTC, Patryk Zawadzki
rejected Details | Review

Description Patryk Zawadzki 2008-07-31 12:30:34 UTC
The attached patch makes the contact list a much more pleasant thing to look at. See attached patch and screenshot.
Comment 1 Patryk Zawadzki 2008-07-31 12:31:13 UTC
Created attachment 115618 [details] [review]
Proposed changes
Comment 2 Patryk Zawadzki 2008-07-31 12:33:21 UTC
Created attachment 115619 [details]
Screenshot taken after applying the patch
Comment 3 Patryk Zawadzki 2008-07-31 12:45:51 UTC
In case you find the patch useful it still could use some love.

I don't see much use of the "hide avatars" option and would like to either merge the status icon with the avatar (as an emblem in the bottom right corner for all statuses other than online) or show it only for non-online statuses (a clock icon for away etc.).

Also currently hiding the avatar column somewhat breaks the readability (again, didn't try to fix that as I believe the avatars should always be visible - icons are better than text).
Comment 4 Alexander “weej” Jones 2008-07-31 13:13:21 UTC
I agree with these changes, and in fact I had done more or less the same for Gossip a while back but they were rejected.

I suggest that the avatars are too big. In my patch I had left the avatars the same size and just added an extra couple of pixels of padding.

I had also changed the text to be non-italic. Maybe see how that works out for you.

Alex
Comment 5 Patryk Zawadzki 2008-07-31 13:19:26 UTC
@Alexander:

Making them 32x32 kind of beats the purpose - all desktop icons are 48x48 by default and it's hard to see any faces on such small avatars.
Comment 6 Xavier Claessens 2008-07-31 13:43:06 UTC
Firstly thanks for your interest in Empathy and your contribution. I'm not completely convinced by that UI change but I'm not totally against neither...

I'm personnaly against mixing avatar with presence it make too difficult to distinguish the presence of the contact.

I don't see why the avatar should be bigger, the advantage of that size is it takes no more height than the 2lines of alias+presence. Saving Height is very important to not having to scroll too much to see contacts in the bottom of your list.

I'm not against swapping avatar and presence columns, but that should be configurable.

And finally that change can't happen before GNOME 2.25.x because we are currently in UI freeze AFAIK.

@Alexander: Could you link to the gossip bug please? Arguments there are probably still valid for empathy.
Comment 7 Patryk Zawadzki 2008-07-31 13:52:28 UTC
@Xavier:

As outlined above, it's hard to distinguish faces when squeezed down to 32x32. That's why I increased the size to 48 (to match desktop icons and Banshee's album browser). It's still easier to start typing and find the contact immediately than scroll to it and to make it more discoverable we could add a search bar at the bottom (and dynamically filter the contacts).

As for mixing avatars and presence - I propose to hide the presence icon for online contacts and only show it for other states where it is now (on the right side). Better icons would be needed as geometric shapes are hard to remember (a clock icon for away, an open door icon icon for xa, a chat icon for free for chat etc.).

I don't think it's a good idea to have the roster columns configurable. Especially if we want to reuse the widgets in other parts of the UI.
Comment 8 Patryk Zawadzki 2008-07-31 14:17:51 UTC
BTW: UI freeze starts on August 18th ;)
Comment 9 Patryk Zawadzki 2008-07-31 15:07:48 UTC
Created attachment 115624 [details] [review]
Better patch, this time does not introduce crashers
Comment 10 Xavier Claessens 2008-07-31 15:30:40 UTC
(In reply to comment #7)
> @Xavier:
> 
> As outlined above, it's hard to distinguish faces when squeezed down to 32x32.

I don't agree 32x32 is too small. I can perfectly distinguish my contacts with that size. If you want to see more detailed avatar just put your mouse on the line and the tooltip shows it in bigger size.

> That's why I increased the size to 48 (to match desktop icons and Banshee's
> album browser). It's still easier to start typing and find the contact
> immediately than scroll to it and to make it more discoverable we could add a
> search bar at the bottom (and dynamically filter the contacts).

With stupid aliases MSN contacts uses, typing the name doesn't help.

> As for mixing avatars and presence - I propose to hide the presence icon for
> online contacts and only show it for other states where it is now (on the right
> side). Better icons would be needed as geometric shapes are hard to remember (a
> clock icon for away, an open door icon icon for xa, a chat icon for free for
> chat etc.).

I disagree, green/orange/red are universal colors, green means "you can click, it's safe", orange means "be careful when you click, I'm working, so only important message", red means "don't click, I'm not in front of my computer so use your GSM instead". Geometric forms makes easier for the human eyes to catch the information. I prefer a fonctional application that does directly to the information I need than an application very eye-candy where I can't see what I want just with a quick look.

On the other hand, icons should be dependent of the theme you are using. I explained 4times to the author of the fd.o icon naming spec that we need at least names for states like busy,away,available,hidden,etc but he doesn't seems to understand... If you want other icons hit him hard!

> I don't think it's a good idea to have the roster columns configurable.
> Especially if we want to reuse the widgets in other parts of the UI.

I don't like adding more and more config options neither. But if we don't make it configurable I don't see why we should make that change, in that case I prefer just not touching the code at all...

Comment 11 Patryk Zawadzki 2008-07-31 16:24:42 UTC
32x32: they really are to small to recognize faces. Especially if your sight is not perfect. I believe that's why GNOME has 48x48 icons by default. Hovering over the avatar does not help when there are 200+ people online on your roster (I also find more vertical space adding to readability).

I find the green/yellow/red icons pretty much confusing when connected with these shapes. Compare them to road (traffic) signs in Europe to see the probable source of the confusion. I am a long time Empathy user yet I still have to memorize these symbols as my brain tends to associate them with something else. I'm not against keeping different colors and shapes. Just make the shapes meaningful (see above).

The main reason I see for keeping the avatar on the left is that it's the first thing to distinguish your contacts. In order of importance these are: avatar and name. The status icons is just informative and only matters once you find the person you were looking for.

As for the icons - you can add them to the GNOME icon theme. If KDE guys find them useful fd.o will have nothing to fight against.
Comment 12 Alexander “weej” Jones 2008-07-31 17:58:07 UTC
Here was my change.

http://spark.us.weej.net/~alex/list.png

I reverted the horizontal lines -- they were a total hack and looked bad IMO anyway. I also restored the default tree expander.

The status message text was made non-italic. Italic should be used for occasional emphasis, not for entire strings of text.

I wasn't really sure what I was doing with the status indicator there.

As an aside, I also had an Ungrouped Contacts thing, so that people you haven't bothered to tag with a group don't just show up at the top of your list in a non-collapsable section.

Xavier, there was no bug report. Martyn just didn't like it.
Comment 13 Patryk Zawadzki 2008-08-06 22:06:20 UTC
Marking first patch as obsolete, it was a crasher.
Comment 14 Patryk Zawadzki 2008-08-06 22:09:02 UTC
Created attachment 116010 [details] [review]
Simplified prefs, apply on top of the other

Removes the "show avatars" and "compact mode" options, simplify the code by removing now unused functions, reverse the expanders to follow GNOME
Comment 15 Guillaume Desmottes 2008-08-07 08:28:36 UTC
I'm not sure if I like these changes or not. Maybe it would be worth to send a mail to the usability ML and see what they think?
Comment 16 Patryk Zawadzki 2008-08-07 08:50:21 UTC
Guillaume:

Sure, all input is welcome. Maybe we should just CC them on this bug instead?
Comment 17 Guillaume Desmottes 2008-08-07 10:40:41 UTC
CCing usability guys as we'd like their advice on this proposal.
Comment 18 Dafydd Harries 2008-08-08 15:22:02 UTC
Patryk: the geometric shapes have the advantage that they are clearly distinguishable for users with limited colour perception.

I think for large contact lists, being able to filter using the keyboard is essential. Even if it doesn't work so well for MSN, it's worth the improvement it will bring to other protocols.
Comment 19 Jakub 'Livio' Rusinek 2008-08-08 15:57:45 UTC
Dafydd, isn't is simpler to move icons from Empathy into desktop icon themes? Then geometric shapes could land in special icon theme for users with limited colour perception and normaln icons could land in hicolor or GNOME icon theme.
Comment 20 Xavier Claessens 2008-08-08 16:15:24 UTC
Jakub: We need some more icon names in the fd.o icon-naming-spec for that, but the author don't listen to me... But that's obviously the solution.
Comment 21 Dafydd Harries 2008-08-08 16:18:03 UTC
Well, I also happen to like the geometric icons, so I support keeping them as default. :)

Perhaps there is something to the idea of not showing the status icon for online users in the contact list though; I'm not sure it's useful.

It would be good to have some input from some UI/A11y people on this — is there a standard way to request feedback from them?
Comment 22 Jakub 'Livio' Rusinek 2008-08-08 16:33:35 UTC
> Well, I also happen to like the geometric icons, so I support keeping them as
default. :)

The current icons are using Tango color pallette? If no, you need to announce that you want keep shapes even in new icons :> .

> Perhaps there is something to the idea of not showing the status icon for
online users in the contact list though; I'm not sure it's useful.

Galaxium messenger does this well. If contact is online, you see avatar and nick. If is away/dnd you see emblen on top of avatar.
Comment 23 Patryk Zawadzki 2008-08-11 09:26:55 UTC
As for icons I've filed a separate bug:

http://bugzilla.gnome.org/show_bug.cgi?id=547261
Comment 24 Matthew Paul Thomas (mpt) 2008-08-12 08:21:29 UTC
Most of my contacts never change their name, occasionally change their picture, and often change their status, and their status is more relevant to me than their picture. So when I browse the contact list I first look for a name (not a picture), then look to see what their status is. This would be quickest if the status icon was as close as possible to the name, which means (in LTR languages) immediately to the left of the name.

Having geometrically distinct status icons makes them easier to distinguish (especially, but not only, for color-blind people), and I don't see any benefit in having status icons that *aren't* geometrically distinct.
Comment 25 Patryk Zawadzki 2008-08-12 08:59:32 UTC
Matthew:

Because of the very same rule in LTR languages the status should be placed on the right side of the name. Your eye first catches the avatar, then name to ensure that's the person you were looking for, then the status to check if they are available.

Your version makes sense when dealing with an email client where you first check for any unread messages (status icon) only then to read the subjects (as these change with every message and are not some string you expect to find).
Comment 26 Matthew Paul Thomas (mpt) 2008-08-13 08:45:08 UTC
That would be true if all contact names were (1) nearly the same width, (2) right-aligned, or (3) cropped if they were long. In any of those cases, the status icon would immediately follow the name.

Unfortunately, (1) some names can get very long (especially in MSN) while others are very short, (2) right-aligning contact names in LTR languages would look weird, and (3) the column width isn't up to you (unless you make the window horizontally unresizable). So, the gap between the end of some names and a status icon to their right can be very wide.

Even long names are often recognizable by their first few characters without having to read the rest. So if the status icon was immediately to the left, the icon + name could often be taken in at a single glance.

This is the same reason, BTW, that checkboxes and radio buttons go to the left of their labels. Even though you need to read the label before you understand what the checked/unchecked status means, they're still quicker to scan on average if the label is to the right.
Comment 27 Xavier Claessens 2008-08-27 08:08:37 UTC
First of all, thanks for your contributions to Empathy.

About "Simplified prefs, apply on top of the other" patch:
I don't think this is a good idea, especially because the contact list store/view are used from other applications that need the compact mode. For example the store can be used inside a GtkCombobox where showing avatar is not a good idea. A use case for this is when you right-click on a file in nautilus, you select "Send to" and you get your contact list to select to who you want to send the file. So removing the gconf keys preferences could be an idea (I'm not sure myself) but surely not removing those properties from EmpathyContactListStore.


About "Better patch, this time does not introduce crashers" patch:
1) I agree with trivial fix, please create a patch only with those renaming (or use a git branch with commits I can cherry-pick):
-	/* Avatar */
+	/* State */
and
-		(GtkTreeCellDataFunc) contact_list_view_avatar_cell_data_func,
+		(GtkTreeCellDataFunc) contact_list_view_pixbuf_cell_data_func,
2) I'm not sure about setting "stock_person" if the contact has no avatar, I think a white space makes easier to catch users which has an avatar, stock_person does not help identifying the contact.
3) I'm not sure about making the avatar 48 instead of 32, as I said the avatar now has the same height than the alias+status which makes the contact list look more compact. I think the current size is enough to identify the contact and you have a tooltip with bigger size of you want to see more details.

In all cases this will have to wait for GNOME 2.25.x because we are in UI freeze.
Comment 28 Jean-François Fortin Tam 2012-06-24 14:57:24 UTC
The contact list pretty much looks like this these days. This 4 years old bug report needs to die, please file new ones if there are still some minute improvements left to be done ;)