Thursday, August 31, 2006

What is up? It seems like there is some major disconnect between what David, I, GridRepublic, BAM, WCG, and the CPDN/BBC partnership have been up too and what the community believes is going on.

I don't believe there are all that many people who actually believe that the current interface to BOINC is the best piece of software in the world and can be used by everybody on the planet. As a matter of fact, more often than not, we get feedback along the lines of "I wish it was as easy to use as S@H classic was."

The biggest problem brought up at the First Pangalactic BOINC Workshop from the projects was the attach to project process.

For those who are relativity new out there BOINC used to require a project URL, and a authenticator in order to attach to a project.  Authenticators are a string of 128 randomly generated characters.  These were sent to you via email and had to be typed into the attach to project dialog which didn't describe where that information came from or where to get it.

The authenticator turned out to be such a big problem that S@H didn't want to complete the transition to BOINC until a better solution was in place.

There are two parts here:

  • S@H classic was a single executable with hard coded IP addresses, so the participants only needed to know their username to start processing data.
  • The user interface didn't allow you to do anything, so you really couldn't get into trouble.

In order to address these usability issues we first had to figure out what our goals ought to be.  Here is a brief outline of our goals:

  • The stock BOINC software should not play favorites among the projects.
  • The stock BOINC software should not depend on any sever for normal operation.
  • The BOINC platform needs to be flexible enough for all research and business needs.
  • Find a way to simulate the simplicity of S@H classic's attach process so the participant only needs to provide something easy to remember.
  • Find a way to simplify the interface.

One of the first proposals we talked about for Windows was a control panel applet that you could just check which projects you would want to participate in, which had several problems. Where was it going to get the list of projects? What happens if that server no longer exists? How do future projects get on the list?

Matt, of GridRepublic, approached us in late 2004 and wanted to see if he could help further BOINC's adoption. He was especially interested in attracting the millions of users who might not otherwise join a distributed computing project because of ease of use problems. After a few sessions of brain storming Matt and David started to put together the concept of a web-based account management system.

At the time I was finishing up the last of the 4.x line of client software and helping E@H launch.

Support for the initial draft of the account management system began in early 2005 after the launch of E@H.  By this time David and Matt started having regular phone conversations about feature sets and possible delivery times of features within the BOINC client software and the GridRepublic account manager.  GridRepublic's design goal became "provide an attractive, simple, and easy-to-use interface so that anybody could attach to any GridRepublic supported project with a click of a button." an off-shoot of that was the need for a branded client so that the participant didn't get confused about what they installed on their computer.

BOINC? What's BOINC? I wanted to install this GridRepublic software to help fight cancer.  Did I just get a piece of spyware? malware?

So the GridRepublic branded version of the BOINC client software was born to help reduce confusion for new participants. This had the added advantage that the GridRepublic client could be directly tied to the GridRepublic website without hurting the stock application. Usability studies, aren't they grand? 

WCG approached us early-2005 and asked if we would be willing to collaborate in allowing the BOINC client software run against the WCG servers.  They were getting quite a bit of feedback from the distributed computing community that wanted to run WCG plus a few other BOINC projects.  In turn they would help us come up with a simpler GUI and possibly other features that would be needed for corporate deployments.  By mid-2005 IBM legal gave WCG the go ahead and work begun in earnest.

In November 2005, WCG launched the BOINC compatible interface to WCG.  The amount of positive feedback they got was fantastic, the demand for a Windows based application was so high that they had to reschedule some other workitems to get the Windows version out the door.

In December 2005, we were approached by CPDN and the BBC to help put together a BBC branded BOINC client to run an experiment that the BBC was going to document.  Working with the BBC was an experience, the visuals changed rather regularly but they did get better.  We managed to complete the branded client by the deadline for the first part of the TV documentary in February 2006.  The BBC did a few usability studies by pulling people off the street, a few things came from that including renaming "credit" to "work done" as some of the people polled were concerned that their credit card might be involved.

May 2006, Willy de Zutter of BOINCStats fame launched BAMBAM largely flew under my radar as I don't recall Willy asking for any client-side changes.  I do recall a few bug reports being posted to boinc development though.

