What people think about computers

I met someone interesting for lunch today, an engineer from Chicago who did his master’s thesis in ubiquitous computing. We had a very interesting conversation about how computers are viewed, and how they *ought to be* viewed.

We’ve heard numerous examples of people who have never used computers in their lives take to devices like an iPad or a mobile phone. We’ve also heard of people who have never used ‘high technology’ in their lives use cell-phones on a daily basis. And that serves as a kind of role model for us when we try to design computers nowadays, and target them at the ‘digital have-nots’ – for the billions that have not had access to computers so far.

However, there is a difference between a mobile phone and a computer, even at the conceptual level. A mobile phone is an appliance; so is an iPod, for example. They are meant to perform one task (or a few tasks) well. In the case of a mobile phone, it is to make and receive calls, and send and receive messages. In the case of an iPod, it is to play music. So the conceptual model for their use is straightforward; for a mobile phone user making a call, it is: choose a recipient, initiate a call, talk, and hang-up.

It has become fashionable of late to design software for computers that make them appear as appliances. For example, if you pop in a DVD into a computer, most likely the software that plays the DVD will have controls that mimic a DVD player, with a play/pause/volume button. So anyone who is comfortable using a real DVD player would, hopefully, be able to relate the user interface of the computer’s DVD playing software to the actual functioning of a DVD player, and feel familiar (or at least, less intimidated) by the software.

Packaged software has become the mainstay of our interaction with computers today. That is why, when I ask people of my father’s generation (who have probably started using computers only in their 40’s or 50’s) what computers can do, they say, computers can create documents, play music and movies, browse the internet, solve equations, video-conference.

All of which are true, except: it is not the computer that does these things (except indirectly); it is the appropriate software package that does them.

And no one who is exposed to computers in that way will ever answer the question of “what do computers do?” with the right answer, which is, “computers compute.”

And that is why, despite innumerable efforts by several groups of people, all of these people will feel intimidated by ‘programming’ a computer. Their mental model only fuzzily (if at all) recognizes that computers can be programmed to do anything that is computationally feasible, not limited by what software exists. For them, the basic conceptual blocks of computers are menus, mouse cursors, pointing and clicking, buttons, and volume control – not data structures and algorithms.

The question we discussed over lunch today – a discussion which did not definitively end – was: what would it mean to have people build non-appliance mental models of computers?

Is it a good thing? -Would we empower people if we described computers to them as ‘programming machines’, or would we go back to a world where only the intellectual elite felt safe around computers?

And, is it good to teach all people that they, too, can program a computer? Or should the status quo continue – where everyone is more or less comfortable using a computer, but only a handful of anointed experts, mostly with engineering degrees, are capable of programming them?

Which way? What do you think?


One thought on “What people think about computers

  1. Currently, here in the US, there appears to be a dearth of programmers of all kinds, not just experts. Number crunching experts are extremely hard to find based on my own recent experience trying to hire such people. Also, there are all kinds of well publicized attempts to get more people to learn programming, for example NYC mayor Bloomberg is learning javascript! It’s debatable whether building web applications is a good use of the mayor’s time but it’s definitely a good idea to introduce the baisc tenets of programming to a wider audience. Programming, after all, is akin to mathematics and provides the ability to turn structured logical thinking into useful applications. But, programming, like all other productive endeavors, is still bound by the laws of economics. Consumers of a product have to outnumber producers else what’s the incentive. So, data structures and algorithms are, unfortunately, best left to the experts with the general populace relegated to using the end products and providing the right signals to the producers to keep innovating.
    P.S: some of the best number crunchers I have encountered didn’t have engineering degrees. One of them was a Yale law grad!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s