This article is a response to Ed Finker (AKA funkatron)’s blog post: “We’re the Stupid Ones: Facebook, Google and Our Failure as Developers”. If you have not read it yet, please read it first, as this post won’t make much sense if you haven’t read it. Ed Finkler makes two points in his post. First of all, a small one, which tells us that, in his opinion, Google is making a mistake in indexing. It doesn’t select the most relevant page as the first result, but a somewhat relevant page, which confuses users. Secondly the main point: developers should create UI’s which interprets user input the way the user naturally would expect it. I’d like to give my opinion on both.
First of all, the Google mixup. Ed Finkler wonders how this is possible, but in reality, it fails because it tries to adhere to the main point of Ed Finkler’s post. Users have over the past years moved from finding information to finding answers. In the first years, search engines catered a problem where the internet grew too large to remember all the pages. Search engines were used when other tools (like bookmarks) failed, or when you were researching a subject, and wanted to find all pages that where relevant to your subject. In the later years, usage of search engines changed from being a last resort or a research tool, to being the primary way to navigate the web. You don’t have to use bookmarks, you don’t have to remember URL’s, you just enter a question, and the almighty Google answers. In the last couple of years, the ‘social web’ started to arise, and search engines went with it. It doesn’t matter what has been written, the here and now is what matters. Therefor, a page like ReadWriteWeb is more relevant in Google’s algorithm than Facebooks own result. It’s been changed recently, it’s being referenced on web2.0 platforms (twitter, blog comments, etc), so it must be the new hot thing. Way more relevant than an ages old page where nobody talks about, and nobody links to. Google tries to interpret natural user expectations, and therefor fails to give what users expect naturally.
Which brings us to the main point: developers should write UI’s that work the way a user naturally expects. Let me get the record straight right away: I strongly disagree. Here’s my reasoning:
What a user expects
The reasoning and the expectations of a human being depends on thousands of things. Even partners, together for decades, still have issues now and then with interpreting the significant others’ expectations. No company, no matter how many people work there, and how good their researches are, will ever be able to come close to a trustable way of determining what a user naturally expects. Even if, under perfect circumstances, it can be captured in an algorithm, it will fail to work as planned as soon as any of the circumstances changes. Let me give you a clear example. Let’s say we have a user Joe, and we have a search engine for pictures. Joe is a single male, 26 years old, and although being raised with christian values, he doesn’t spend much time on his religion nowadays. He goes to church on sundays, but that’s it. Right. Now Joe searches for pictures of ‘beaches in Europe’ on a saturday. He gets a couple of pictures, and on one of them, a woman can be seen sunbathing topless in the distance. Joe kinda likes this, and doesn’t have an issue with it. On the contrary, the destination shown just gained a couple of points to be the choice for his next summer break. When Joe’s mom comes over the next day, he wants to show her where he’ll be going next summer break. The same image comes up. Suddenly, Joe is disappointed in the service. That’s not what he expected. What changed? Now it’s Sunday. And because of his childhood, and enforced by the presence of his mom, nudity just isn’t acceptable on a Sunday.
Let’s go back a bit in time. A user boots up the pc with a floppy disk still in it. The disk contains some documents, nothing else. Is it naturally expected that the pc tries to boot from it? No. But it’s consistent. Run into it once, and you can fix it every time it happens. Within 10 times, you make it a habit to remove disks from the drive when you shut down the pc. To shutdown a computer, you click start, then shutdown. Is it naturally expected? No. Does it work as expected? Yes. You click once start, find the shutdown icon, and you can shutdown every pc running Windows. It’s consistent. Yes, it needs a manual, yes, you need to learn how to use it, but then it works flawlessly. UI’s should have a consistent design, which always works the same. No matter if it’s Sunday, if you’re atheist, or had a rough day. Take for example a QWERTY keyboard. Naturally expected would be ABCDEF. It’s not, for historical reasons (to gain the highest speed on a typing machine, while minimizing the risk 2 hammers cross). Users were always told: this is how you interface with the system, and they accepted that. And it works. Yes, there’s a learning curve, but it always works. You adjust your expectations to the system, while you learn how to use it. Once you get the hang of it, you can blindly trust on it.
The reason why we can have such issues as detailed in Ed Finkler’s post, is because we spoil the users too much. Research has shown that for the non-ICT’ers, Google is generally considered to be an acronym to the internet itself, or as a browser (source). Nowadays, you don’t have to understand the principle of the internet. You don’t have to know the difference between Google and a browser. Everything gets figured out for you. And if you enter ‘Facebook login’ in the ‘go’ window, it will go to the login page of Facebook. You see a login window, so you enter a username and a password. A 3 year old could do it. Why would it be any different tomorrow, when another page gets ranked higher? Why would it be any different when you click the link in your mail to answer “Facebook’s” request to validate your account again? Yes, the system administrator at your job always stresses that you have to check the URL, when he cleans out your system of viruses again, but you don’t even know what a URL is. You notice weird transactions on your credit card statement, but that’s your own fault. Your friends in the bar had told you that buying over the internet is the stupidest and unsafest thing to do.
We are the idiots
Non-ICT’ers generally do not know how to value information found on the internet. They don’t realize that anyone can put anything online. You just type a question, and the internet provides an answer. Google is optimized for usages like that, as that’s how the majority of the people use it. People used to research, read multiple opinions, then finally make their own. Nowadays, they just want the most recent, most relevant answer, and that’s the truth, the whole truth and nothing but the truth.
Yes, Ed Finkler is right. We are the idiots. Not because we can’t make a system that works the way a user naturally expects, but because we try to do that, even though it’s impossible, as long as there is no mind reader connected to USB. It’s the equivalent of trying to build a car you don’t need a drivers license for. It’s easy to drive, but it doesn’t teach you the rules of the road. Our client wants something that works without training, we build that, and then run into uneducated users who ask “stupid questions”. I mean, did you know that a *wireless* router needs to be *wired* to a power outlet *and* to the internet?
Filed Under: Two Cents
Released: on Feb 18, 2010 under a Creative Commons Attribution-NoDerivs (CC-BY-ND) license