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 775763 - Refresh/refine the layout of notifications
Refresh/refine the layout of notifications
Status: RESOLVED FIXED
Product: gnome-shell
Classification: Core
Component: message-tray
3.22.x
Other Linux
: Normal normal
: ---
Assigned To: gnome-shell-maint
gnome-shell-maint
Depends on:
Blocks:
 
 
Reported: 2016-12-07 18:17 UTC by Allan Day
Modified: 2017-03-29 23:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
messageList: Make canClear public and notify on changes (1.43 KB, patch)
2017-02-27 21:30 UTC, Florian Müllner
committed Details | Review
calendar: Add "Clear All" button to message list (5.29 KB, patch)
2017-02-27 21:30 UTC, Florian Müllner
committed Details | Review
messageList: Remove section clear button (4.13 KB, patch)
2017-02-27 21:30 UTC, Florian Müllner
committed Details | Review
calendar: Only show section title for other days (7.56 KB, patch)
2017-02-27 21:31 UTC, Florian Müllner
committed Details | Review
messageList: Keep secondary actor when showing close button (3.67 KB, patch)
2017-02-27 21:31 UTC, Florian Müllner
committed Details | Review
calendar: Use relative times for notification timestamps (3.01 KB, patch)
2017-02-27 21:31 UTC, Florian Müllner
none Details | Review
Refine notification style (5.77 KB, patch)
2017-02-27 21:31 UTC, Florian Müllner
committed Details | Review
calendar: Add calendar icon to events (1.27 KB, patch)
2017-02-27 21:31 UTC, Florian Müllner
committed Details | Review
calendar: Use relative times for notification timestamps (3.33 KB, patch)
2017-02-28 19:35 UTC, Florian Müllner
committed Details | Review

Description Allan Day 2016-12-07 18:17:06 UTC
The list of notifications in the calendar drop down would benefit from a bit of polish and refinement. Right now it is rather noisy - there's a lot of boxes - which make it more difficult to read than it should be. The time stamps aren't that easy to use either, as the user has to do the mental work of figuring out how long ago each notification occurred.

Here's a mockup of how it could be improved:

https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/notifications/redux/notifications-refresh.png

Changes it incorporates:

 * Changing the notification icons to 16x16 symbolics
 * Hiding the background rectangles for notifications
 * Removing the media, notification, and event headings
 * Adding a bit more space to each notification - both between the lines and around the content
 * Increasing the size of the text used for the notification description, to the standard text size
 * Changing the format of the time stamp to something human readable, and moving it closer to the notification title
