I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

October 30, 2008

HCI Remixed

I like to take one or two books with me when I travel, and one of the books I chose for this trip is HCI Remixed.

hci-remixed

Sometimes the books I choose are a bust. Fortunately that didn't happen this time.

HCI Remixed covers all the major milestones in the field of human computer interaction. And when I say major, I mean it: things like Douglas Engelbart's famous demonstration, now referred to as The Mother of All Demos:

On December 9, 1968, Douglas C. Engelbart and the group of 17 researchers working with him in the Augmentation Research Center at Stanford Research Institute in Menlo Park, CA, presented a 90-minute live public demonstration of the online system, NLS, they had been working on since 1962. The public presentation was a session in the Fall Joint Computer Conference held at the Convention Center in San Francisco, and it was attended by about 1,000 computer professionals. This was the public debut of the computer mouse. But the mouse was only one of many innovations demonstrated that day, including hypertext, object addressing and dynamic file linking, as well as shared-screen collaboration involving two persons at different sites communicating over a network with audio and video interface.

So, all those trappings of modern computing that we take for granted today? Engelbart demonstrated them all two years before I was born. It just took a while for the rest of the world to catch up to his vision.

That's the lesson of many of the groundbreaking HCI discoveries presented in this book. Some people see further. Engelbart was so far ahead of his time in 1968 that his demonstration wasn't taken seriously -- it seemed absurd and impractical. It really makes you wonder which of today's HCI researchers we're ignoring but shouldn't be.

The book also takes an interesting approach; it doesn't summarize the papers, instead, it presents the reflections of current working HCI professionals on the papers. It's a little bit meta. You're hearing the impact of these HCI discoveries -- some big, some small -- as related by young researchers who were heavily influenced by them.

As a primer and overview of the field of human computer interaction, it's tough to beat. Reading this reminds me how far we've come, and yet how far we have to go.

[advertisement] Read the largest case study ever published about lightweight peer code review in Best Kept Secrets of Peer Code Review. Free book, free shipping.

Posted by Jeff Atwood    View blog reactions

 

« The Problem With URLs Remembering the Dynabook »

 

Comments

reasons why we wont see many inovations:

PATENTS

1) multi-touch is patented by apple, thats why the google phone can't do it.

2) "click-less" mice are patented, thats why logitech mice all are so loud.

Just about anything interesting is patented, so combining it into new and interesting things is all but impossible.

my 2c

ape-inago on October 30, 2008 11:38 PM

Which one is it?!

From Wikipedia, the free encyclopedia

HCI can mean:

[edit]
Computing
Home Computer Initiative, a United Kingdom government programme designed to increase the use of computers in the home
Host controller interface, a defined and usually standardized interface between a host computer and a device controller or bus adapter
Human-computer interaction, the study of how people interact with computers
Human-computer interaction (security), the study of how people interact with computers concerning information security
Human-computer interface, the technical term for a user interface

[edit]
Schools
Harbord Collegiate Institute, a school in Toronto, Canada
Humberside Collegiate Institute, a school in Toronto, Canada
Hwa Chong Institution, a school located in Singapore

[edit]
Other
Handgun Control Incorporated, the former name of the Brady Campaign to Prevent Gun Violence
Human Concern International, a Canadian organization frequently accused of terrorist links
HCI is a common typographical error for HCl (hydrogen chloride or hydrochloric acid)

Qvasi on October 31, 2008 12:10 AM

ape-inago: you know, patents doesn't last forever. They expire! A patent is a set of exclusive rights granted by a state to an inventor or his assignee for a fixed period of time in exchange for a disclosure of an invention. Read that again, _a disclosure_ of an invention. Infact, without patents technology would have stagnated!

If inventors did not have the legal protection of patents, in many cases, they would prefer or tend to keep their inventions secret. Awarding patents generally makes the details of new technology publicly available, for exploitation by anyone after the patent expires, or for further improvement by other inventors. Furthermore, when a patent's term has expired, the public record ensures that the patentee's idea is not lost to humanity.

C-J on October 31, 2008 12:34 AM

Snap! I took the same book on a trip to Tasmania just last week.

Matt Schinckel on October 31, 2008 12:38 AM

Human Computer Interaction.
HCI is 'generally'construed to be Human Computer Interaction in CS fields.

