We live in an attention economy. Unfortunately this sometimes (or should I say often?) leads to poor programming practices. Not your or mine poor practices but from all the others ofcourse. Consider the following example as stated in the Wikipedia article Principle of least surprise:
“A user is about to enter his username and password for a program or website when he receives an instant message. Some instant messaging clients will immediately grab the keyboard focus and move it into their own response field, because they assume the user will want to respond to the new message immediately. In reality, the user may be astonished to find that they have just typed their password into their IM client and sent it to their friends. This conflict arises because the two programs are not aware of each other’s existence, and cannot easily determine when they might get in each other’s way.”
So we see here that it’s the client that steals the focus. Look at the picture below to see how annoying it is if something gets focus without “approval”. The client ‘grabs’ the focus (which can be considered an act of theft!) and moves the focus to it’s own response field (which can be considered an act of greed or egoism!). Who’s to blame for this? The O/S architect? The programmer? The developer? The programming schools or institutes or practices? Or the “end-user” that didn”t make clear to the programmer that he shouldn’t steal the focus? I don’t know. Maybe it’s because we think that writing poor software is normal and should therefore be accepted. It’s a culture thing. Leading to mediocre quality software products. It’s a pity. I wish all of us a culture where we consider quality important enough to invest in. So we get better products.
Information Technology has given humanity a lot of useful things. But is has also given us new problems. Like the problem that we are able to produce far more information than we will ever be able to consume. So information overload is a given. We somehow have to live with it. And learn how to prevent waste coming from e.g. filter failure. But where did the overload come from? Maybe one of the more important reasons we produce information is because we want to attract attention to it. Given this, we could also say that it’s not information overload we’re facing, but attention overload. And since we just don’t have the time to handle the overload of attention there exists, we need to find ways to filter it.
The Wikidepia article about Attention Economy states: “Attention economics is an approach to the management of information that treats human attention as a scarce commodity…As content has grown increasingly abundant and immediately available, attention becomes the limiting factor in the consumption of information.”. What this means is the time you have available to spend for handling attention is limited. And nowadays, the time between attention interruptions also increases, which means you must have even more tools to filter the overloads coming at you. And in this constrained available time you have to carefully filter from the attention abundance. I suggest an effective filter would follow the Universal Law of Attraction: anything we pay attention to, grows. So if we want to grow good things, we should pay attention to good things. And try to ignore all the rest. But ofcourse there are plenty of other filter techniques.
Should you want to know a bit more about the ‘attention’ topic, I suggest reading the interesting post ‘Competition among memes in a world with limited attention‘ by L. Weng, A. Flammini, A. Vespignani, F. Menczer which was published 29 march 2012 in Scientific Reports by Nature Publishing Group. It tells about a/o how memes could go viral, even when there is attention scarcity (“Agents share messages on a social network but can only pay attention to a portion of the information they receive.”).
Over the years I have trained a few of my dogs using different techniques. I started out with the Carrot & Stick method. It worked great. My dog did exactly what he needed to do when and only if I gave him a command. There was only one little disadvantage: he was constantly frightened and only did things when I asked him to. He had a lot of fear to initiate something himself, so he was constantly waiting for a command. Then I went to another training school where the carrot & stick method was strictly forbidden. Here we had to train our dogs using the Attention method.
And that also worked. It took much longer time to train however. But in the end my dog followed my allmost blindly and had a lot of fun already. The anxiety was gone, but the self initiative wasn’t still there. That was because we never trained our dogs to “think” out complex situations for themselves. We did that for them. So they never had incentive to improve their own capabilities. And so they developed what you could call “learned helplessness”. And then this training school stopped and I decided to look for another school.
There they taught me again a new technique, based on Selfreliance. Here I learned in the beginning to develop “angels” patience, give my dog a lot of attention and guide her exercise by exercise, learning her to think out most parts of the exercices herself. In the beginning it looked as if it was taking ages, but sooner than I thought, I saw my dog having lots of fun. She increasingly started taking inititives herself as soon as she understood the core meaning of an exercise . So now I am at the level that I only need to guide her a little bit. We’re both much happier now and are constantly thinking and practicing newer, complexer exercises. I can recommend this approach to everyone. It worked for me.