The advice Microsoft's designers will tell you (23:30 into the video) about a page
hosting a Panorama control is that the page should not also include the System
Tray.
This is wrong!
Let me tell you why.
Consider this scenario:
A person launches your app and upon starting it attempts to
load the latest data from a web server or other external source. - Hopefully
you'll agree that so far this is a reasonable and common scenario.
After a few seconds no data is displayed and the app still
indicates that it is "Loading...". - Again, a common occurrence.
Now what?
Well, the person wonders if the delay is due to not having a
connection or maybe they've only got 1 bar on a 2G network. - I hope you still
think this is a not unreasonable scenario.
So, having wondered about connectivity, what does our person
do?
Well, they swipe down from the top of the screen to reveal
the network connectivity indicators that are included in the System Tray.
And it's at this step that we reach the crux of my argument.
If the page includes the System Tray the person will be able
to see the state of their connectivity. If they have a connection they'll
probably wait a little longer. If not they can, hopefully, do something about
it.
But if the page doesn't include the System Tray what can
they do?
They can do 1 of two things.
1. They can wait longer, but with the uncertainty of not
knowing if the connection is there and if they'll ever get a response (at least
until the connection times out.)
2. They can leave the app and check connectivity there.
If 1, you're forcing the person using your app into a
situation of uncertainty with your app that can't be a good thing. Uncertainty
in what your app will do, or when, is not a feeling you want to instil in
people.
If 2, you're forcing people to leave your app when they want
to use it. You're also increasing the likelihood that they won't come back. I'd
be amazed if you want the people who have downloaded and installed your app to
not be using it when they have wanted to.
My advice:
Include the System Tray on any page that has content that comes
from a remote source.
Microsoft doesn’t even follow their own advice!
Checking on the WP8.0 device in my pocket I can see that:
While the store, music and video hub, games hub, photos hub and
wallet don't include the system tray, the People
hub and the Office hub DO include
the System Tray
The exception when this isn't true.
My reasoning above is based on a Panorama with dynamic
content that is obtained from an external source. Obviously there are apps
which use a Panorama control but don't use external content. (I've even written
some.) In this scenario there is, potentially, very little value to the
including the System Tray and so there may be an argument for not including it.
Yes there is potentially an argument for including a System
Tray even if the Panorama uses entirely local content so that it's possible to
see things like the clock and battery status. Include it at your discretion in
these scenarios.
Disclaimer. Yes the title of this post is quite broad-brush
and I'm only talking about a potentially minor issue here. I understand that
but small details matter.
tl;dr: DO include the System Tray on Panoramas. Even though Microsoft tell you not to.
One approach is to hide the system tray by default but show it when something is loading, as in the People hub.
ReplyDelete@Kinnara yes you could do that (presumably also assumming that you're using hte system tray to show pregress and/or a message) but what's so bad about including the System Tray on a Panorama in the first place? The only possible reasson I can think of is that the Panorama control doesn't resize correctly if an opaque tray is used or the crashing of the tray foreground and the Panorama header is too much of an issue.
ReplyDeleteIn my opinion the system tray should be visible on any app. There are only very few scenarios where the few extra pixels are really needed (full screen video playback for example).
ReplyDeleteIt provides the user with basic system information that an app mostly has no right to take away.
I don't understand why so many windows phone apps hide it with no reason.
@MLamers I don't think that apps hide it for no reason. In the templates it's not enabled by default so I think its just that developers don't turn it on.
ReplyDelete