Wednesday, 31 August 2011

The Song of Technological Progress

There is a chorus singing somewhere just out of sight, and if you listen, you can hear the echo of their voices in every lab and every office in the world.

The melody carries through our portable phones and our cars, and through every modern transaction you conduct. The rhythm is syncopated with the tapping of my keyboard as I type these words, and the backbeat is in time with the microsaccadic movements of your eyes as you try to focus past the glare on your monitor to read them.

This is the Song of Technological Progress, as it is sung in the 21st Century. 

And the words they’re singing? The lyrics of this omnipresent muzak are hardly important so long as everyone keeps humming in time. In fact, it would probably be better for all of us if we were to just mumble smilingly along like a politician singing his national anthem and forget about the meaning… better for us as developers and thinkers and planners and Engineers…

But as humans; as humans it would help us to listen to the words, to try and drag the meaning of them out into our shared understanding.They are familiar words. As programmers and Computer Scientists, as technicians and office workers and especially as Ergonomists, we sing these words all day long. The tune has grown more popular than ever before but the words... what has become of the words?

“Human-centered design” is in there somewhere, as is “intuitive” and “ergonomic”, but just like “trusted” and “proven” and “reliable” and “guarantee”, the words have lost all meaning under the sway of the powerful jingle that has everyone singing and humming and drumming 24 hours a day.

Well, I guess I have to admit that these words haven’t lost all meaning...

Now they all seem to mean: “BUY THIS!”

Wednesday, 24 August 2011

The cognitive agent's insomnia

Here you are: you got in the scope of attention of your favorite cognitive environment. And – to make things clear – it is an artificial one. What can you deduce with a certain probability? The interoperability problem that had been limiting proliferation of ubiquitous computing and advent of the Internet of Things has been somehow solved. What a good news! Thanks to that, sensors and actuators started talking together and became more valuable to your living. Here is a key point: some applications enabled by the networked devices got a tremendous impact, since they solved real problems for the people.

That's what knowledge is for, oh yes, for solving problems and... for putting other people in trouble. But this is not the case of your cognitive environment, that – if it claims to be at your service – it really is. Inside of it, there is a model of the user expectations, that it uses to predict your needs before you make them explicit. But you are so unpredictable and no one - especially an engineer - will ever be able to program such a model out of you! Let us suppose that among your qualities you have patience too. The cognitive environment is able to learn from past interactions, especially from those that weren't so successful for both of you. Interestingly, it will also consider the possibility that things went wrong just because you were unlucky. But at some point, it will have enough confidence to formulate a reasonable hypothesis. It will update its model and try to validate the new hypothesis in the next interactions.

The capabilities of a cognitive agent should only be defined by the statistics that it collects, as it has to be more conservative when data is scarce and to go in the details – even those that seemed insignificant at design phase – when urged to do so. It follows that an interactive environment should never be lazy: when there is no one with who to interact, it should reconsider its internal structure, generate new assumptions and test them using simulated inputs and if it goes to sleep, it does that to dream.