cubicled developers cant build user interfaces

Thu, Aug 21, 2008

I found a new blog to read the other day and this post brought back memories of when I visited the opticians earlier this year for a new pair of specs. I’d been down to Glasgow, to the GFT, to be filmed for a Gaelic astronomy program, Reul-Chuirt (Star Trek), where I was talking about the beginnings of astronomy and how to get started as an amateur. Anyway, I’d ended up leaving my specs in the GFT and no-one could find them, so I had to arrange a quick visit to the opticians. Luckily I was going to be down in Glasgow the following week on the way to a wee break in the borders, so I decided to pop in then.

As we were early arriving in Glasgow the following week, I waited at the door as it was first come first served day. The optician was a very nice lady who knew exactly what she was doing and even spotted a mistake in my previous prescription, with the result that my new specs would be even better than the old ones. Before she managed that however, she had to negotiate the new user interface the company had foisted on its professional opticians. As I sat next to her, I noticed she was getting a bit upset, so I leaned over and asked if I could have a look at the screen, explaining I was a professional software engineer and liked to look at user interfaces.

Well, it was crap. It was criminally crap. It was one of the worst user interfaces I’ve ever seen. It was a supreme example of Tab Hell. If I’d had a developer produce that, I’d have quietly asked them if they were perhaps in the wrong profession. Perhaps they should really be a baker? Two problems immediately sprang to mind. First, the developer(s) had no idea how to design user interfaces and second, they had never included the users in the process.

I’m a great fan of Domain Driven Design (DDD), where developers work with domain experts to produce systems that are fit for purpose. Now, presumably a professional optician is a domain expert and a software developer is a waste of space in this domain. This obviously hadn’t stopped the company presumably outsourcing, posting the requirements off and getting a load of tosh in return. I don’t know if they outsourced but if they didn’t, then it’s even worse. They must have deliberately ignored their main source of income. The professionals who provide their income stream, the opticians. Presumably no company is that stupid, so I got the impression they’d outsourced the work, offshore, offcountry, offcontinent, so DDD was an impossibility. They just handed the spec to a load of code monkeys who returned the finished goods, which they then distributed to their stores, apparently without any training.

The optician then showed me the old system. An A4 sheet of paper with fields they required. It was quick, simple and domain specific. Opticians knew what everything meant and could fill it out in a minute or so. Problem was, this didn’t fit the “knowledge management” model of the company, who then decided to provide a multiple tabbed software application. I can only presume as an exercise in “we’re better than you”. I left the shop clutching my new improved prescription, thinking what a bunch of bozos their software dept. was. That’s a bit harsh you may think, well read on.

A couple of days later I received a letter with my eyeball access details. This is where I can logon to their database of iris scans and download mine. Excitedly thinking about groovy posters of my mars-like eyeballs on the walls, I ran to the computer, loaded up their site and tried to login. No chance. Incorrect access details. So I fired off an email to their support dept. A week later some bemused store manager got in touch to say they didn’t handle the iris scans and to get in touch with their head office, which I did. Another week later, bozo central emailed me to say, well, they could see my scans in the database but they couldn’t give me access to them as they couldn’t find my account details, which I’d provided them with.

I then emailed them back suggesting their monkey crew download my scans, as they could see them, put them on a CD and post them to me. A week later I got another email from the banana brigade informing me that I could now, thanks to their IT team, access my scans online and sure enough I could, once they’d given me my new details.

So let’s summarise. A major high street opticians decided to rip out the current way of recording patient information and replace it with a complete joke of an overdesigned, user excluded, unusable pile of crap, which added time to my appointment due to lack of staff training. They then screwed up my database record and when prodded, more or less said they could see the scans, must be my fault. It was at that point I got a taste of what the professional opticians must have experienced on delivery day.

It’s people like that, that give the rest of us a bad name. It’s the usual attitude of, hey, it’s software, how hard can it be? Well, software isn’t hard. There are zillions of This For Dummies, That For Dummies books but they should all be grouped on the shelf named “How to be a CRAP SOFTWARE ENGINEER”.

It’s not about the software STOOPID. By the time you come to write the software, you’ll have gone though the full process of involving users and getting their view on the domain for which you know nothing about.

Major high street retailer - have a banana!

comments powered by Disqus