Jaco on October 31, 2008 12:45 AM

C-J: Yes, but come one, "click-less" mice? I don't really care how it works (no need for the inventor to disclose that), but I would like to have the effects replicated ...

Jaco on October 31, 2008 12:47 AM

My first thought: Why the sudden interest in chemistry? A book called "Hydrogen chloride remixed"?

jmt on October 31, 2008 12:52 AM

Some of the technologies for making a mouse "click-less" is patented, not "click-less" mouses. There is nothing that stops you from designing a mouse that uses, for example, some custom made spring to reduce/remove noise from buttons.

C-J on October 31, 2008 01:07 AM

Ah, the ills of capitalism.

I enjoy reading about people so much more accomplished than myself. it depresses me for a while, sure, but eventually it motivates. Now if only that motivation could materialize into something concrete.

Abhishek on October 31, 2008 01:24 AM

@Jaco: But the reason I visited wikipedia in the first place was that I didn't know what it referred to; how could I then know what it "generally" refers to?

@Jeff Atwood: When you use an abbreviation/initialism etc. always write out the full name in a parenthesis, or link to a previous article defining the term. No matter how obvious it may seem to you, or to any american programmers, there's always the possibility that non native speakers won't recognize the term. Actually non-US native english speakers may think of a different abbreviation with the same letters: in this case UK citizens may think (I'm just guessing since I'm Norwegian) you refer to "Home Computer Initiative, a United Kingdom government programme" wich is listed first on the disambiguation page...

(I'm currently looking for a new work, and I'm often annoyed by skill requirements listing lots of abbreviations that could either refer to something computer related or to some sale related etc... why do people do this?)

Qvasi on October 31, 2008 01:25 AM

I've done research projects with David Mcdonlad which is one of the co author of this book, and I highly recommend this book to anyone as well.

He has put great effort, and the depth of knowledge he has of HCI is amazing. You can see what research projects he's doing from www.ischool.washington.edu as well.

Tim on October 31, 2008 01:43 AM

@Jeff Atwood: "In this case UK citizens may think (I'm just guessing since I'm Norwegian) you refer to "Home Computer Initiative, a United Kingdom government programme" wich is listed first on the disambiguation page..."
We really wouldn't. And besides, Jeff unfolds the abbreviation on the second line after the book's screenshot. Doing it in the title would ruin the "punchiness".
You might as well argue that you need a dictionary definition of all the words in a sentence. And then you'd need a definition of all the words in the definition, and then a definition of...
Ahhhh, recursion.

Tom on October 31, 2008 02:14 AM

Qvasi, the exact meaning, if one happens to not know it, is fairly obvious from the context. And it's written out in one of the first sentences, "HCI Remixed covers all the major milestones in the field of _human computer interaction_" [sic].

On the seemingly impractical approaches.
I happened to see a few years-old video of an American scientist. She claimed that using a whiteboard for brainstorming was imperfect as someone too eager could just monopolize the marker/board/attention. To fight that, they've bought some superexpensive equipment and software to do essentially the same using a ~30" multitouch screen. The video then proceeded to show three students chatting while moving a bunch of photos here and there across that desktop -- as if that could help in brainstorming somehow.
I had to admit that either I totally failed to see the problem they supposed to be solving, or some scientists are more concerned with spending (large) fundings than with advancing HCI.

Serhiy on October 31, 2008 02:33 AM

@Tom: Oh... my bad... I didn't notice that, partly because I was mentally scanning for a pair of parentheses or "Hsometing Csomething Isomething" (that is capitalized).

But I would still recommend to put the unfolded term right next to the abbreviation, to make it more clear what the mystic letters refer to. (Or the reverse as wikipedia do : "[b]Human–computer interaction[/b] or [b]HCI[/b]"

About UK citizens I DID say it was just a guess... ;)

Qvasi

PS: Why isn't there a preview? I can't be sure if the markup works, please insert a mental BOLD if it doesn't..

Qvasi on October 31, 2008 02:36 AM

@Qvasi:

It's a programming related blog. We know what is HCI, nothing else comes in our head. It's HCI. Duh..

It says "Post". It doesn't say "Preview". Or "Post and Preview". It's CS. There's abstraction. You gotta think!

Saj on October 31, 2008 03:52 AM

