Bug 301354

Summary: [Request] Gridview / avatar-only mode
Product: [Unmaintained] telepathy Reporter: FabiB <plusfabi>
Component: contactlistAssignee: Telepathy Bugs <kde-telepathy-bugs>
Status: RESOLVED INTENTIONAL    
Severity: wishlist CC: ddomenichelli, kde, me, mklapetek
Priority: LO    
Version: unspecified   
Target Milestone: Future   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description FabiB 2012-06-07 13:03:48 UTC
As long as I can think back, there are Messengers with endless long kontactlists. So it would be good to have a little inovation for this. There was a Project names "synapse xmpp" its was a xmpp bases Client with a really interesting kontactlist - Only avatars in a gridview and I love this thing. because many poeple got really stupid names on the List (look at the Messengerplus guys on windows Live) 

So you can see a screenie here: http://eric.extremeboredom.net/2009/03/15/336
another great idea with this gridview is here:
http://kde-look.org/content/show.php/Messenger+for+Netbook?content=129774


Reproducible: Always

Steps to Reproduce:
look at your contactlist
look 10years back at the list
Actual Results:  
the same.. nothing changed

Expected Results:  
we should make something new but good
Comment 1 Martin Klapetek 2012-06-07 13:09:41 UTC
Thanks for the idea :)

We have been thinking about something like this for some time now, the problem is with contacts that have no avatar, especially if you have lots of them, then it becomes impossible to know who is who in such grid. That's sort of why we abandoned this idea...
Comment 2 FabiB 2012-06-07 13:21:48 UTC
Ok this is right. maybe only as additional option? would it be hart to create (and maintain) this as option? or display a QR-code for people without image, no just a little joke. 
it would be good if we know how many people dont have a avatar, because everyone on my list has one.
Comment 3 Martin Klapetek 2012-06-07 13:40:59 UTC
> maybe only as additional option? would it be hart to create (and maintain) this as option?

Not really. In fact, it's just a matter of adding a view and changing it to an icon mode + plus hooking few things.

> or display a QR-code for people without image, no just a little joke.

We could for example paint name initials as an icon. So if I wouldn't have an avatar, I'd have [MK] icon as an avatar.

> it would be good if we know how many people dont have a avatar, because everyone on my list has one.

We can filter them out, yes. However it's not a globally applicable situation. I have several accounts, few of them have lots of avatars, few have ~10 (from 80 people). So this would be a usability problem.
Comment 4 Daniele E. Domenichelli 2012-06-07 13:48:14 UTC
I'm not really sure if I like it, anyway we could have an option to use default avatar, try to retrieve it from gravatar (using the email if it is set somewhere) or to use some automatically generated avatar (Identicon, Wavatar, MonsterID, ...). They are already used by activities so it shouldn't be hard to do it, and they should not change if the id used to generate them is always the same, so after some "training" you could be able to recognize your friends even if they don't have an avatar
Comment 5 FabiB 2012-06-07 14:29:18 UTC
> try to retrieve it from gravatar (using the email if it is set somewhere) or to use some automatically generated avatar (Identicon, Wavatar, MonsterID, ...)
that sounds fantastic and would help a lot in this cases. Even for the normal 'list-view' it could be good
Comment 6 Martin Klapetek 2012-06-07 18:18:25 UTC
That would work only for few account types, like GMail, possibly Yahoo! and msn. Gravatars are bound to emails and we can get email address only from those services (because the user names actually are emails).

Identicons are interesting idea, but I wouldn't really want to learn them by heart (keep in mind the amount of those can be a full list).

The avatar generated from username's initials is btw. also used on Nokia N9 where there are no avatars.
Comment 7 Daniele E. Domenichelli 2012-06-08 07:29:00 UTC
About gravatar you can use also data in the profile, so if the contact set the email in the email field, you can try to use that to retrieve the avatar. Moreover when one day we will have nepomuk integration and metacontacts you will be able to associate it manually to a contact list entry, and you can try any email associated to any contact (or use an avatar from another account), or associate a picture manually

The avatar generated from the username could work, but I think it will be harder to generate them.
Morever if you have a full llist of people without avatar, it is quite likely that you will get duplicates.
We could combine a generated icon with an overlay containing the initials...

