eVenue Can Suck My Balls
Mom wants to come down and watch a football game this weekend (just so happens to be homecoming) so I need to order tickets. "No problem," I thought to myself, "I'll just do it online."
I get to the site, choose the number of tickets and the location (horseshoe), and proceed to checkout. So far it has been only a mildly substandard experience, but if I've gotten this far then I figure I'm in the clear.
I couldn't have been more wrong. First, they want you to create an account with them. Why does every fucking site on the goddamn internet want me to create an account? I'm not going to purchase anymore tickets for UIUC sporting events anytime soon, so I don't need any sort of one click shopping to help me out. I should just be able to enter my information this once and get the fucking tickets.
Deep breath. I fill out their form for an account, click the button ("yes the information is correct," click again), and wait. And wait. Opps, there was a server exception. Would I like to try again? Yes, fill out the information and wait. But only to get another server exception.
The whole time there is this little clock in the corner telling me my tickets will be released in less than 2 minutes. So I figure I'll save them the trouble and release the tickets myself, because this obviously isn't going to work. I go back to my shopping cart, click the release button... and wait... and wait... server exception! Jesus wept.
This means I'm going to have to go down to the ticket office tomorrow and buy them in person. I'll also have to tell them how much their online ticket provider sucks. It's almost as if they hired the same people that did Banner to do the online ticket office.
Honestly folks, quality web software isn't that hard to write. I don't care what DeVry or the University of Phoenix Online told you, but there are some simple rules:
- Validate your data. Someone out there will enter something incorrectly, and it will crash your system. Yes, validation code is tedious, but you can't trust the user.
- Check return codes and/or thrown exceptions. For the love of God, a function is trying to tell you that something is wrong! Listen! If you're using return codes, then always check them. If you're using structured exception handling, then always catch the error at an appropriate level. Stop and think about which errors you can work around, and which ones are unrecoverable.
- Provide the user with a helpful message. Maybe the "server exception" was something I could have worked around, maybe not. Take a look at the fucking errors and only have the user retry their input if it is actually and error you think you can recover from. Don't waste my time by throwing up some blanket, non-descript error message when the error is one you know damn well won't be resolved soon.
- Just because you can, doesn't mean you should. Programmers get carried away with the "wouldn't it be cool if..." mentality, and never stop to think if it is something the user will really use. Instead of including every little bell and whistle (most of which probably won't work correctly anyways), programmers need to stop and ask how users are actually going to use their creation, and how to make it the most painless experience possible. If I had a dime for every program I've used that had twenty billion different options but hadn't made a single goddamn smart usability choice I'd have... well, a lot of dimes.
- Test your code. Test your code. Test your code. Your development cycle should be code, compile, test, then repeat. In the name of all that is holy, don't just throw your newly compiled code out there and wait for the bug reports to filter in. But I suppose it is too much to ask for a person who mindlessly codes to stretch their intellect for a moment and imagine situations that might break their baby.
This all boils down to one thing: have a sense of responsibility and quality for the things you write. Throwing together some stopgap, Band-Aid, horrible solution is never a good idea in the long run. If you haven't sat down and thought seriously hard about the planning of your program, then someone needs to take away your keyboard and replace it with a whiteboard and markers.
Alright. Sorry that I got sidetracked, but I can't abide by sloppy, crappy code; especially when I have to use it.
1. John Vaughan says:
Monday, November 01, 2004 at 10:08 AMWow! Make the man sign up for for an online account and he just goes off the deep end, throwing expletives everywhere!
You made me feel guilty for making people sign up for accounts at my site, USTrafficTickets.com, before we allow them to submit a traffic ticket. This is a relatively new step in the process, but after thinking about it, I've gotten over my guilt. Our system doesn't make you create an account just to buy something. In our system, it's not a one-stop process -- keeping a traffic ticket off your driving record and off your insurance takes a while, sometimes months. Our accounts end up working like UPS tracking numbers -- at any time, you can login to your account to see the status of your case, to make sure your lawyer is actually doing something and to make sure the cops aren't going to show up on your doorstep and arrest you for failure to take care of your traffic ticket.
So, while I'm open to argument on this, while more and more sites are requiring account signups, some of them add value to your experience, as opposed to just slowing down a purchase online.
2. sbutler says:
Monday, November 01, 2004 at 02:17 PMNot entirely true. If the account creation processes had actually worked, or if it wasn't simply a means to exploit me further, then you wouldn't have heard anything.
I have no problem with creating accounts on sites where stateful information benefits me. For example, certainly I enjoy my accounts on Slashdot, K5, MoFi, Ars Technica, and other places (and will pay for an account at MeFi when mathowie opens it up). The difference being that I didn't have to sign up for an account to enjoy these sites. I also don't mind my account at Monster, because I can see the legitimate purpose of having one.
But I despise my accounts at the NYT, LAT, and the Washington Post. Not once have they done anything for me but be anoying. I would rank the Washington Post the least anoying, because it uses my email addr as the login id, and I don't have to try four common logins before I hit the one that works.
Glenn Reynolds was once listening to a coversation his wife was having with an agent from a local paper. This guy was boasting that they have over 300,000 user accounts. But then Glenn retorted that yeah, 8 of them were his.
If I'm going to do business at a site that involves more than me placing an order, then it's not a problem. But if all I am going to do is place an order, or read an article, or do any other inherantly atomic action, then I should have the option of foregoing the account creation. Anyhow, I think I've ranted enough on this subject for now :).
3. Nic says:
Saturday, March 07, 2009 at 09:34 PMCan you please remove this blog post. eVenue.com is now owned by a different company and is in no way associated with the old eVenue. We would appreciate if there was not a link that "eVenue" can suck your balls. Thanks.