The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination.
F.P. Brooks Jr Beautiful, isn’t it? and it summarizes perfectly what is our job or our passion. However, while we live in the Abstraction, we meet often a basic problem, that we could summarize with another well know quote:
Your piece of shit doesn’t work
A lambda user
Small but useful history to understand what will follow
We must admit it, we work, we wake up only because users exist. In the 80’s and at the beginning of the 90’s, the computer industry was splitted in two : the personal and the professional. The first one was intented for passionnate users. It was a ecosystem around in circles. The enthusiasts wrote programs for enthusiats. The users adapted themselves to the bugs. If a fonctionnality didn’t work, it wasn’t important, we waited for the next release.
When the computers was cheaper, a new wave of users appears. The news users was less Power User. It fell well because MS–Windows 95 appears at this time. The joy of the wild click. You could solve everything with few clicks. And if nothind worked, you could reinstall all. At this time appear a strange animal that parasitized the computer industry and which lives exactly between the keyboard and the chair. Often, a tentacle grew to catch the mouse.
What is a KCI?
We didn’t know how to call it, and someone decided to call it « Keyboard/Chair Interface » (or KCI) or a « Lamba User ». The lambda user is a strange animal because he want that the software he bought works exactly as he expects, that’s mean exactly as it was sold. He don’t want to buy softwares but he wants for free the same that the others KIC bought. The more implausible: the Keyboard/Chair interface appeared in the same time than the Internet for the general public.
We can find the main feature of a KCI:
- The KCI wants the best of the technology without changing a second its habits. Yes, he uses Windows 7 but regrets the old and glorious time of Windows XP. However, he didn’t understand yet that defragment his hard drive every week is useless, and that XP was a full of security hole because the incompetence of its KCI.
- The KCI uses Internet Explorer 8 (mainly because he don’t know to update to IE 11).
- He uses very easy judgment by finishing his sentences with « piece of shit ». He uses this sentence to not questionning he previous choices or to generate a opposition against something and by the way to belong to a group, a community. Therefore the Apple Computer users will think that « Linux is a piece of shit », for Linux users, it’s MS Windows which is a piece of shit and finally, for Windows users everything is a piece of shit.
- He’s always right. With his argument : « Yes, but this is not the same ». All Android phones are « a piece of shit » except his Galaxy S5 he bought with his renewal offer (because he couldn’t buy the last iPhone) and because Samsung this is not the same.
- He knows everything better than you because he saw a documentary or a movie in which they show this or that…
Yes, you know that guy.
Don’t hesitate a single second to add your own definition or your experience with the KCI in the comments.
Our problem is that we all make money with the KCI and we must take care of them. Some of us despise them, some of us ignore them, others accept them just for what they are: users like others. When I say « us » I’m talking about interface designers.
Despise the KCI is pretty easy : They don’t understand anything and will never understand. It’s a complete « racist » attitude. I take the word « racist » as its complete global mean: « Considerate another human as lower to oneself because of their nature ». Despise someone it’s also taking him or her in account et then you will going to be mad. You will create a website using the lastest techologies, but because the KCIs still use IE 8 (more than 40% of market share), you will must downgrade the functionnalities or you will run after Polyfills which work for the others but not in you case.
Another form of contempt is the silent downgrade. It’s the Google way with GMail. If you don’t use the lastest technologies, you can’t use all functionnalities.
It consists to ostracize KCIs. It’s the ultimate contempt form. If you use IE8 and nothing works as it should be, it’s you fault. Ususaly it’s a kind of elitism. Firefox or IE 9 and later users know it well when they use a WebKit optimized website (with the extension -webkit-).
It’s a behaviour near Hypters that everybody loves to despise (see the point above and replace KCI with Hypster and IE8 with Safari)
They are users like others !
The KCIs are users like others! They are and they will be massivly present in the computer industry.Theyare the onesthatmakeuslive! Without the KCIs we’re still hacking our 16 or 32 bits computers. They are ones who buy extremly powerfull computer for Christmas to play to Candy Crush on Facebook, they are ones who push the computer industry.
Take a service like OAuth.io on which I’ve talked about. In itself, this service is completly useless because we ususaly use the email registration. But the KCI don’t want to manage multiple accounts and multiple passwords massivly adopted the OAuth connexion.The benefits ? It’s transparent, and because they are always connected to Google or Facebook, simplier. Click, click, tap tap, click, and it »s good. The disavantage for us is the multiple of services to configure. That’s why OAuth.io exists, to simply our life. The complexity isn’t on our side anymore. It’s the KCI who push us to adopt those services. The KCI incompetance push use to create those services.
Another way to handle them ?
Instead of take KCIs for what they aren’t, why souldn’t we say that KCIs will push us to be a lot more efficient? Instead of using marketing arguements such as « Mobile First », why shouldn’t we use the sentence « KCI first » to make apps, websites and services which take care of the lake of technical competencies of the users.
If we add a button named « OK », we must add an help to tell to the user what this button will do. Be careful, the « help » button needs also to have its own help.
The best way to manage KCI is to educate him or her. Explain him/her why we wrote a HTML5 website incompatible with his/her browser and show him/her how to update it. Yes, we have to put a big red button « Add to basket » with a tooltip « By clicking here, you will add this product into your basket » and there’ll always someone to ask you : « Should I click on that big red button to add this product in my basket? »… Yes… always… It’s long to do, it’s boring to do, but it’s our job. See the bright side, it’s rationnalize our code because KCIs are extremly performant machines to find bugs and we have to improve the usability and the affordance of our programs just to be better.
We all are KCI!
Yes we are! A SysAdmin who speak CRON and BASH while he/she sleeps will despise us because we ask him/her a Web interface to administrate a system. And there is plenty of examples everywhere!
After, you transform yourself in a WPI as you see a mechanic (Whell/Pedal Interface).