Which initials are you going to use if your contact doesn't set both the avatar and the name?
Comment 8 Martin Klapetek 2012-06-08 07:50:39 UTC
> if the contact set the email in the email field, you can try to use that to retrieve the avatar

Sure, but these methods are still missing in tp-qt4. There is however a way to get that info yourself using some contact info class and combining it with the spec. But then again - I have never ever set my email to any of my accounts and looking at bunch of my friends (using official clients), neither did they.

> you can try any email associated to any contact

That indeed rises the chances of hitting a valid gravatar, but I'm pretty confident that none of my ordinary friends actually knows of this service (I didn't myself until I asked I think you last year). So using gravatar is possible, but the reliability is imho ~23%.

Do a little test - pick 10 of your friends without avatar and look for their gravatars using their emails (try using only those addresses you actually have) and try accounts like ICQ, AIM or similar, that are not associated with social networks (like GTalk or FBChat).

> The avatar generated from the username could work, but I think it will be harder to generate them.

Why's that? You simply take the initials and paint them in rectangle. Might be slower, yes, but question is how much (of course we need to cache them).

> it is quite likely that you will get duplicates.

That's true. Doing another quick test with my list of 99 people, I'd have ~5 duplicates with one having 4 duplicates (four people with MH initials), though only 3 people (of all duplicates) don't have avatars. Even without it still gives you rough idea of who that might be (while for example the identicon is just a big set of triangles, which is way harder to recognize than name initials; also keep in mind we're talking roughly about 16x16 pixels).

> Which initials are you going to use if your contact doesn't set both the avatar and the name?

He has to has at least a username. So for "mck182", you'd see "M".
Comment 9 Daniele E. Domenichelli 2012-06-08 15:24:58 UTC
(In reply to comment #8)
> That indeed rises the chances of hitting a valid gravatar, but I'm pretty
> confident that none of my ordinary friends actually knows of this service (I
> didn't myself until I asked I think you last year). So using gravatar is
> possible, but the reliability is imho ~23%.

I'm not saying this is "the way" to retrieve the avatar, but it might be a way retrieve some of them...


> > it is quite likely that you will get duplicates.
> 
> That's true. Doing another quick test with my list of 99 people, I'd have ~5
> duplicates with one having 4 duplicates (four people with MH initials),
> though only 3 people (of all duplicates) don't have avatars. Even without it
> still gives you rough idea of who that might be (while for example the
> identicon is just a big set of triangles, which is way harder to recognize
> than name initials; also keep in mind we're talking roughly about 16x16
> pixels).

Identicon is "coloured triangles", having a random coloured background (either using identicon or a random colour) with initials on the foreground could be an almost unique avatar

If you want a "grid" view 16x16 is way too small, imo the avatar should be at least 48x48


> > Which initials are you going to use if your contact doesn't set both the avatar and the name?
> He has to has at least a username. So for "mck182", you'd see "M".

This still fails for ICQ contacts, moreover having just 1 letter increases a lot the chance of duplicates
Comment 10 David Edmundson 2012-06-26 14:01:27 UTC
We have tried a grid type view in ktp-send-file. 

It works ok-ish here due to the much smaller volume of people being displayed, but it's not great.

I don't want to see the contact list changed.

If someone wants to do this, I want it to be done in the following way:
 - fork the contact list _applet_.
(rationale..it's simpler, does less and would be far quicker to change)
 - turn that into a grid view.
 - distribute it as a plasmoid on kde-look..or maybe even with us.
 - we will then review how well that works in reality from user feedback before making any other decisions.
Comment 11 Roman 2013-03-04 13:33:47 UTC
Oh. I used to see that in Trillian. Hell of a feature. Pictures grid is not quite handy though, but grid of tiles with avatar + name would be great. Contact tiles and metacontacts are two only things I really miss.
Comment 12 David Edmundson 2013-03-04 23:13:46 UTC
KTp can support multiple different contact lists with ease, therefore we shouldn't be trying to make our current one do everything.  It will be a problematic to maintain.

We provide all the components for making this, so someone could do this as a separate project, see comment 10.
Comment 13 FabiB 2013-03-04 23:18:56 UTC
Just an Idea, but can you support contact list styles in css(or qml)?  then we could simply style it, share it and you only have to maintain the standard list.
Comment 14 Martin Klapetek 2013-03-04 23:19:30 UTC
The contact list applet is done in qml.