American Express Statement Download Functionality

I’ve just been trying to download all my old credit card statements from the American Express website. That’s the kind of exciting life I lead.

I had hoped that this would be a fairly straightforward task, but every step of the process seemed designed to frustrate and annoy me, leading me to pen this quick list of a number of suggestions for how the functionality could be improved.

Here’s what the “Download PDF Statement” page on the Amex website looks like. Click for a larger version:

The first thing that irks me is learning that only my last six months’ worth of statements are immediately available for download – the rest must be requested and will be available 24 hours after ordering, for 14 days. Bear in mind that these monthly PDFs weigh in at about 30 kilobytes apiece. Is online storage really such a scarce resource these days? If Google can make up to 7622 Mb available for anyone who wants a GMail account, surely a company the size of American Express could find a couple of megabytes for each paying customer?

OK, so I have to request the statements. How do I do that?

You can order any of the statements listed below. To order, please check the appropriate box and submit your order.

Well, I want them all. But there are no bulk-selection options. I have to check each checkbox individually. Would it have been so difficult to add a control which toggled the state of every checkbox? Or maybe a checkbox next to each year which toggled the state of each statement within that calendar year?

Having carefully selected each of 61 checkboxes, I click “Order Now” and am presented with the following dialog box:

Woah, who said there was a limit of twelve months?! There’s nothing about this in the explanatory blurb inviting me to order “any of the statements listed below”. If such a restriction existed, it would have been nice to know about it before I checked 61 checkboxes.

Even if I had been forewarned about this limit – the American Express developers clearly understand the capabilities of client-side JavaScript, so it would have been polite to have prevented me from selecting more than twelve checkboxes, by prompting me and/or disabling the unselected checkboxes after I selected my twelfth checkbox.

By this time I’m pretty frustrated at the whole experience. I have discovered (the hard way) that it isn’t possible to download all my old statements, just the last six months’ worth, plus any other twelve of my choice. That seems a very strange business rule. Oh well. Twelve it is. I reload the page, select the most recent twelve statements, and click “Order Now”. A familiar dialog box appears:

What the?! But I have limited my selection to twelve months. I recount – yep, definitely twelve checkboxes selected – before resorting to viewing source and searching for “please limit”, which reveals the following function:

Yowza, an off-by-one error on the website of a financial services provider. That’s reassuring.

I give another sigh, uncheck one of my twelve checkboxes, and submit a request for the most recent eleven statements. The following confirmation message appears:

Notice anything odd? I almost didn’t – I was just about to navigate elsewhere when I noticed the text on the button on the left:

Request Another Statement

But I thought I was limited to selecting only eleven or twelve statements? It seems not – and indeed, the website lets me go round the bend loop another five times, picking no more than 11 statements on each iteration until I’ve eventually ordered all the statements.

Let’s think about this for a moment. There is no business policy preventing the customer from requesting more than eleven historical statements, and there are certainly no web/HTTP issues with POSTing a form containing more than eleven selected fields. Presumably then, there is some technical limitation deeper within Amex’s offline systems restricting processing to batches of no more than eleven statements. Why expose that technical limitation to the customer and force them to mentally perform the batching? Why not allow the customer to simply click a few buttons requesting all of their statements, and have some server-side code batch this request into multiple commands to downstream systems, if that is what is required? Shouldn’t web front ends be all about façades and anti-corruption layers?

24 Hours Later…

If you thought that would have been the end of my little rant, then I’m sorry to disappoint. But the usability of this functionality didn’t improve much when I returned the following day to download the statements that I had ordered.

Sure enough, the page listed individual hyperlinks to each statement that had been ordered:

Requiring 61 clicks, and 61 downloads of individual PDF files. Why so hard? Again, I turn my attention to how the mighty GMail works – when I receive a message containing multiple attachments I have the option of opening/downloading them individually or downloading a single ZIP file containing all attachments. It is the little touches like this that make GMail so enjoyable to use, and serve to embarrass other sites which omit the same niceties.

But hey, I finally got all my statements downloaded:

…and now I just need to write a quick little script to rename the files into a more useful format, say YYYY-MM! I don’t know about you, but I’ve never seen a benefit in sorting alphabetically by the name of the month.

On the face of it, then, the American Express website has provided exactly the functionality that I wanted – to be able to download PDF copies of all my historical statements. But the functionality has been designed and developed in such an ill-conceived way as to be unpleasant and time-consuming to use at every step of the unnecessarily long process.

Wacom Bamboo

Almost everyone who has wandered past the various desks that I’ve occupied over the last year has passed comment on my Wacom Bamboo Pen Graphics Tablet:

Wacom Bamboo

So, let me say a few words about my experiences with that.

For the longest time, I had been perfectly content to use various Logitech VX / MX mouses as my secondary input device, occasionally using a Microsoft Arc Mouse (very convenient to carry around in my rucksack).

But in the Spring of 2010, I developed a nagging pain in my right forefinger. It sounds silly and trivial, but over the course of a couple of months it developed from a barely-susceptible twinge to something that was genuinely impacting my life – I struggled to open Coke bottles or turn the key in our garage door’s stiff lock.

I turned for advice to Joe Steele, my personal guru of alternative input devices, and someone who I knew had previously suffered with RSI. Dr Steele confirmed that my symptoms mirrored those that he had experienced some years previously, and prescribed a course of two tablets – one for home use and one for client sites.

The Wacom Bamboo is an excellent piece of kit, and reasonably priced compared to other tablets and decent mouses. But it does take quite some getting used to. There is a knack to moving the pen around just above the surface of the tablet – a gap small enough that the movement is perceived by the tablet (and the mouse cursor moves), but without actually touching the tablet (which leads to dragging-and-dropping). This is particularly problematic if you venture anywhere near Visual Studio’s Solution Explorer – it was quite embarrassing how many times I checked strange folder/file moves into source control in the early days of my Bamboo usage. This acted as a good lesson to steer clear of Solution Explorer and get into the habit of navigating using ReSharper instead!

Overall, it took me a good few months before I was as fast and accurate using the Bamboo as I was using a traditional mouse. This could be quite frustrating when I just wanted to get something done, and on a number of occasions The Wife snuck into my office and caught me of an evening, guiltily risking my health with an old VX Revolution. As with many things, perseverance is the key – having Bamboos at both home and work certainly helped. Over time the pain in my finger subsided and has now disappeared altogether.

Two specific tips if you’re thinking of giving the Wacom Bamboo a try for day-to-day computing use:

Firstly, be sure to configure the device to use “Mouse Mode” rather than the default “Pen Mode”. Mouse mode “moves the screen cursor with a ‘pick up and slide’ motion similar to using a traditional mouse”, whilst Pen mode “sets the cursor so that its movement corresponds with the position of your Bamboo pen on the tablet – wherever you place your pen on the tablet, the cursor will jump to a corresponding point on the screen.” In my experience, Pen mode led to the cursor jumping wildly around the screen unless I gave consideration to where on the tablet I was placing the pen – a very unnatural experience after many years of using a “traditional” mouse.

Secondly, I suggest mapping the lower button on the barrel of the pen to the “double-click” action, as trying to emulate a double-click by tapping the pen nib on the tablet twice in quick succession is awkward – a problem which compounds if you need to perform many double-clicks, such as navigating around a file hierarchy in Windows Explorer.

I mentioned a few years ago that a keyboard makes a hell of a difference – well, it turns out that selection of secondary input devices can also make a huge difference to the long-term viability of a career, if you can invest the time to become proficient in their use.