@everyone:
HCI is explained in the line:
HCI Remixed covers all the major milestones in the field of human computer interaction
I believe that this about covers the abbreviation. Did we not actually read the post? I was at no time confused by this. I must not understand how everyone is so confused.

Mike Brown on October 31, 2008 05:50 AM

"I believe that this about covers the abbreviation."

I agree with Mike Brown. I didn't know what it stood for, but I read the article. Now I know. No confusion.

I do have to say, Jeff, now I KNOW your level of geekiness far exceeds mine. I can't see myself reading a book like this for fun. ;)

Matthew Morgan on October 31, 2008 06:03 AM

Calm down. Qvasi didn't know what it meant, so he asked. Now he knows.

Todd on October 31, 2008 07:10 AM

"This trip"? What trip?!

Josh Stodola on October 31, 2008 07:36 AM

Ah, give Jeff a break. He's just pimping a book for Amazon commissions. Anybody who'd be interested in buying the book already knows what HCI means.

Although when I first saw it, I admit my first thought was "hydrochloric acid? Why would anybody write a book about remixing that?".

KJB on October 31, 2008 08:20 AM

Don't forget HMI and MMI! (In this context)

Practicality on October 31, 2008 08:36 AM

yes, you can figure it out the meaning of HCI in the line:
"HCI Remixed covers all the major milestones in the field of human computer interaction"

However, Americans do that a lot (and it has happen to me in this blog) that they abbreviate things and assume everybody knows the meaning. I'm a foreign and English is not my native language. Until I reach the line after the image of the book's cover, I was looking for a clue of the meaning of HCI (and I know this is a technical blog, and I'm engineer, I'm just not from US).

Even more, if I found that book in a bookstore, I would read the cover, ignore it unconsciously, and go the next book. The cover doesn't tell me anything!! they could but the meaning of HCI in the subtitle, they didn't do it! not even for the sake of marketing!
Fortunately, we have blogs like this that recommend good books even if they covers says nothing about it.

Antonio on October 31, 2008 09:33 AM

@Antonio -- dude, please don't "profile" me just because Jeff is American. That's like saying "my" President represents my best interests!

Steve on October 31, 2008 09:52 AM

Work for the US Federal Gov't. It hurts how many abbreviations they use, and then try to remember the abbreviations that the computer culture and physics labs use. Pain I tell you. Abbreviations are the Devil.

mark on October 31, 2008 10:01 AM

The book looks good though, I'll have to look for it at my local bookstore.

mark on October 31, 2008 10:03 AM

Star Trek debuted before your were born, Jeff.

Charles on October 31, 2008 10:07 AM

"@Jeff Atwood: When you use an abbreviation/initialism etc. always write out the full name in a parenthesis ... Actually non-US native english speakers may think of a different abbreviation"

Hey, which US do you mean?

* University of Salzburg, a university in Austria
* University of Sofia, otherwise known as Sofia University, a university in Bulgaria
* University of Saskatchewan, a university in Canada
* University of Sherbrooke, otherwise known as Université de Sherbrooke, a university in Canada
* University of Silliman, otherwise known as Silliman University, a university in the Philippines
* University of Stellenbosch, otherwise known as Stellenbosch University, a university in South Africa
* University of Stockholm, otherwise known as Stockholm University, a university in Sweden
* Universitŕ della Svizzera italiana, the University of Italian-speaking Switzerland, a university in Switzerland
* University of Silapakorn, otherwise known as Silpakorn University, a university in Thailand
* University School, a private all-boys day school in Hunting Valley, Ohio, United States
* University of Seattle, otherwise known as Seattle University, a university in the United States
* University of Seton Hall, otherwise known as Seton Hall University, a university in the United States
* University of Shippensburg, otherwise known as Shippensburg University of Pennsylvania, a university in the United States
* Sewanee, The University of the South, a university in the United States
* South University, a university in the United States
* University of Stanford, otherwise known as Stanford University, a university in the United States
* University of Syracuse, otherwise known as Syracuse University, a university in the United States
* Us Weekly, an American celebrity magazine
* us is often used to denote µs (microsecond) when the proper "µ" (micro sign) character or Greek "&#956;" (Mu) letter are both missing or cannot be easily entered

