Login Register

Example 3: Many Happy Returns

Problem Statement

Andy is consulting for a company, No Problem Corporation, who needs a Customer RMA (Return Materials Authorization) application. This company had hired another consulting firm before Andy. But their web solutions were ... well, honestly, they sucked. So now Andy is on the line to deliver something really, really good.

The application helps a customer get their RMA'ed equipment properly tagged and shipped. To do this, they use a web interface to assign RMA'ed serial numbers to boxes. The application must interact with WPS (World Parcel Service) and enforce WPS requirements. The boxes must:

  1. Weigh 150 lbs or less;
  2. Contain parts whose total worth is $5,000 or less.

Once the customer assigns parts to boxes, they can click "Print" and the request is sent to WPS'es web service, which returns nice neat set of labels. The labels have No Problem Corporation's WPS billing number, so the customer essentially ships them for free. They like that. And No Problem Corp. likes it because the labels have item information clearly printed on them. Makes it very easy to unpack.

The earlier consulting firm built a prototype web application. It presented the process in a wizard-like format. You pick a serial number and a box number from a drop down box and click Next. Then you do the second and third.

The test users liked the application fine ... until they made mistakes. They tried going backwards in the wizard, and instantly lost track of their progress. Many times they closed their browser and started over.

They built a second one. This one had a grid of serial numbers and box numbers in the middle. They filled them out one row at a time. If they caught a mistake it was easy to go back and correct.

The trouble was, they never knew they had overfilled a box (more than 150 lbs.) until they clicked OK. Then they had to split boxes. But since they had already assigned boxes 1, 2, and 3, they needed to fill in box 4's in the middle of the grid. It looked weird, and test users usually ended up renumbering them all to make it look right. This application was released, but so many customers complained it was quickly retracted.

Andy, having read the Dojo book, instantly saw a way out. You could list the serial numbers in a tree on the left hand side. You could have a tree of boxes on the right. Then you just drag and drop the items into the boxes. You get instant feedback on weight and value as you drop things in. To split a box, you simply create new one and drag the items from one box to another. Because the UI doesn't let you make a mistake, the Print button always works flawlessly.