Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

We are working on a system, where network elements are being maintained. The number of the elements will be large: more than a few thousand is expected. Several processes can run on these elements, and each process can have many sub-processes, each with basic and detailed information.

The idea was to is to have a two panel selector, with grouped tables in tree-like arrangement, where the user can open the panel of the sub-processes for its basic information in a table, and by clicking any of the process-elements have the additional info in a second, tabbed panel. The user can also do actions: stop, restart and delete a process (even sub-processes), but only one at a time, so until now there was no need for group selection.

This has already been developed, but hasn’t gone live yet, when new requirements emerged. Because of the large number of the nodes, an opportunity also should be provided, where the user can select more than one element to work on. The catch is, that delete is only valid for the main processes, but one can pause/restart every process element regardless of it being is a main- or a sub-job (of course the task on the parent process will be applied to the child as well). The possibility to do tasks on each element separately still remains.

We thought about using checkboxes, but in this case a lot of questions arose, like how to deal with those situations, where “mixed” elements are selected, when not every job is valid for every element (e.g. delete for sub-jobs, or restart for already ongoing process). To have the buttons inactive until only one type of elements are selected is hard to do for the user because of the large number, but having two columns of checkboxes (one for delete, one for pause/restart) as somebody suggested in the team, is the worst thing I can ever imagine. Not to mention, that clicking on a row now makes the additional information displayed at the second panel, and we want to keep it that way.

So it is a bit complex and but I’ll be grateful for any ideas you have. Maybe to choose the task first, and than the objects according to the first selection? What do you think?

Here is a mockup we’ve made (without the checkboxes), hope it helps to understand the problem:

enter image description here

share|improve this question
    
Just a tweak, but if the bigger Start/Pause/Delete buttons in the top-right are meant to apply to the item rows which are selected via the checkboxes in the left-column, then I would locate the bigger Start/Pause/Delete buttons in closer proximity (i.e top left, not top-right). –  Erics Nov 6 '12 at 4:59
    
Also, if sub-jobs cannot be deleted then the per-row delete icon/button shouldn't be there for those rows. –  Erics Nov 6 '12 at 5:00
    
It's not the answer to your exact question but just a suggestion from my own experience. In a case you've provided there could be other solutions for the problem you're trying to solve. I mean, not a 'delete' or 'restart' actions but some more generic approach. I would like to ask you 'why your users will need to kill or retry some tasks?'. Looking at the the picture I may suggest they have to delete tasks which are behaves incorrectly or something, so it may be valuable to gather that data and possibly implement completely different scenario,like 'clear all the failing processes' action,etc. –  alexeypegov Nov 9 '12 at 9:50
add comment

3 Answers

That's a tricky one! (I hope I understood all correctly.) Have you thought of using toggles for each row action button combined with a single "Perform activated tasks" button (in place of all the three action buttons you currently display in your wireframe menu bar)? It might be a bit tricky for the states of the restart/pause row buttons which currently share the same column.

I think I'd remove the checkbox column entirely and add a third column at the end in order to separate the restart and pause actions, so each task has it's own column. I would then add a disabled state for each button, so it becomes apparent which task can be toggled on or off (activated/deactivated). It's kind of like having a checkbox for each task in its own respective column at the end of each row (i.e. like an embedded row menu rather than having a global task menu). The tasks get triggered with the global "Perform" button.

Alternatively: you could combine all available options at the end of each row into a single dropdown menu from which a user selects the task which should be performed.

It might be easier to disable an option in a drop down menu rather then having to manage the states of each toggle button in relation with the one that is activated. It will feel like having to click quite a bit though.

share|improve this answer
add comment

I would display a dialog after the button is pressed, saying that this operation can only be performed on the main jobs. Then you can have the buttons "delete the selected main jobs" and "cancel". You can also go the extra mile and provide a list of the sub-jobs which aren't going to be affected (but your devs might frown at you, they may need to jump through some hoops to do this). Of course, the dialog should only appear if the selection includes both types of items.

Selecting the action before the items will complicate the UI by a great deal, you'll need to solve all kinds of new problems that you don't have here.

share|improve this answer
add comment

If I understand this correctly, I think explicitly acting on a group is conceptually different enough from acting on a single item that another view could introduced. Maybe another tab in the bottom named "Group Actions". The group actions tab would list all the selected processes along with the actions that can be applied to the group. Maybe show the union of all process actions, but actions not in the intersection (allowed for whole group) disabled.

The group actions panel would also be useful if people can scroll through the top list and add to the selected group from various parts of the list as it would display the selected group (I'm assuming they might not all be visible in the list because it would be scrolled). As processes are added and removed the "Group Actions" panel would update the allowable actions, giving people a feel for what can be accomplished in groups.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.