NWAM/GUI Ideas

From Genunix

Contents

NWAM Applet Ideas

(Note for the uninitiated-- in JDS/GNOME, an "applet" is nothing to do with Java, it's just the generic name for small applications that run on the panel.)

These ideas try to address the main concerns with the original notification icon proposals I circulated, namely that they weren't very scalable to more than a couple of interfaces, and that the currently-active environment shouldn't be presented in such a way that it could be misconstrued as being related to a particular link/interface.

These aren't intended to be complete specs, so for example the concept of 'notification balloons' from the original design would still apply to any of these ideas, although it isn't explcitly shown.


1. Environment Applet as controller for gnome-netstatus applets

This applet would:

  • Show the current environment name on the panel
  • Show the overall network status (connected or not connected) by means of an icon, with additional information in its tooltip
  • Via its Preferences dialog, allow you to add/remove network status (netstatus) applets for each individual link/interface to the panel. The netstatus applet is already shipped as part of JDS/GNOME, although currently needs some Solaris fixes to show wireless signal strength.

Image:Applet-1.gif

Notes/Issues:

  • Most of the items shown on the applet's menu are standard to all panel applets. "Network Configuration" would open the main NWAM config GUI.
  • The applet's preferences dialog allows the user to show either just the icon on the panel, or just the environment name, as well as both together
  • The icon would be augmented by a red cross symbol (or similar) when the user had no network connectivity. (Would it also be useful to have a yellow warning symbol if the user had 'some' connectivity? Not sure what 'some' really means here.)
  • Should the shown/hidden status for each interface be saved per-environment, or globally?
  • Would need a good algorithm for figuring out the best place to put new netstatus applets when they were added; it could get very annoying otherwise. The JDS/GNOME "Add to Panel" menu item itself doesn't do a particularly great job of this, especially when some items on the panel are locked.
  • Would we want to make this the _only_ way to add netstatus applets to the panel, i.e. remove the applet from the current JDS "Add to Panel" menu? If not, we'd need to sync up the Environment applet's preferences dialog whenever the user added/removed a netstatus applet manually.
  • Would need to remove the ability in the nestatus applet to change the interface being monitored. (Or otherwise, again, would need to sync up with the Environment applet's preferences if the user changed this manually).
  • Would need to rewire the netstatus applet's "Configure" button (in its Properties dialog) to jump to an appropriate place in the main NWAM GUI-- currently it opens network-admin.
  • Where should the 'notification balloons' described in the original NWAM design appear 'attached' to? For environment changes, the obvious target is the environment applet. For changes relating to particular links/interfaces, you'd probably want the target to be that link/interface's netstatus applet (if shown). That would mean either the Environment applet would probably need to keep track of the position of all the netstatus applets (may not be trivial), or the netstatus applet itself would need to be modified to show balloons in response to certain events (ditto).
  • This is the only one of these designs that, with a little tweaking, could probably still be implemented as a notification area (system tray) icon as per my original proposal, if we preferred. (Notification icons in JDS/GNOME don't have their own Preferences, but there are few enough here that they could just about go on its popup menu instead-- although that would make it more annoying to show/hide multiple netstatus icons in one go, as you can't toggle a checkbox menu item with the mouse without dismissing the menu as well.)

2. Environment Applet with popup dashboard

The persistent panel presence in this proposal is the same as that in the previous one: a status icon and/or environment name, according to user preference.

The interaction is similar to that of the JDS clock applet (which is really a toggle button, although it doesn't look like one). Clicking the clock applet pops up a calendar window, which is dismissed by clicking the applet again. In this design, clicking the Environment applet pops up a little 'dashboard' showing the status of each link/interface; clicking the applet again dismisses the dashboard.

Image:applet-2.gif

Notes/Issues:

  • If there were numerous interfaces, the dashboard would show them in multiple rows, rather than a single row. (Number of rows possibly user-configurable, cf. next proposal below.)
  • The dashboard icons could be animated in the same way as the netstatus applet currently is, to indicate tx/rx activity. The solid background colour in the interface/vanity name views could also 'pulse', or be augmented in some other way to indicate activity. (All such techniques would need some accessibility thought.)
  • Dashboard right-click behaviour TBD... could open properties dialogs similar to the netstatus applet Properties dialog. Or we could just leave the dashboard as a non-interactive display.
  • The dashboard could potentially be 'detachable' (cf. tear-off menus), so the user could float it wherever they like on the desktop.
  • It might even be technically possible for the 'icon view' of the dashboard to be comprised of actual netstatus applets, dunno about that though :)


3. Dashboard applet

This design is similar to that of the JDS workspace switcher panel applet, in that the icons are grouped into a single unit on the panel. Of course, instead of showing workspaces, it shows links/interfaces.

Icon view:
Image:dashboard-embed-icons.png

Vanity name view:
Image:dashboard-embed-vanity.png

Interface name view:
Image:dashboard-embed-ifnames.png

As with the workspace switcher applet, the user can choose to display any of these views in one or multiple rows:

Image:dashboard-embed-ifnames-multirow.png

This option, in addition to the preferences shown in the previous design above, is again accessed via the Preferences item in the right-click menu.

Notes/Issues:

  • As in the previous design above, interface-specific tooltips would also be shown as you moused over individual interfaces.
  • The 'gripper bar' on the left edge of the applet allows the user to grab and move the applet and all its icons. This is really only necessary so that the applet still has some visual presence if the user decides to turn off all the interface icons for some reason; in normal operation, middle-click and drag should allow the applet to be moved too. (This is a common feature of JDS/GNOME applets.)
  • Showing a status icon and/or the environment name in this applet as well as the interface status icons seemed like it might be too unweildy/cluttered in this design. Consequently, the current environment name would probably only be shown in the applet's tooltips.
  • The visual appearance of the icons in the icon view should probably be much simplified in this design (or left out altogether, at least for multi-row situations), as they may be scaled down to very small sizes:

Image:dashboard-embed-icons-multirow.png