Recently, I have become obsessed with what I feel is a huge conflict in the HCI field between the role of Computer Science and the role of Psychology. Most HCI courses, programs, or research I run into involve coming up with newer, novel, and more “effective” software strategies. Usability Tests are conducted in order to test the effectiveness of one particular strategy vs. another (Example, Browser-based interface vs. Native Windows Interface).

Although these things are important, I feel that the REAL issue at hand is largely being ignored. THE BOTTOM LINE: The purpose of technology is to make life easier. More specifically, to simplify a particular task or set of tasks.

As such, software is not very interesting. It is merely a tool for accomplishing the goal; a tool for IMPLEMENTING the goal. What’s more, history has shown as that the tools we use for accomplishing our goals constantly change, and of course, they will continue to do so.

So, what is REALLY interesting, and what is REALLY important, is discovering (or should I say, “working towards”) the IDEAL way to accomplish our goals. FORGET ABOUT THE IMPLEMENTATION!  It is absolutely SECONDARY!  It should be of no interest to us; what’s more, we should make a conscious effort to completely block it, and it’s inherent set of limitations, out of our mind.

Only later, after we have meticulously (and with solid engineering methodology) beaten the hell out of our IDEAL solution, and tested it using all known human ways and means, should we even think about adapting our IDEAL solution to the constraints of the implementation (which, in our case, is usually software).

SO, exactly HERE is where I see the conflict between Computer Science and Psychology in the field of HCI.

Computer Science focuses way, way, way too much on the implementation!

Computer Science students who take HCI courses, or even Computer Science PROFESSORS who teach HCI courses, LIVE in the world of software. Their brains are immersed in the idea of software. When they are asked to develop a program, they start off in the world of software and try to make their way into ADAPTING the WORK DOMAIN (the set of tasks they are trying to simplify or automate) INTO their world of SOFTWARE.

Psychology students and professors work precisely in the opposite direction. Their brains are immersed in the idea of understanding human behavior and thoughts. As such, they start off with a solid conceptual model of the WORK DOMAIN, and try to make their way into the world of SOFTWARE.

So, in brief:
Computer Science moves from Software –> Work Domain.
Psychology moves from Work Domain –> Software.

Clearly, the field of Psychology takes the correct and logical approach, while the field of Computer Science does not. The fact that poor requirements analysis is the primary reason why most software projects FAIL, serves to prove this point.

HCI is unfairly weighted into the realm of Computer Science.  Instead, it should be leaning more towards the world of Psychology.

Computer Science students do not know what HCI really means. Their curriculum and professors push them towards the process of “coding.” The ongoing “crisis” of consistent failures in the software industry will continue until computer science professionals stop thinking, myopically, in terms of software all of the time.

What we need are Software Engineers, whose first and foremost goals and obligations are to understand the dynamics of the work domain.

Secondly (and less importantly) they must know enough about the different implementation strategies in this world in order to make good decisions.