Comment 1 coreboc 2017-01-30 10:27:09 UTC
could you make the weather conditions and current day events like nameday/birthday appear under the calendar too please?
Comment 2 Florian Müllner 2017-02-26 10:42:35 UTC
(In reply to Allan Day from comment #0)
>  * Changing the notification icons to 16x16 symbolics

What about the screen shield? Notifications there currently use a bigger icon than the ones in the calendar (48px vs. 32px). Should their look up changed to match the "regular" style from the session, or should they keep bigger icons.

I assume we'll want to at least make those icons symbolic too ...


>  * Removing the media, notification, and event headings

The event heading is currently also used to display the selected date when it's different from today. Do we still want to show that heading, or should it be removed as well?

(Somewhat related: bug 778512)
Comment 3 Jakub Steiner 2017-02-27 15:47:39 UTC
Let me chime in while Allan is afk. I would keep the same style for the notification on the screen shield. I'll provide a mockup.

For the case of dropping 'Events' section heading, I think it makes sense to keep the heading for when you select a date on the calendar widget as it's emphasizing that events below belong to a particular date.
Comment 4 Florian Müllner 2017-02-27 21:30:29 UTC
Created attachment 346861 [details] [review]
messageList: Make canClear public and notify on changes

The latest mockups contain a button to clear all sections at once.
As some elements cannot be cleared, we need to provide that information
to avoid offering an action that has no effect.
Comment 5 Florian Müllner 2017-02-27 21:30:37 UTC
Created attachment 346862 [details] [review]
calendar: Add "Clear All" button to message list

We will eventually remove section titles from the message list to
reduce visual noise and give the actual information provided by
the messages more space. So in order to not lose the ability to
mass-dismiss messages, the latest mockups spot a "Clear All" button
at the bottom - implement that.
Comment 6 Florian Müllner 2017-02-27 21:30:54 UTC
Created attachment 346863 [details] [review]
messageList: Remove section clear button

With the new "Clear All" button in the message list as a replacement,
we can remove the individual clear buttons from the sections.
Comment 7 Florian Müllner 2017-02-27 21:31:03 UTC
Created attachment 346864 [details] [review]
calendar: Only show section title for other days

The section titles usually don't provide a lot of value - messages
themselves are usually pretty unambiguous about their type, and
having a hidden shortcut to some settings panel or application isn't
essential either - except when showing the selected date when browsing
other days, as it adds context to the listed events. Based on that,
remove the section title as a general MessageListSection feature and
move it into the EventsSection, where we only show it when it is useful.
Comment 8 Florian Müllner 2017-02-27 21:31:12 UTC
Created attachment 346865 [details] [review]
messageList: Keep secondary actor when showing close button

Currently the secondary actor (if set) and the close button are
exclusive, that is the latter replaces the former on hover. As
the swapping feels rather busy and there's no real reason both
cannot be shown at the same time, keep the secondary actor always
visible.
A welcome side effect is that it no longer needs to be placed at
the end, so we can move the notification timestamp right next to
the corresponding title.
Comment 9 Florian Müllner 2017-02-27 21:31:21 UTC
Created attachment 346866 [details] [review]
calendar: Use relative times for notification timestamps

For notifications in the message list, it is usually less relevant
when exactly it occurred, but how long ago. So rather than showing
the exact time and expecting the user to figuring out the timespan
themselves, change the format to something human readable.
Comment 10 Florian Müllner 2017-02-27 21:31:30 UTC
Created attachment 346867 [details] [review]
Refine notification style

Update the notification style according to the latest mockups:
 - make notification icons smaller and prefer symbolic variants
 - remove background box when not hovered/focused
 - increase spacing between elements
 - use normal text sizes
Comment 11 Florian Müllner 2017-02-27 21:31:40 UTC
Created attachment 346868 [details] [review]
calendar: Add calendar icon to events

Without the boxy background, event messages look a bit plain and
unaligned with other messages. Adding an icon addresses this,
however as repeating the same icon over and over again in case of
many events would be rather noisy, only show it for the top event
as in the mockups.
Comment 12 Rui Matos 2017-02-28 16:45:36 UTC
Review of attachment 346861 [details] [review]:

fine
Comment 13 Rui Matos 2017-02-28 16:45:44 UTC
Review of attachment 346862 [details] [review]:

lgtm
Comment 14 Rui Matos 2017-02-28 16:45:51 UTC
Review of attachment 346863 [details] [review]:

sure
Comment 15 Rui Matos 2017-02-28 16:59:28 UTC
Review of attachment 346864 [details] [review]:

::: js/ui/calendar.js
@@ +816,3 @@
+        this._title = new St.Button({ style_class: 'events-section-title',
+                                      label: '', x_align: St.Align.START,
+                                      can_focus: true });

one property per line please, or things might easily get overlooked.

did you avoid x_expand on purpose?
Comment 16 Rui Matos 2017-02-28 17:11:04 UTC
Review of attachment 346865 [details] [review]:

looks good
Comment 17 Florian Müllner 2017-02-28 17:16:41 UTC
(In reply to Rui Matos from comment #15)
> one property per line please, or things might easily get overlooked.

OK.


> did you avoid x_expand on purpose?

Kind of - as mentioned in the other bug, we get this via the :x-fill child property already. Of course it wouldn't hurt keeping it ...
Comment 18 Rui Matos 2017-02-28 17:25:35 UTC
Review of attachment 346866 [details] [review]:

code looks good, feel free to disregard my comments below

::: js/misc/util.js
@@ +173,3 @@
+    let daysAgo = timespan / GLib.TIME_SPAN_DAY;
+    let weeksAgo = daysAgo / 7;
+    let yearsAgo = weeksAgo / 52;

personally I'd prefer to see weeks up until 8 weeks and months till 1 year

@@ +178,3 @@
+        return _("Just now");
+    if (hoursAgo < 1)
+        return _("A while ago")

this seems really vague to me. did you consider "just now" for < 5 mins and "%d minutes ago" for 10 min intervals afterwards i.e. would only show 10 for [5,15], 20 for [15,25], etc. ?
Comment 19 Rui Matos 2017-02-28 17:26:36 UTC
Review of attachment 346867 [details] [review]:

ok
Comment 20 Rui Matos 2017-02-28 17:38:32 UTC
Review of attachment 346868 [details] [review]:

looks fine

unrelated design comment: would be nice to do the same icon hiding for clustered notification messages from the same source. I guess a problem there is that the icon used might be different...
Comment 21 Florian Müllner 2017-02-28 19:35:47 UTC
Created attachment 346932 [details] [review]
calendar: Use relative times for notification timestamps

(In reply to Rui Matos from comment #18)
> +    let weeksAgo = daysAgo / 7;
> +    let yearsAgo = weeksAgo / 52;
> 
> personally I'd prefer to see weeks up until 8 weeks and months till 1 year

I doubt that you (or anyone really) would personally see notifications that are older than 8 weeks - I was actually considering using something like "A long time ago" for that :-)

But yeah, doesn't hurt to do it properly even in a range we don't expect users to run into.


> @@ +178,3 @@
> +        return _("A while ago")
> 
> this seems really vague to me. did you consider "just now" for < 5 mins

Allan agreed to the 5 minutes and that "A while ago" is too vague, but suggested to just use the actual minutes.
Comment 22 Rui Matos 2017-02-28 19:52:11 UTC
Review of attachment 346932 [details] [review]:

ok, looks fine
Comment 23 Florian Müllner 2017-03-01 10:00:35 UTC
Attachment 346861 [details] pushed as 239b67e - messageList: Make canClear public and notify on changes
Attachment 346862 [details] pushed as d3bb790 - calendar: Add "Clear All" button to message list
Attachment 346863 [details] pushed as 8a6157c - messageList: Remove section clear button
Attachment 346864 [details] pushed as fec511c - calendar: Only show section title for other days
Attachment 346865 [details] pushed as c4f2bb5 - messageList: Keep secondary actor when showing close button
Attachment 346867 [details] pushed as d3c050b - Refine notification style
Attachment 346868 [details] pushed as 846e3f8 - calendar: Add calendar icon to events
Attachment 346932 [details] pushed as f3d1c78 - calendar: Use relative times for notification timestamps
Comment 24 vitalik_p 2017-03-29 23:16:34 UTC
> notify-send "short"

I can be wrong, but with short messages close button on message is moved to the left.
Comment 25 vitalik_p 2017-03-29 23:24:47 UTC
all fine, just ignore my message.