sarathmenon (sarathmenon) wrote,

How not to design websites

A friend of mine pointed me recently to myntra which is an indian based website that prints custom T-shirts. I liked the design he showed me, and in an impulsive mood bought it. Being an indian dot com, I usually have relaxed expectations, but this site struck me as being really bad assed for a lot of reasons from the moment I went on check out to returning back to my account page.

For starter they use the payment gateway. Okay, now that's technically not their fault, but I have had bad experiences with CCavenue. And not just me, a sizeable crowd gets turned off from shopping on sites that use this gateway. They are impossible to deal with, they have a dysfuntional customer service department and refunds is one hell of a procedure. I've been screwed by these guys once, and I avoid them as much as possible.

No feedback when the site makes all those ajax calls. Seriously, how hard is it? throbber.gif is a Create Commons licensed image, and all you have to do is show that gif when the site is busy making some AJAX calls.Either that or make sure that they run in less than a second. You don't have to use the throbber, but for frak's sake, show some line of text when the user clicks on something. Something as simple as processing...

I ran into this problem showed when I was about to refer some friends. I clicked on submit and nothing happens. Impatient, and knowing that I have a lousy mouse button, I click again. And again for 5 times. I finally got a popup by that time, and the next four in quick succession. Turns out that the website sent everyone 5 mails, each with a different invite code. Wow! That's a hell of a discount. The invite box disappeared at that point, but I am pretty sure it's a div with style:visible=hidden. If I wanted to generate more codes, all I had to go was to enable firebug and keep changing it at will. Which brings me to my next point.

Intrigued by this, I did a view source on the page. The entire coupon generation thing was on the client side. Really, I am not kidding here. Sure it's a cheap way to save some processing power on your website, but do you as a website really want to expose that to your customers? I'll be frank, I am a cheap bastard, and if you give me your coupon code generator in your javascript, you can rest assured that I'll be using one every time I make a purchase. And obscuring it isn't really that hard. I have the js around from the landing page which I am not posting here for obvious reasons ;)

I use random word at [my_lj_userid] dot com for all promotional email and signing up to sites. And while passing coupons to friends that don't have a domain name of theirs, I use to avoid them being spammed in the future. All the custom domain email got delivered while every single invite to gmail wasn't sent at all. My roomate checked him junk folder, trash etc.. and there wasn't a trace of the invite. The culprit I am sure is a broken email parser. This one beats me. There are a lot off-the-shelf parsers for literally every language. I am pretty sure it's a broken regex for emails. For crying out loud, all those were valid RFC compliant email addresses, where did those invites go?

So, while doing all this I had refreshed the landing page once. That sent me another confirmation SMS. Did these guys seriously take my order twice? Don't you for example, um check the status of the order in your database before sending out a confirmation message?

Which brings me to my next point. The only people who avoid transactions are in the MySQL land. Because well, transactions don't always roll back smoothly, and if something screws up you end up with a data loss.Or wose, corrupt data.  I can't speak of more recent developments, but I've had to cringe a lot in my last job where I had to manage a 4.21 database and it's slaves. Seriously, I don't think anyone in their right minds would use MySQL for storing any sort of financial information. Okay, I am just guessing and border line trolling here, but I am ready to bet the backend is a MySQL db.

To be fair, the site does look good, and it has a lot of good stuff at decent prices. Yet, I am not fully convinced I want to do the whole ritual the next time I go on a shopping spree.
Tags: rant
  • Post a new comment


    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded