Home > Business, Personal Life, Process Improvement, Technology > Online Shipping; The Pain it Shouldn’t Be!

Online Shipping; The Pain it Shouldn’t Be!

Last Saturday I was trying to print a simple postage label for a package I wanted to ship.  All I wanted was a shipping label.  I thought it would take me five minutes at USPS.com, but it turns out a pot-roast cooks in less time that it takes to print a shipping label!  After using their sites, I have come to the conclusion that the United States Postal Service (USPS) and United Parcel Service (UPS) go through very little, if any, user acceptance testing.  FedEx isn’t much better; I did get a label in 10 minutes, but their rates are significantly higher than I was willing to pay.  Here are the pains I felt while navigating though the websites of the three major United States shippers.

United States Postal Service

The trouble at USPS.com started when I was signing up for an account.  The United States Postal Service’s website requires a “strong” password, which MUST include:

  • A minimum of 8 characters
  • At least 1 uppercase letter
  • At least 1 lowercase letter
  • At least 1 number

Special characters are not accepted.  The passwords “Sprite$%2” or “uisk28s5x” would not be accepted, but “Password1” would.  Which do you believe is more secure?  After signing up, I navigated to the shipping label creation page.

The “from” address, “to” address, and package information was all on the same page.  This made it impossible for a form filler to work correctly, which really pushes my buttons! For those of you who are unfamiliar with form fillers, they are tools that allow you to fill in web forms with the click of a button.  For example, I can say “fill the form with Ed Hayes data” and it will fill in my name, address, and most other personal information a form asks for.  I can also have it fill in my credit card data if I wanted.

I could not get past the screen of where I was supposed to enter the “to” and “from” shipping addresses!  The only error I received was “the address is not valid.”  I have no idea why; it gave no details on why the address was invalid. I ended up closing the window and opening it again. That seemed to solve the problem.  Go figure.

Continuing, I added my payment method with my form filler and got to the point where I was supposed to be able to print the shipping label.  I clicked the print button, and nothing happened.

I clicked the link that said “it didn’t print correctly” and was brought back to my shipping label cart.  I tried to go back do it again.  Although most of my data was saved, I was asked to type in my credit card CID code again.  It got quite annoying typing in this code repeatedly as I was troubleshooting. I tried three or four times to print the label, but was not able to do so, and I never got an error.  Furthermore, I didn’t see anything saying my browser or operating system was invalid or that I have to disable pop-up blockers.

I gave up and headed to UPS.com.


As luck would have it, my UPS account had expired.  For some unknown reason, UPS accounts expire after a few months of non-use. That is ridiculous. I had to start from scratch.

I got to the point where I typed my package information.  Like the USPS, they wanted me to fill out all the package information on one page. Once again, I couldn’t use my form filler.  I got pretty sick of typing in all the data over and over again.

Every time I did something with a drop down box, it would reload the page. I hate when sties have pages reload only to present the user with an updated set of options.  Every time the page reloads, the page position gets changed and it really aggravates me. A few lines of AJAX code would solve that problem and update data dynamically without page refreshes.

I went to choose the payment information, and couldn’t find a credit card choice.  For a second I was under the impression they didn’t accept credit cards as forms of payment.  I thought I would see what “Use  Payment Card” was, assuming it could be the credit card option, and I was right.  Why doesn’t UPS use the industry standard phrase “Credit Card?”  I pushed my “fill form with Chase Freedom” button.  And the data appeared to be entered correctly. I clicked next.

The page came back with errors.  It said my payment method expiration date was invalid. Looks like my form filler failed me! I corrected the dates and clicked submit again. This time my CID was missing!  UPS cleared the field each page load; very aggravating!  They should keep the data if the user is expected to fix an error. I corrected the errors, filled in the CID, and continued.

When I got to the package dimensions page, somehow I ended up with 10 packages to edit.  How did that happen? I never said I had 10 packages. I started to delete each package, which required a confirmations and page reloads.

I got so aggravated at the entire UPS process, I went to FedEx.com.

It turns out my form filler filled the package quantity with a 10 assuming that was the expiration date field.  Who do I blame for that problem?

Federal Express

The FedEx experience was significantly better, but still rather frustrating.  Just like USPS and UPS, they had the “to” and “from” address forms on one page.  Again, my form filler wouldn’t work, I had to type it all in by hand.

