Thursday, 29 January 2009

Software bugs in my daily life - #1

I am not a big fan of online shopping, but of late due to lack of any other option and partly due to my being in London, I am doing a bit of online shopping. And this is where I found a bug today, and this idea of documenting software bugs in my daily life.

Tomorrow is my mom's 50th birthday, and among other things that I did, the plan was to send her some flowers. So I went to the website of one of the well known florists in Hyderabad,India and logged in. Few minutes later, I had my choice ready and in the shopping cart. As I proceeded through the checkout, I was asked to enter a message on the enclosing card. I typed in a small message - and that is when the fun began.

The page now showed two next buttons. Normally I would expect "Add" or "Save" for the message, and a "Next" to proceed to the next page. Seeing two buttons labeled "Next", I was sort of surprised. I assumed, wrongly, that both mean the same thing - go to next page. So, wrongly again, I clicked the button at the bottom of the page. I was taken promptly to the next page. It looked OK, except that the message on the card as blank!

I looked around and found a back button. I click that, and am faced with a dialog saying page expired, resend data? I clicked OK and am taken to the same page from where I was trying to go back. The message obviously is still blank. But I notice that the delivery charge has doubled.Hmmm ... out of curiosity I hit back again and after hitting OK on the same dialog, I see the page and now the delivery charge is three times what it should be - the cost of the bouquet is still the same.Hmmm ... this time I hit F5 - and bingo the amount is now 4 times the original!

Being a developer myself I can imagine what kind of mistake the chap who coded it might have made. But nonetheless the page doesn't seem to have been tested properly.If it was not for my nitpicking habit if treble checking the costs on every purchase, I would not have caught this.

Thats not the end by the way. Because of the above error I decided to close the session and log in again. Thankfully they do not save the shopping cart between sessions. This time, they offered to load my pre-entered address. I was not really hoping anything here, but the form did get filled up incorrectly. Fields 1 to 4 were OK, 5 and 6 were blank and the 5 went into the 7 field. So fields 9 and 10 never got filled up and fields 5 to 10 are wrong.Hmmm ... by now I am hoping they dont reallys crew up something on my card details.

From then it was pretty much uneventful except for a minor issue with the mandatory form fields.

What appals me in this entire episode is the lack of quality. If it is a student who did this as a part time job, then poor chap is not being taught properly and needs to learn best practices;If it was a professional who was paid full time for this, then he is really bad and I would not trust anything in his hands. I am sure the florist does not have the resources or knowledge to test this stuff and must have trusted the guy who built it - and he did a not so neat job.

There will be guys doing mediocre jobs for as long as we have software, but we must atleast try to avoid mistakes, and if we need to really make a mistake, make a quality one - one that shouts, OK this could not have been foreseen!

0 comments: