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.

Lessons Learned

First Revision

Design

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.

Problems

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.

Second Revision

Design

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.

Problems

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.

Dojo Awareness

Design

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 little box icons 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.

Implementation

To create this application, Andy needs:
  • Events
  • RPC (Remote Procedure Call) to communicate with WPS
  • Drag and Drop
  • Trees
  • Custom-made widgets to represent boxes

Headings for the quick read

This is a very interesting scenario. The biggest issue I have with the presentation of it is a lack of headers. I find them useful to get an overview of what the topic covers without having to read the whole topic first.