Pol on October 31, 2008 10:32 AM

@Qvasi: When you use an abbreviation/initialism etc. always write out the full name in a parenthesis, or link to a previous article defining the term. No matter how obvious it may seem to you...

US = University of Salzburg?

Mozart on October 31, 2008 10:44 AM

Oh, Pol you beat me to it. Kudos to you.

Mozart on October 31, 2008 10:45 AM

There's an interview with Mr. Engelbart here that I thought was interesting: http://www.pbs.org/cringely/nerdtv/shows/

Ortzinator on October 31, 2008 11:20 AM

Maybe "HCI Remixed" is supposed to be a pun on "HCl Remixed"
That's what I thought when I saw the blog title today, and I was a CS major dabbling in user interfaces. Both the book cover, and this blog title, would not generate *as much* confusion using a serif font for "HCI". There, partially solved that problem. Makes me think the publishers actually wanted to cause confusion, panic, and rioting

Nchantim on October 31, 2008 11:22 AM

Edison's great innovation was not the light bulb. That idea had been considered a many times before by others and Edison just developed a slightly more efficient model. His real masterpiece was creating the modern electrical grid -- the precondition for widespread use of the lightbulb, and, as it turns out, a million other things.

It's important to consider that most "great ideas" are not ignored because people are unimaginative. Usually it's because the conditions for their full utilization are not yet available.

Computers in the 1960s were not up to speed to the point where the innovations you point out would have been very useful. I had the opportunity to look at a computer programming class textbook from the 1970s and was amazed -- it was all about how you would write out your code by hand and it would be fed into the mainframe. You got to try run your program three times -- if it didn't execute successfully by then, then you failed the assignment! When you think about how that compares to the modern "let's see if this build can compile, if not, who cares" approach, you'll see how far things have gone.

In the 1960s a light pen was, for HCI sorts of computers (SAGE-style defense systems) entirely adequate. It's not clear that a mouse is an improvement in those environments. Hyperlinks, shared screens, etc. -- things that work great in our GUIed, networked, everybody-gets-their-own-computer-that-can-fit-in-their-lap environment. But for 1968? Definitely pie-in-the-sky -- innovations that only make good sense if you have a context for them.

The real question is not what great ideas are we ignoring, but what the next context is going to be. Figure that out, and you'll be a millionaire. The Hungarian physicist Leo Szilard famously said that you don't have to be too ahead of your time -- a day or two will do.

Shmork on October 31, 2008 12:06 PM

I'd have thought that you'd be a Kindle owner. That way you could take several thousand books with you when you travel and reduce the risk of a bust.

I have not purchased a Kindle because I don't do much traveling and listen to most books on an MP3 player during my commute.

Guy Ellis on October 31, 2008 12:26 PM

The fact that the majority of comments to this post are about whether or not Jeff should have explicitly rolled out an acronym suggests a dire need for some HHI (Human Human Interactions) training. Perhaps someone can suggest a book on this?

cp on October 31, 2008 12:43 PM

I hate acronyms. What the heck does HCI mean?

Nicolas on October 31, 2008 01:04 PM

I hate reading. What the heck do words mean?

Serious on October 31, 2008 02:01 PM

Why is Jeff Atwood using redirects to take us to commentor's websites? To ensure their Google page ranks don't go up?

Ravi on October 31, 2008 07:24 PM

@Ravi: probably to discourage people spamming comments simply to up their page rank.

@Jeff: I really have been "trained" by Stack Overflow already... I tried to find the up arrow for this post.

Glad to see the blog is getting more active recently.

TM on October 31, 2008 08:37 PM

Caution Jeff, you're treading in dangerous territory.

Rocketboy on October 31, 2008 10:22 PM

@Jeff Atwood : It just looks like you stirred a lot of acronym warriors around here =))

Andrei Rinea on November 1, 2008 07:02 AM

Not being certain what HCI means (Home Computing Initiative, Human Computer Interface, or Human Computer Interaction) - surely that is what the Acroymn <acroymn title="Hypertext Markup Language">HTML</acroymn> tag is made for http://www.w3schools.com/tags/tag_acronym.asp (well either that or writing Human Computer Interaction (HCI))

Kev on November 1, 2008 07:33 AM