June 2006, WCG told us that they were ready to begin the simple GUI work, they had recently hired an internal developer who would do the work.  Later that month we had mock-ups sent to us via email and were giving them feedback on what we thought.  They started writing code at the beginning of this month.

Collaboration continues between BOINC, GridRepublic, BAM, WCG, and the community with tweaks to the UI to make things more easily understood by new participants. Account management systems continue to evolve as well, I believe the ultimate goal of the system is to provide a single remote interface to all of your BOINC based clients. Suspending/Resuming tasks, projects, and clients. Changing preferences for clients.  Attaching and detaching to various projects for clients.  In short anything you can do in the advanced GUI you could do via an account manager.

As far as the whole branding thing, I tend to look at the BOINC technology stack in a layered way.  BOINC sits at the very bottom, projects sit on top of BOINC, and account managers sit on top of projects. Account manager's need to be able to differentiate amongst themselves.  Right now that consists of website design and client graphics.  That doesn't make them any less BOINC enabled than if they kept the stock graphics or website design.

Another analogy in the software world with branding is Linux.  The Linux kernel sits at the bottom, applications sit in the middle, and distro's at the top.  Does Fedora get lambasted for changing the "start" button from the default KDE/Gnome button to a red hat?  Would Red Hat get beat up if they said "use our software, x number of people can't be wrong." where x is the total number of Linux users worldwide when the target audience for the advertisement is Windows?

I think the hostility towards WCG and GridRepublic is unwarranted and harmful to BOINC overall. From where I'm standing, everybody is being a good citizen. I do not believe anybody is out to do BOINC or the community harm, so if you see a problem just drop them or me an email.  Everything will get sorted out.

----- Rom

Thursday, August 24, 2006

A very common request we have from the community is to be able to run BOINC and various projects on a gaming console, whether it be the PS3, XBOX360, or Wii.

As many have heard Folding@Home has announced that they have a client package for the PS3.

This is great news for all distributed computing projects, personally I think this will begin the domino effect of having all the console manufacturers want to be able to support this kind of development.

We had gotten some push back from one of the manufacturers about doing something like this at the begining of the year and since we had the stuff with the CPDN/BBC to do and then stuff with WCG we decided to put the console issue on hold.  We are almost done the the WCG workitems and the CPDN/BBC stuff is already done.

When Microsoft announced XNA Game Studio Express I applied to participate in the Beta.  Now I need to get ahold of the SDKs for the PS3 and Wii.

People should realize however, this is only half the battle.  Once BOINC is ported, we'll have to get a few projects running on a console.

This kind of adds another diminsion to the whole notion of console wars.  I mean, can you imagine one of the administrative staff at a university getting a request to purchase 5,000 PS3s?  I would really love to be in that office when that request hits their desk.

----- Rom

Thursday, August 10, 2006

So here is another round of updates.  These came from Blaine of WCG.

WCG Skin:

Wcg_skin

BOINC Skin:

Boinc_skin

Preferences dialog:

Pref

----- Rom

Tuesday, August 8, 2006

Hot off the presses with the latest and greatest look and feel of the simple GUI:

We are getting closer to getting these improvements to alpha and beta testing. The guys at World Community Grid are doing a fantastic job.

Hovering over each project icon, which each project can have it's own icon, displays additional information:

Clicking on the project icon brings up a list of the project's web site links that are currently displayed in the advanced GUI as buttons on the left hand side of the screen.

Some stuff still needs some more fine tuning, like the preferences dialog:

Ideally the do work between settings and connect to Internet between settings should have both a start and end time instead of just a start time. World Community Grid is in the process of tweaking their skin, so that is why the preferences dialog looks so different from the main window.

I'll try and address some concerns brought up by this thread on the S@H forums.

1. The Simple GUI is being written in the wxWidget framework.  Although it looks like, at least for the first release, we'll only have it enabled for Windows. There are some potential issues we will need to cook on a bit longer for Linux and Mac with regards to fonts, globalization, and localization which will take a bit longer to address.

2. While the simplified view of the clients activities is getting a face lift, we are going to add some more information to the advanced view:

  • Bring able to hide the task pane.
  • Context menus
  • Property pages for both projects and tasks. Property pages should be able to display LTD/STD information. Stuff like that.

This is getting pretty exciting.

----- Rom