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 640271 - Make conversation bubble look more like the mockups
Make conversation bubble look more like the mockups
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: message-tray
unspecified
Other Linux
: Normal normal
: ---
Assigned To: Dan Winship
gnome-shell-maint
: 647162 (view as bug list)
Depends on:
Blocks: 657077
 
 
Reported: 2011-01-22 16:38 UTC by maxx
Modified: 2011-08-26 13:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to stylesheet and telepathyClient notification (1.76 KB, patch)
2011-01-22 16:38 UTC, maxx
none Details | Review
The icon and the text are only partially visible in the banner mode (34.35 KB, image/png)
2011-01-24 22:51 UTC, Marina Zhurakhinskaya
  Details
The same chat example as in the mockup looks good (52.10 KB, image/png)
2011-01-24 22:52 UTC, Marina Zhurakhinskaya
  Details
Different length messages don't looks as good; messages that are too short look scattered and right-aligned messages from me don't wrap nicely (68.20 KB, image/png)
2011-01-24 22:53 UTC, Marina Zhurakhinskaya
  Details
The timestamp getting added on the right isn't right if some of the messages get added on the right (73.24 KB, image/png)
2011-01-24 22:54 UTC, Marina Zhurakhinskaya
  Details
The presence changes and timestamps need different styling (75.63 KB, image/png)
2011-01-24 22:55 UTC, Marina Zhurakhinskaya
  Details
improve styling of the chat window/bubble (3.07 KB, patch)
2011-04-08 17:39 UTC, Jakub Steiner
none Details | Review
layout changes (23.51 KB, image/png)
2011-04-08 18:17 UTC, Jakub Steiner
  Details
my immediate goal :) (26.38 KB, image/png)
2011-04-08 18:19 UTC, Jakub Steiner
  Details
messageTray: Remove indent on conversation bubble (3.91 KB, patch)
2011-06-05 22:09 UTC, Jasper St. Pierre (not reading bugmail)
reviewed Details | Review
telepathyClient: Add group containers (7.24 KB, patch)
2011-06-28 17:43 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
messageTray: Remove indent on notifications (4.24 KB, patch)
2011-07-13 19:01 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
telepathyClient: Add group containers (9.93 KB, patch)
2011-07-13 19:37 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
telepathyClient: Add our own translations for timestamps (2.22 KB, patch)
2011-08-01 22:28 UTC, Jasper St. Pierre (not reading bugmail)
committed Details | Review
telepathyClient: Add direction containers (8.45 KB, patch)
2011-08-01 22:28 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
patch - theme updates for chat input widget (plus smaller meta messages) (1.89 KB, patch)
2011-08-17 10:51 UTC, Allan Day
committed Details | Review
telepathyClient: Add direction containers (8.29 KB, patch)
2011-08-18 07:21 UTC, Jasper St. Pierre (not reading bugmail)
needs-work Details | Review
telepathyClient: Use sent timestamp instead of received timestamp (1.28 KB, patch)
2011-08-23 17:41 UTC, Jasper St. Pierre (not reading bugmail)
none Details | Review
telepathyClient: Use sent timestamp instead of received timestamp (1.28 KB, patch)
2011-08-23 17:43 UTC, Jasper St. Pierre (not reading bugmail)
committed Details | Review
telepathyClient: Add direction containers (10.84 KB, patch)
2011-08-23 17:46 UTC, Jasper St. Pierre (not reading bugmail)
reviewed Details | Review
telepathyClient: Add direction containers (8.90 KB, patch)
2011-08-24 16:01 UTC, Jasper St. Pierre (not reading bugmail)
committed Details | Review

Description maxx 2011-01-22 16:38:52 UTC
Created attachment 179043 [details] [review]
Patch to stylesheet and telepathyClient notification

Looked at the mockup here http://git.gnome.org/browse/gnome-shell-design/plain/mockups/static/conversations2.png and made some minor changes to try and bring the look more in line with that:

* Tweak the styling of chat-sent and chat-received to make it look more like the mockups.
* Double the icon size of the notification to make it look more like the mockups.
Comment 1 Marina Zhurakhinskaya 2011-01-24 22:49:37 UTC
I tried out this patch and there are a lot of design questions that it leaves open. We should make sure that the chat notification looks good in all cases before we commit the changes for the new look. I'll attach the screenshots to illustrated some cases I'm talking about.

1) How should the chat notification show up in the banner mode? The bigger icon is only partially visible due to the current height of the banner. The text is cut off too because it is centered vertically with respect to the icon.

