I've been giving some thought recently to overhauling the BOINC Manager user interface.
The original GUI was a carry over from an MFC based version of BOINC Manager that was created even before I was hired on as an employee. The original didn't even have the buttons off on the left hand side, the user would have to have guessed that they could right-click on something to bring up a context menu.
So, here we are four years latter and we are talking about adding more tabs to an interface that is already overly complicated.
My goals were as follows:
- Combine the simple and advanced GUIs.
- Reduce information overload. (The less information somebody sees right off the bat the less they have to parse)
- Use icon based buttons instead of words to describe actions. (Reduces required screen space and simplifies localization)
- Use icons people are going to recognize. (VCR/DVD Player/CD Player/iPod)
- Provide a way to drill down into the complicated information. (My grandmother wouldn't ever need to worry about resetting short term and long term debts for instance)
- Include context sensitive help in the interface.
- I haven't thought through the multi-host scenarios yet.
- The graphics were generated in MS Paint, these would not be used in the actual manager should we ever implement this.
- This might not go anywhere, David wasn't to keen on the idea. He wants to get a formal usability study of a few prototypes before investing in a new user interface.
- This by no means should be thought of as a comprehensive specification, I think of this as a scratch pad.
If there is interest in the community to see something more formal I will go ahead and spec it out and submit it for review.
After a clean install, the client area should display a quick blurb that BOINC in and of itself is just a task execution engine and needs to be attached to a project/account manager before it can actually process work.
At the bottom of the blurb should be an attach to project and attach to account manager link.
Working User Interface
Clicking on would bring up a dialog specific to each section.
In the mock-up on the right hand side the 'News' section would disappear unless there are new news items. The news section is supposed to be a summary roll-up of various RSS feeds for each of the projects. It would also contain messages generated in the messages area for things like disk space warnings and the like. Another possible use for it would be the number of new messages for a thread you are watching in a projects forums.
Active Tasks, when expanded, would list the active tasks on the system in the format:
<Project Name>:<Task Name>:<Percent Complete>:Suspend:Resume:Abort
Active Transfers, when expanded, would list the active transfers on the system in the format:
<Project Name>:<Transfer Name>:<Percent Complete>:Suspend:Resume:Abort
Both <Task Name> and <Transfer Name> would be truncated and an ellipse (...) added in the case where the names are to long for the display area.
Projects, when expanded, would list the projects the client is attached too.
Each project, when expanded, would have a section for the following areas:
- Resource Usage
The main window should have a vertical scroll bar for when everything is expanded, but it should not have a horizontal scroll bar.
[Update 28/08/2008 9:37am]Apologies to Michael Tughan, while I can't recall seeing his designs for a Mac specific GUI it doesn't mean I didn't. I don't know how much overlap there is, but I thought I had drawn my inspiration from a combination of Outlook 98, MSN Messenger, and Yahoo Messenger.