Another part of the form asked when I wanted my package picked up.  It was filled with the current date; a Saturday.  After filling in the credit card data by hand, and submitting the form, the page returned an error.  Saturday was not a valid date for ground shipments.  A bit annoying; why would they default to an invalid date?

When I went to change it, I found the text box didn’t allow manual typing!  I had to use their stupid calendar! What is the deal with all this crap?? I fixed the date error and pushed submit.

The page came back with another error!  My CID field was blanked out!  You can imagine how thrilled I was about that. Although the experience was painful, I got to the point where I saw my shipping label relatively quickly compared to what I went through at USPS.com and UPS.com!  Come to think of it, I never got to that point on the prior sites.

I was so happy! But, I realized I never saw how much it I was going to be paying.  Before I confirmed the transaction, I clicked on the “view receipt” and was in shock!  My little 6x3x3 package at 1 pound would cost $10 to ship.  Not acceptable. FedEx almost got my money, their site actually worked decent enough to get a label out!  But their price was too high.

I gave up on FedEx and said “maybe I have to install Adobe Acrobat Reader on my computer for USPS.com to work.”  I gave that a shot.

Back to USPS

I installed Adobe Acrobat Reader.  Still, USPS could not show me a label. I tried printing the label on my PC.  To my amazement, it worked! I found out, after chatting with a USPS representative, I had to correct some settings in FireFox:

  • Open Firefox
  • Click on Firefox next to the Apple logo in the upper left hand corner of your computer screen
  • Click on preferences in the drop down menu
  • Click on the Applications tab on the right hand side of the screen
  • Click on Portable Document Format or “PDF” for short on the drop down menu
  • Click on the drop down menu on the right hand side of Portable Document Format or “PDF”
  • Click on “Other” in the drop down menu
  • Click on and select “Adobe Reader”
  • The drop down menu should now read open with Adobe Reader
  • Completely close Firefox
  • Reopen Firefox and print out the label

None of this was displayed on their website.  Why not just allow the user to download a simple PDF instead of going through that process?  I would be willing to bet that most users couldn’t even follow that process to completion.

The web was built on standards, why not use them?  Why complicate the process?  It may make things easier for some users, but on the flipside, it makes the process impossible to complete for other users.  USPS doesn’t work with Apple Safari; there goes that entire client base. Why does it not work on Safari?  Because USPS most likely wanted to eliminate one step, and since most users use Internet Explorer, they designed their solution around that.

How it should have gone

All of these sites have many things going on that should have been weeded out with some simple user acceptance testing. If I was operating a shipping company, I would make sure the label printing potion of my company’s site had the following requirements:

Passwords should not be restricted

If a user is restricted to a complicated password, they will write the password down on a piece of paper or in an unprotected document on their computer.  This would completely negate any security the site was attempting to create.  Usually users have a few passwords they tend to use, which are easy for them to remember, and fit the majority of password complication requirements.  Let them use those.

The excuse that the server does not accept special characters is not an acceptable excuse either.  For one, the database should allow any number and type of characters in that tables field.  Furthermore, the site should be hashing passwords, not storing them in plain text where the database variable type may not accommodate special characters.

Data entering

Each section of the process should have its own page. This idea accomplishes many goals; it simplifies page development, it simplifies database insert statements, it conforms to browser navigation standards, it makes the process simpler for the user, and it allows the user to use form fillers.

All of these sections should have their own pages including a unique page for:
  • Account creation (username, password, email) or Login
  • From Address
  • To Address
  • Package Information and Service Type
  • Shopping Cart, with option to loop prior 4 pages for additional packages
  • Payment information
  • Order Verification
  • Printing the label

After the order is complete, and ready to be printed, the user should be given options to select print with PDF or via HTML.  If printed through PDF, the user should be able to click a link that directly links to the server-generated PDF file.  If utilizing the HTML version, the user would be able to print via the browsers printing function.  Each label should be presented as a separate image.  Modern browsers will make sure images stay intact, and not be split between pages. Any browser/operating system configuration could handle either label printing process.

The moral of the story

Make it simple, and use standards.  All other things being equal, if your process is the simplest, fastest, and easiest for each and every customer to complete, your company will be the preferred choice for all consumers.

  1. Dick Hayes
    April 26, 2010 at 6:21 PM

    I totally agree with the moral of your story. I am happy that your package was finally shipped after all your aggravation.

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: