I thought quickly rant off a few things I notice during my workday that not only have decreased my productivity, but also release an involuntary torrent of harsh language involving some developer’s butt and a sharpened stake. With splinters.
I am referring of course to application developers (or developer teams) who, instead of thinking outside the box, fall through the bottom because they didn’t tape it properly. Ok that metaphor didn’t quite fly, but we can’t all be perfect. I’m sober tonight so my wit is a little dull.
Back to my point.
If you are making an application, be it desktop, web or mobile, I would encourage, nay BEG you to please recognize these agonizing mistakes to avoid me coming after you with aforementioned splintery stake
10 Application UI design mistakes:
- Stealing focus – This is when some annoying little app thinks its okay to switch to the foreground to tell me something inane like “hey, I finally opened that document!” or “oh guess what? there’s an update”. No, I am afraid you aren’t the most important thing in the world to me, ever. Do not, I repeat DO NOT attempt to steal my focus. Half the time i’m typing something or doing something with precision that you utterly ruin by being a turd. You are like the cat that jumps on the keyboard, except not remotely cute or loveable. I can assure you, whatever I’m doing is more important to me than whatever you want, I hid you in the background for a reason.
- Updating every two days – You know who you are Flash Player. There’s a special hell, just for you. There is only one reason that an application should require frequent updating – if its an insecure piece of shit. In which case, why on earth would I use you? If this is not the case, why do I care what you are updating? why not collect all your feature enhancements and bug fixes into one big whopping update no more than quarterly? I am sure I am one amongst millions who, when they open a program, intent to USE it straight away rather than deal with updating. Half the time, updates break functionality anyway.
- Phoning home constantly – Though this has been taken to extremes lately with the massive Sim City shitstorm, you really would be surprised how every bloody program seems to just love phoning home. Some do it to check for update, once every thirty seconds. Some do it to confirm their license every ten seconds. Some are doing God knows what and there’s no way of telling what sort of information it’s beaming back to God knows where to be used in “whatever way we feel like it” according to the license agreement. Here’s what I did: I installed a program called Little Snitch (not sure if there’s a windows counterpart, don’t really care either). What it does is act as a reverse firewall (technically, just a firewall but don’t spoil the analogy) allowing you to monitor and selectively block outgoing connections. Why does a friggin text editor have to phone home every five minutes? Block. Try installing it yourself and see just how many of your programs are attempting to send all sorts of crap over the internet. STOP IT. You are wasting my bandwidth, slowing my computer down, and hocking my private data. Fuck you.
- In-app purchases – though sometimes these are appropriate, say, game expansion packs, most of the time its just a way to try and syphon more money out of my wallet. They look so shiny and nice in the app store sure, looking like the proverbial Venusian vision of beauty coming out of the water, sunlight glinting off her perfect skin… I digress. It is being used too much these days to deliver crippled crapware for a price, then asking for more money just to get to its advertised functionality. Mobile app stores are rife with the stuff. Like the classic bait and switch, I am denied my buxom beauty and am delivered a toothless hairy hag and told I have to pay more to see the naughty bits. If I have to pay for a piece of software, and I find I will have to pay more for the bits I need, I will pass you by for the scum you are.
- Subscription based software – This is becoming more common, especially at professional grade levels (i’m looking at you again Adobe) and sheathed in the shiny, wooly package of being a “Cloud” application. Oooh! they used a buzzword! Basically, instead of buying something, and owning it in perpetuity, you get to pay for it every month or they will take it away from you. Probably when you need it most on a deadline. There is another name for this, its called a protection racket. Planned obsolescence wasn’t good enough for some, now they want to make a new standard of raping their customers on a monthly basis. I will not buy into this business model ever. Microsoft has tried to do it for years (and trying again with Office), so that should tell you how honourable that is.
- Non-standard UI elements – Some developers are so proud of their skills that they believe they are somehow better than the 30-odd years of proven experience OS vendors have in user interface design. Sure, if you are making an immersive game, go nuts! its your playground. Otherwise, I want to see a standard window, with close boxes I can find and using the system toolbox which is proven to work, rather than your glitchy and wholly unnecessary window and dialog manager you cooked up on peyote. Some even do evil things like switch the expected locations of “OK” and “Cancel” buttons to disastrous results. Seriously, Apple nailed UI, you cannot do better. Stick to making your app work.
- Inconsistent UI elements – Some companies release a suite of applications, and they decided, in their bureaucratic wisdom, to have a completely different development team making each app in the suite with zero communication between them. For programs designed to work in concert with one another, the user will frequently have several of them open at once and switch between them. You would therefore expect everything to be the same – the toolbars, windows, key commands, even the general logic around how the whole program works. Unfortunately, for anyone who has used the Creative Suite, we soon realize that this is far from true. If you are going to make a suite of apps, make them play together nicely. If you have the same function in your five apps, put them in the same damn menu, with the same key command. Hell, share the code and reduce the bloat while you are at it.
- Bloatware – Oh God, this has to be one of the worst. I have a relatively new machine: a year old MBP. I love her, she sings to me. She is also blindingly fast, so long as the programs I run aren’t coded by psychotic monkeys who, as expected from any caged animal, make nothing but a giant pile of shit that I have to clean off the walls. There is absolutely NO reason why any single application should take more than ten seconds to launch. There is also no reason (unless I’m doing motion graphics or video editing) that it has to hog two gigabytes of my memory. Nor should the installed size be any larger than 10GB. Like a narcissistic fat hog, it devours my system resorouces while other, far more important applications, go hungry and halt for lack of cpu time. Yes, you can skip installing the clip art, trust me I will not use it. There is only one reason that bloatware exists at all – crappy developers and their equally crappy managers who decide to skip cleaning and optimizing their code in favour of delivering a bunch of new features no one wants or would ever need. Developers – make your apps lean and mean, not fat and gluttonous. As a bonus, they will work better and your user base won’t want to flay you alive.
- Rockin the single proc – Seriously, this is 2013. Why in the blue fuck are you slow as hell AND using only one processor? I have eight of them for a reason. Why should I have to wait for you to do a simple processing task because it never occurred to you to use more than one CPU? Shithead. In line with the points above – there is NO execuse why your app can’t run a crapton faster.
- Installing needless/annoying/damaging startup items/kernel extensions – This is a big beef of mine. Unless you are a hardware device driver, or if you have a real reason to be running all the time (almost never the case) DO NOT be a dick and assume I want bits of you loading at startup. Especially not bits named generically that take me a week to find like the dead mouse stinking up the apartment. 99.99% of applications do not need anything that loads at startup and most definitely do not require a (potentially destabilizing) kernel extension. Your updating yourself and phoning home (see above) are NOT valid reasons for doing this. If I want you to do anything, i will open you myself. Otherwise, stay the fuck out of my way.
There are more, but here we are at ten already. This means I am probably as bored as you are with the sound of my own voice. I’m sure many of you, my anonymous and silent readers, are nodding your heads and hrumphing your agreement at our shared experiences. Is there something you can do? Actually several. Try these:
Don’t buy into it – Refuse to buy (as much as you can get away with) software that are guilty of the above. Why open yourself for financial fleecing only to install something that pisses you off? Better yet, look for leaner apps that can accomplish the same tasks. Never buy into it just because “everyone else did”.
Limit the damage – Watch for installer options and uncheck anything stupid/annoying/unnecessary. If not presented with an option, check installer logs or go hunting for bits you don’t want in there and remove them. Nine times out of ten, the app will still work fine and be much less annoying.
Trim the fat – In concert with the above, routinely check your login items, startup items, and kernel extensions folders (system and user level) for insidious vermin and remove them for a smooth computing experience.
Block the bullshit – kill processes that don’t need to be running, block their outgoing connections, turn off update checking, data collection, home phoning, caching – the lot. Apps are there to do what YOU want them to, and much like children, should not be left unattended. Preference panes can be a wealth of user definable options that you can disable to make your life less annoying. If the options aren’t there, check the preference files, you will probably find some “TRUE”s you can change to “FALSE”s.
Write the developer – Though it will probably fall on deaf ears since their customer support was outsourced to India, who in turn outsourced it to the United States, it still is valuable to cast your vote, especially when you gave them thousands of dollars.
Anyway, now I can relax with a drink, cheers!