2) How should the timestamps and presence changes be styles? Right now the timestamps show up on the right and the presence changes show up on the left. The timestamps showing up on the right for all messages conflicts with the messages from me that show up on the right. The current styling of timestamps and presence changes is too similar to the new styling of chat messages.

3) How should messages from me that are right-aligned wrap? As can be seen in one of the screenshots, the wrapping looks off now.

4) I'm not sure right-aligning some messages works out that well in general. The screenshot that is exactly like the mockup looks good, but short messages look odd. It's also odd to enter some short message in the box on the left and have it show up all the way to the right.

5) The notification sinks in a lot when you respond so that the text entry window becomes only partially visible. This is unrelated bug that I filed as bug 640484.

This bug possibly blocks on bug 636838. Jon wanted to to try to style the banner, expanded notification, and message tray after the changes he requested there are done.
Comment 2 Marina Zhurakhinskaya 2011-01-24 22:51:21 UTC
Created attachment 179246 [details]
The icon and the text are only partially visible in the banner mode
Comment 3 Marina Zhurakhinskaya 2011-01-24 22:52:16 UTC
Created attachment 179247 [details]
The same chat example as in the mockup looks good
Comment 4 Marina Zhurakhinskaya 2011-01-24 22:53:46 UTC
Created attachment 179248 [details]
Different length messages don't looks as good; messages that are too short look scattered and right-aligned messages from me don't wrap nicely
Comment 5 Marina Zhurakhinskaya 2011-01-24 22:54:51 UTC
Created attachment 179249 [details]
The timestamp getting added on the right isn't right if some of the messages get added on the right
Comment 6 Marina Zhurakhinskaya 2011-01-24 22:55:45 UTC
Created attachment 179250 [details]
The presence changes and timestamps need different styling
Comment 7 Jakub Steiner 2011-04-08 14:44:39 UTC
*** Bug 647162 has been marked as a duplicate of this bug. ***
Comment 8 Jakub Steiner 2011-04-08 14:55:59 UTC
Might as well continue here :) The attachment #185519 [details] doesn't introduce the layout issues mentione above, but I would still like to get in touch with you on IRC to discuss the best possible solution.
Comment 9 Jakub Steiner 2011-04-08 17:39:46 UTC
Created attachment 185542 [details] [review]
improve styling of the chat window/bubble

This is the same patch without the introduced indentation as per fmuellner's request
Comment 10 Florian Müllner 2011-04-08 17:54:04 UTC
Review of attachment 185542 [details] [review]:

::: data/theme/gnome-shell.css
@@ +1141,1 @@
+.chat-received:rtl { }

:rtl is an automatic pseudo class in RTL locales, no point in having it empty (I do see the point for leaving .chat-received though)
Comment 11 Jakub Steiner 2011-04-08 18:17:59 UTC
Created attachment 185543 [details]
layout changes

After talking to Marine on IRC and faced with my inability to grok the JS bits, I am attaching an image describing my intent and asking for a little assistence and provision of new additional classes to the dialog to aid styling.

1) In contrast to the original design I would prefer the avatar to remain the same size collapse and expanded, but in this case, remove the indention of everything but the avatar in the dialog. I will attach a mockup of my intent.

2) I would love to have a container around same direction messages to allow to space sent/received messages apart rather than spacing individual messages evenly. Also the fadeout of the messages is too tall, making it difficult to make out whether the first line is a response or not.

3) If the text entry spans the whole width, I would like the whole dialog to have more padding (applies to messages and avatar/name too). I take it the container already has a class... which is it?

Thank you for all the help.
Comment 12 Jakub Steiner 2011-04-08 18:19:44 UTC
Created attachment 185544 [details]
my immediate goal :)

(likely to change when I get a chance to iterate ;)
Comment 13 Jasper St. Pierre (not reading bugmail) 2011-06-05 22:09:08 UTC
Created attachment 189279 [details] [review]
messageTray: Remove indent on conversation bubble

This makes the style look more what was intended in the mockups.



This removes the "left intend", jimmac. The code is a bit ugly though.

For the fade, you can use the new '-st-fade-offset' I added for you in
bug 651813.

I don't believe we have a better thing for you to tweak the padding than
"#notification", and I'll be working on the direction containers soon,
I promise.
Comment 14 Dan Winship 2011-06-09 16:02:02 UTC
Comment on attachment 189279 [details] [review]
messageTray: Remove indent on conversation bubble

if we're not lining up the content area with the banner, then there's no need to have a table. we can just have a vertical boxlayout whose first row contains a horizontal boxlayout
Comment 15 Jasper St. Pierre (not reading bugmail) 2011-06-09 16:20:41 UTC
I initially tried this, but the hard part is making sure that the "rows" appear in the correct order. Depending on what type of message it was, the action area could appear above or below the body, and sometimes they were sandwiched in the middle.

