← Back to team overview

elementary-dev-community team mailing list archive

Re: Noise doesn't comply to HIG


> The big question is, "should background apps minimize or close their
> window?"

AFAIK it's a purely technical issue that's ultimately up to Gala devs, so I
can't see the point of writing it down to the HIG or discussing it here.

IMO the UX-related question is "when should background apps show their icon
in the dock, and if should they do that at all?".

It seemed to me that Noise should be easily accessible from the dock while
it plays music, so that the user can pause playback or switch to the next
track easily, regardless of the presence of media keys, which are still
uncommon around here. Also, turns out many people don't discover media keys
even when they are present - keyboards have so many keys...

This is why I pushed for minimizing Noise during playback when running in
Pantheon. I also pushed for making it exhibit shell-native behavior, e.g.
hide the window instead of minimizing it when running in Unity, but I'm not
sure if that was implemented.

> I'm inclined to think that close is the cleaner solution here when we're
> talking about making closing workspaces on Gala work properly, making
> "opening" (re-opening technically) these apps work as expected, etc. Think
> about it this way: How many apps does a user maybe want to be running in
> the background on start-up 24/7? Here's a few background apps I know that I
> have running on my Phone:
> Twitter
> Facebook
> Email
> Messages
> ESPN (gotta know when Barça is playing)
> Music
> Calls
> Mint (I get alerts if I go over-budget)
> Fitocracy
> Does it make sense to have all these windows minimized to my 1st workspace
> every time I log in since they all (in at least some way) need to be
> running in order to work properly? I just don't think that makes sense from
> a window management perspective.

I'll reply with a quote from the very same HIG page:

If the app performs repeat background tasks (such as checking for new
> mail), the background tasks should be handled by a separate daemon.

All the apps from your list except Music perform some background tasks
repeatedly, so they fall into this "background daemon" category. More
specifically, they wait for some event and notify you when it happens. Of
course it's counter-productive to make them all clutter the dock at all

However, showing a dock badge with the number of action items in the app is
an important means of notifying the user about the event because this way
the dock provides a persistent overview of remaining action items. Dock
badges are complementary to showing a notification but they're also
important because the user is not always willing to react to a notification
immediately and notification backlogs are far too cluttered to be useful.

The way I see it, these "background daemons" should only display an icon in
the dock when the daemon has some new action items. Although the definition
of "new" is a bit vague here - looking at how some people never get the
unread mail count in their inbox to zero, I doubt it's a good idea to show
an email client inon in the dock with the badge "243" all the time. Maybe
it's better to only show the icon when the number of unread threads
increases or display the number of unread emails since you last checked the
inbox instead of the actual count of unread threads. But this is a topic
for another discussion.

And regarding that quote, I have a bone to pick:

If the app performs repeat background tasks (such as checking for new
> mail), the background tasks should be handled by a separate daemon.

Not only the *Human Interface* Guidelines advice on the matters of software
architecture, they also provide no rationale for doing so. It's as
ridiculous as an interior designer writing "and by the way, only build
houses on this type of foundation" in a book on interior design. I mean,
what can interior designers possibly know about foundations? And why do
they even care?

Sergey "Shnatsel" Davidoff
OS architect @ elementary

Follow ups