My opinion: for a not native english speaker (who is not an expert one the HCI field) it really would help if the meaning of an abbreviation is behind in parentheses.

Example for what you could also use the HCI abbreviation for :-)
Human Community Interface ( for all social network sites)
Human Computer Information (what people know about computer)
Home Computer Invention (or personal computer)
Home Computer Infrastructe (the network at home)
Holy Computer Infrastructure (apple or linux or windows things :-)
Homeless Computer Inititiative (for lost notebooks)
Hardware Computer Interaction (custom build stuff)
Hyper Computer Intelligence (next level of AI)

would be a nice game... find new meanings for an abbreviation, and think of a usage...

Florian on November 2, 2008 01:34 AM

Lord, remind me never to not fully explain an acronym among the autistic. Apparently some people on this blog have never learned how to read for context! That this is the take-away point of 90% of the comments says more about the reader base than it does about Jeff's lack of explaining an acronym...

Shmork on November 2, 2008 06:55 AM

Too me it feels like the contents of the book might be worth reading, but to use an abbreviation like HCI on the cover tells me the author don't want me to read it, otherwise he would have made a Title that is easier to understand.

It's the same thing as forum posts, if the author did not put down any effort in the title of the post, I assume the rest isn't worth reading!

And I am in two years of taking a Masters degree in science and Masters in teaching, so I do work a lot with HCI, its just that a three letter abbreviation can mean a LOT!

Mikael Berglund on November 2, 2008 07:04 AM

Thankfully, most of the commenteers here don't work for the Fed; there they use every TLA that has at least one vowel and one consonant at least three different ways (and usually in similiar contexts). I am just glad this isn't a blog programmers who are used to RTFMing or otherwise using external references to fill in their gaps in new contexts read, otherwise most of these comments would be embarassing. Keep up the good work on the University of Salisburg's most dangerous blog - maybe someday you'll goto being considered harmful.

Serious on November 2, 2008 11:00 AM

Hey man,

great blog some really useful information in it, im going to bookmark this blog and check up on it a lot more.

I used to be a software developer myself i know how restrictive it can be too meet attractive women in the work place. I run <a href="http://www.puamethod.com">pua classes</a> in london where i teach guys like ourselves how to be able to meet any women any time and attract her so you can form any kind of relationship you wish. This is based on hardcore in field experience and testing, this stuff really works and everything will be demo'd live with real women in front of your eyes, check out my reviews and the link for more information.

rob

rob on November 2, 2008 02:09 PM

Jeff, awesome post. I just read that very same book myself.

Comments on this thread confirmed something I suspected for a long time. Most people who post on this blog have never been in an Computer Science class. Not knowing, instantly, what HCI stands for is like not knowing what AC/DC stands for in an article (post) on a topic from electrical engineering - and arguing that it could stand for a very loud band as well.

Book is very uplifting but comments on HCI on this blog are a bit depressing :)

BugFree on November 2, 2008 05:35 PM

@BugFree:
It just means, that some of the people commenting on this blog have never visited a computer science class given in english.

Florian on November 3, 2008 01:29 AM

Wow, I didn't know that developers actually paid attention to what HCI researchers were doing and, honestly, I'm not sure if the average developer should be paying attention to what HCI researchers are doing.

This is not to say that HCI research is of no value or even that it's too abstract and long term. Instead, I think it points to a subtle but important shift in what HCI research values.

The thing you have to realize is that there's effectively 0 people in research working on better ways of doing practical HCI. There's noone trying to figure out how to do user testing better or how to improve the design of software, that won't get you published. Instead, HCI has become about pursuing new *types* of interaction and interactive technologies.

Xianhang Zhang on November 3, 2008 01:39 AM

@BugFree:
In the late 80s I never heard a word about HCI in any CS class. Take into account also that many of the subjects were optional. E.g. if could know what a LALR parser was because I studied compilers, but had no idea about graphics or robotics !

lluis on November 3, 2008 06:32 AM

Am I missing the point here?

I thought this post was about HCI, not about how to abbreviate, embolden or parenthesise something an the pros and cons of doing so in different manners! Should this not be on an English grammer blog?!

HCI to me always stood for Human Computer Interface, but at no point did I think "I'm confused by all this!". Should we not focus on that instead of getting sidetracked?