I know of no way to "pin an actor" to a certain position, except for St.Table.
Comment 16 Jasper St. Pierre (not reading bugmail) 2011-06-24 18:23:11 UTC
For things like presence and alias changes, timestamps, or actions (think /me), how do you want the direction containers to group things?
Comment 17 Dan Winship 2011-06-24 19:32:58 UTC
Comment on attachment 189279 [details] [review]
messageTray: Remove indent on conversation bubble

>+        this._titleArea.set_style('spacing: %dpx;'.format(this._spacing));

ok except for that; you should give the titlearea its own CSS, with the appropriate spacing
Comment 18 Jasper St. Pierre (not reading bugmail) 2011-06-28 17:43:39 UTC
Created attachment 190883 [details] [review]
telepathyClient: Add group containers

All messages are now assigned one of three groups: 'received', 'sent',
or 'meta'. Group containers contain all messages of the same group.
Comment 19 Jasper St. Pierre (not reading bugmail) 2011-07-13 19:01:44 UTC
Created attachment 191913 [details] [review]
messageTray: Remove indent on notifications

This makes the style look more what was intended in the mockups.



Fixed.
Comment 20 Jasper St. Pierre (not reading bugmail) 2011-07-13 19:37:39 UTC
Created attachment 191919 [details] [review]
telepathyClient: Add group containers

All messages are now assigned one of three groups: 'received', 'sent',
or 'meta'. Group containers contain all messages of the same group.



Marking "Remove indent" obsolete because it broke stacking and other things. Feel free
to add a design that doesn't break everything else.

Should I separate this patch out, or is it good to go? I have three changes:

  * Add group containers.
  * Update text to remove the old string freeze hack.
  * Add styles to look like mockups.
Comment 21 Jasper St. Pierre (not reading bugmail) 2011-07-30 16:43:11 UTC
Comment on attachment 185542 [details] [review]
improve styling of the chat window/bubble

Not going to take this because it breaks stacked notifications.
Comment 22 Jasper St. Pierre (not reading bugmail) 2011-08-01 22:28:16 UTC
Created attachment 193020 [details] [review]
telepathyClient: Add our own translations for timestamps

As an effort to prevent a string freeze to land timestamps on 3.0, we reused
translations for the calendar. Now that the string freeze is long gone, make
some proper strings.



If the direction containers don't land, I'd like to get this in before string freeze.
Comment 23 Jasper St. Pierre (not reading bugmail) 2011-08-01 22:28:24 UTC
Created attachment 193021 [details] [review]
telepathyClient: Add direction containers

Direction containers group all contiguous messages in the same direction into
their own parent container, allowing for smarter styling of similar messages.
Comment 24 Dan Winship 2011-08-03 15:49:22 UTC
Comment on attachment 193020 [details] [review]
telepathyClient: Add our own translations for timestamps

>+            /* Translators: this is a time format in the style of "Wednesday, May 25, 2012",
>+             shown when you get a chat message in the same year. */

different, not same

otherwise ok
Comment 25 Jasper St. Pierre (not reading bugmail) 2011-08-03 22:15:32 UTC
Comment on attachment 193020 [details] [review]
telepathyClient: Add our own translations for timestamps

Attachment 193020 [details] pushed as aa1405e - telepathyClient: Add our own translations for timestamps


Pushed with s/the same/a different/
Comment 26 Allan Day 2011-08-17 10:51:42 UTC
Created attachment 194024 [details] [review]
patch - theme updates for chat input widget (plus smaller meta messages)
Comment 27 Jasper St. Pierre (not reading bugmail) 2011-08-18 07:21:07 UTC
Created attachment 194102 [details] [review]
telepathyClient: Add direction containers

Direction containers group all contiguous messages in the same direction into
their own parent container, allowing for smarter styling of similar messages.



