The console for the 4.1 release of Streams has some great enhancements: instead of just the management dashboard,
a new application dashboard was added, as well as a “lite” console.
One size does not fit all …
Why do we have three different ways to view the objects of a streams environment? The management dashboard is best suited for those folks who administer an entire domain and need views of all objects and object types. The application dashboard is great for application developers or cloud users who want to drill deep into their applications and customize their views.
I created the console “lite” for different types of users:
- Someone who needs a fully accessible, easy to use console.
- Novice streams users who want a quick and easy way to see his or her streams objects and take actions on them.
Okay, we have different users but why not make the other dashboards accessible?
When I first thought of designing an accessible, easy to use console, I thought about what it would take to make the existing application dashboard accessible. Some of the controls can be navigated to by keyboard, but the rich information available in the charts and graphs does not lend itself to being navigated to solely by the keyboard. The application “dashboard” is truly a visual display of many pieces of information at once that the user can fine tune and customize to help them understand their application.
Another reason the application dashboard is a challenge to make fully accessible is the depth of the dialogs and actions a user can take from a single launch point. Many of the dialogs in the application dashboard have options to bring up another dialog or take another action in a different tab. This can be very disorienting to a user that relies on a screen reader, and can be difficult to navigate to.
In the 4.0 release of the Streams console we achieved partial accessibility by allowing the user to “flip” the cards in the management console to display the information in grid format. Although this information may be helpful for someone who users a screen reader, the issue we faced is the same as that of the application dashboard: the user has no context where they are and it takes several keystrokes to actually navigate to the grid where the data is announced by the screen reader.
Conversely, for the user who relies on a screen reader to perform actions on streams objects a simple, structured output is far easier to navigate and allows the user to understand “where they are” in the console. This was the path I took in designing the “lite” console.
The other thing that makes the “lite” console great is it’s ease of use. For users who mostly take actions on objects and don’t need lots of monitoring capabilities, this console is for you!
Components of Console “Lite”
Header: A simplified version of the management header. The user can navigate to the other dashboard types, log in / log out and read the “about” menu.
Streams Objects and Actions: In the left portion of this pane is the streams tree, the topologic representation of the streams objects the user has permissions on; in the right portion is the available actions for the selected object in the streams tree.
Properties: This is the view area of the the console. When an object is selected from the streams tree the properties and metrics (if available) appear here. In the image below the PE named
PE:0 was selected from the tree and it’s properties and metrics appear in this region.
All items in the streams tree can be navigated to by the keyboard. To start navigating across the header, press the tab keys. After the header has been navigated through, the focus is placed on the Streams Objects and Actions pane, and then the Streams tree.
Streams Tree Navigation
||opens a node with children|
||closes a node with children|
||navigates to the next node|
||navigates to the previous node|
||selects a node|
||navigates to the actions for the selected node|
Once selection is on the actions, selecting the
return key launches the action.
If the selection is on the Properties action focus is placed in the first row of the Properties grid. Pressing the
tab key navigates through each row of the Properties table.
When used with a Firefox browser and the JAWS screen reader each property label and value is read as the table is traversed via keyboard.
Actions for each Streams object type in Console Lite
|Instances||Submit Job, Cancel Jobs|
|Instance||Properties, Start/Stop, Show PE Restart Recommendations, Submit Job, Cancel Jobs, View Logs|
|Resource||Properties, View Logs|
|Job Groups||Make Job Group, Submit Job, Cancel Jobs|
|Job||Properties, Set Application Trace, Restart All PEs, Show PE Restart Recommendations, Cancel Job, Forcefully Cancel Job, Submit Job, Cancel Jobs, Download Job Logs, View Logs|
|Operator||Properties, Set Application Trace|
|Output Port & Input Port||Properties|
|PE||Properties, Set Application Trace, Restart PE, Relocate PE, Stop PE|
|Resource (child of Job)||Properties, View Logs|
|Resources||Properties, View Logs, Add or Remove Tags (if permission to do so)|
|Tags||Create Tag (if permission to do so)|
To navigate to the “lite” console from either the management or application dashboards click the dashboards button and select “Streams Console Lite”.
The image below shows how to navigate from the “lite” console to the other dashboards.
Creating a streams console that satisfies the needs of the differing types of streams users is a challenging task. In the 4.1 release of Streams we added an application dashboard designed for application developers who want to create different views of their application data and are heavily focused on monitoring their applications.
I realized using the existing framework of the application and management dashboards to create an accessible, easy to use, console would shortchange the needs of a different category of users. Hopefully the console “lite” will provide the necessary information and actions for those users who need an accessible interface as well as for those users who are new to streams or what a simplified interface.
While we did diverge from some of the visual elements of the management and application dashboards for ease of navigation, we did reuse many of the existing dialogs from these dashboards. This affords the same user familiarity with certain common actions in a similar user interface.
I hope we have succeeded in providing an easy to use console – please let us know what you think of it!