Anyway - on that note, I think this is an interesting post and something that you should be aware of as a developer/software engineer/programmer, (call yourself what you will), because if you are not sure how your users are going to interact with your application/software/program (call it what you will), then how can you write good software that is usable?

Yeah definately concentrate on the topic, not the sideshow. While reading this blurb, I'm thinking WTF? (White Trucks Forever!)

Charlie

Charlie McMahon on November 3, 2008 07:07 AM

@Charlie:

I read WTF as "Where's The Fork"!

Saj on November 3, 2008 09:12 AM

Writing good software that is usable is quite simple if you remember KISS (Keep It Simple Stupid). Software should never be any more complex than it has to be. That means simple to use and simple in concept.

mark on November 3, 2008 10:15 AM

I hate it when an application doesn't allow me to do something I want to do. For example if I want to put an automatic clearance on a folder in GMail, but I am not able to, it makes me frustrated. As a software developer I have used to be able to do what ever I want, but that doesn't apply to 3rd party software...

Also if I cannot post my request for a feature, then it's frustrating trying to find a feedback channel and never find the correct one - it might not even exist.

I have noticed that using software is increasingly difficult, because I end up wondering how something is done. For example if a Windows folder is marked to be in use though it's not in use and cannot be deleted, then I might waste half an hour figuring out how in the heck can it be deleted. I waste time searching web for solutions, I may have to download some tool for it and so on. In this case Disk Cleanup released the folder.

The same goes with Microsoft Word. If I want to copy a style from one document to an other, I expect to select the style from the style list, click copy, and go to the another document's style list and click paste. But _no_ of course it doesn't work... I have to go and waste time searching for a solution.

Or what if I want to change the background color of YouTube to black. Bright white bgcolor makes watching videos hurt my eyes. Well, can I change the color? No, of course not. I have to go find a solution. Takes hours to go through the web and try some solutions. Maybe I find and succeed to install some modification module - or the module might not work. Lots of time wasted.

There should be a universal application framework that all applications used. Single developers should not have to make things work in order them to work, when you can use frameworks. That way in every application the combo box would close if I click it again and every other problem would be solved too.

Silvercode on November 4, 2008 12:47 AM

@Charlie McMahon
The problem is that there are only two thread topics inspired by this post.
1) "HCI Remixed roxxs/suxxs". Haven't read it, but I plan to.
2) "Which of today's HCI researchers we're ignoring but shouldn't be" Anyone got anything?

The conversation about parentheses is as valid a discussion of HCI as anything else. You never used something with some weird acronyms/abbreviations that make it hard to use? "FAQ? Wis? ASQ? HTML? MS? VSS? PDQ? ANZAC? Prblk?"

Tom on November 4, 2008 08:04 AM

If there’s any researcher that’s being ignored but shouldn’t be, it’s the late Jef Raskin. The Humane Interface should seriously be mandatory reading.

David on November 4, 2008 01:47 PM

I'm sorry I derailed the debate here, if I had read and re-read the article a few times and studied all the wikipedia articles (or moved to an english speaking country and re-enroll in a computer science class...) I might have guessed which HCI it was. But it seems I'm not the only stupid non-american here... I do have a "Bachelor i Informatikk" (wich is Norwegian for "Bachelor of Computer Science") and we did learn about "menneske-maskingrensesnitt" (literally "man-machine-interface" but somehow this did not make me think "HCI: that must be menneske-maskingrensesnitt!".

If you'd used the "acronym"-tag I would have noticed it and discovered what it meant straight away.

The AC/DC argument is just silly, when an abbrevation (at least according to Wikipedia's disambiguation page) may refer to a rock-band, alternating current/direct current, or a slang expression it's simple to guess; but STILL it wouldn't hurt to remind the reader which one you refer to now. Even if the acronym/initialism/abbrevation is unique, explaining it in the first paragraph it occurrs isn't useless because there's a good chance someone have not seen it before. Some abbrevations we use without knowing what it stands for I'm sure there's a lot of people using the word URL each day to refer to the "HTTP-thingy" in exporer without knowing that URL stands for "Uniform Resource Locator and HTTP stands for "Hypertext Transfer Protocol", so when writing an article about either it doesn't hurt at all to explain them...

Qvasi on November 13, 2008 04:45 AM







(hear it spoken)


(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.