Rebased onto master (fix conflict with aday's notification softening patches)
Comment 28 Dan Winship 2011-08-23 15:13:22 UTC
Comment on attachment 194102 [details] [review]
telepathyClient: Add direction containers

>+.chat-received {
>+    padding-left: 24px;
>     border-radius: 4px;
>+    color: #7E7E7E;

I am pretty sure the indentation and color scheme in your patch is the opposite of what Jakub intended. You want to highlight the received messages and dim (and indent) the sent ones.

You should also not use px for padding here, since it means there will be relatively less padding when using larger text zooms. Multiply by 0.75 and use pt.

>+            if (group.get_children().length == 0)
>+                this._contentArea.remove_actor(group);

group.destroy() is preferred, since it results in more garbage being collected right away.

>+    /**
>+     * append:

"_append"

>+        let timestamp = props.timestamp || currentTime;
>+        let styles = props.styles || [];

use Params.parse()
Comment 29 Jasper St. Pierre (not reading bugmail) 2011-08-23 17:41:49 UTC
Created attachment 194501 [details] [review]
telepathyClient: Use sent timestamp instead of received timestamp

It's generally more useful to see when a person sent a message instead of when
we received it. Also, a recent change in Telepathy made the received timestamp
be 0 for messages we send.



--
<magcius> cassidy, do you know why  tpMessage.get_received_timestamp() returns 0?
<magcius> (other tp people can answer that as well)
...
<magcius> oh, this is a MessageSent
<magcius> will the received timestamp always be 0?
<wjt> probably for sent messages, yes
<wjt> generally speaking i'd recommend using the sent timestamp for both -- it's more useful to see when the other person sent the message than when we received it
<magcius> OK.
<wjt> this was recently changed in empathy too
<magcius> That's fair.
<wjt> it does: ts = get_send_timestamp(); if (ts == 0) ts = get_received_timestamp
Comment 30 Jasper St. Pierre (not reading bugmail) 2011-08-23 17:43:15 UTC
Created attachment 194502 [details] [review]
telepathyClient: Use sent timestamp instead of received timestamp

It's generally more useful to see when a person sent a message instead of when
we received it. Also, a recent change in Telepathy made the received timestamp
be 0 for messages we send.



---

<magcius> cassidy, do you know why  tpMessage.get_received_timestamp() returns 0?
<magcius> (other tp people can answer that as well)
...
<magcius> oh, this is a MessageSent
<magcius> will the received timestamp always be 0?
<wjt> probably for sent messages, yes
<wjt> generally speaking i'd recommend using the sent timestamp for bothâit's more useful to see when the other person sent the message than when we received it
<magcius> OK.
<wjt> this was recently changed in empathy too
<magcius> That's fair.
<wjt> it does: ts = get_send_timestamp(); if (ts == 0) ts = get_received_timestamp
Comment 31 Jasper St. Pierre (not reading bugmail) 2011-08-23 17:46:51 UTC
Created attachment 194507 [details] [review]
telepathyClient: Add direction containers

Direction containers group all contiguous messages in the same direction into
their own parent container, allowing for smarter styling of similar messages.



> You should also not use px for padding here, since it means there will be
> relatively less padding when using larger text zooms. Multiply by 0.75 and use
> pt.

The 4px padding was already there, but sure.
Comment 32 Dan Winship 2011-08-24 13:52:56 UTC
Comment on attachment 194507 [details] [review]
telepathyClient: Add direction containers

>+    border-radius: 3pt;

oh, i really only meant use pt for the 24px padding, not any of the rest. (Padding and border-radius in the rest of the shell is done in px, so using pt for the normal padding or border-radius here would be inconsistent. But the rule with 24px padding isn't really padding, it's an indent, and we want that to be proportional.)

>diff --git a/js/ui/notificationDaemon.js b/js/ui/notificationDaemon.js

this part was not in the previous patch... is this from some other bug?
Comment 33 Jasper St. Pierre (not reading bugmail) 2011-08-24 15:20:12 UTC
Comment on attachment 194502 [details] [review]
telepathyClient: Use sent timestamp instead of received timestamp

Attachment 194502 [details] pushed as 712ea9b - telepathyClient: Use sent timestamp instead of received timestamp
Comment 34 Jasper St. Pierre (not reading bugmail) 2011-08-24 16:01:32 UTC
Created attachment 194635 [details] [review]
telepathyClient: Add direction containers

Direction containers group all contiguous messages in the same direction into
their own parent container, allowing for smarter styling of similar messages.



Is this better?
Comment 35 Jasper St. Pierre (not reading bugmail) 2011-08-24 19:32:51 UTC
Comment on attachment 194635 [details] [review]
telepathyClient: Add direction containers

Attachment 194635 [details] pushed as 06d906b - telepathyClient: Add direction containers
Comment 36 Jasper St. Pierre (not reading bugmail) 2011-08-24 19:33:47 UTC
This should mostly be fixed. Do the CSS changes look right to you, jimmac?
Comment 37 Matthias Clasen 2011-08-26 13:27:10 UTC
I see the last three patches have been committed. Is anything left here ?
Btw, jimmac is on vacation this week, afaik.
Comment 38 Jasper St. Pierre (not reading bugmail) 2011-08-26 13:42:13 UTC
No.