25 January 2011

Book Reading #1: The Design of Future Things, Chapter 1

References

Norman, D. (2007). The design of future things. New York, NY: Basic Books.

Summary

In this chapter, entitled Cautious Cars and Cantankerous Kitchens, Norman covers some of the nuances of the relationships that we have with machines. Using the example of interacting with a car, he points out how ...trust is sometimes conferred undeservedly - or withheld, equally undeservedly. One example of undeserved conferred trust is that of an automated cruise control system, which correctly determined that the car could accelerate due to a clear path ahead, but which incorrectly did accelerate when the driver pulled onto an exit ramp. An example of withheld trust is that of the car the will not let the driver change lanes in the absence of a turn signal: the driver could be reacting to a situation of which the car is not aware to avoid an accident, only to be prevented from actually avoiding the accident by the car's safety features. He does admit that some safety features do a better job of driving for us than we do, in the case of traction control systems and anti-lock brake systems.

Norman also covers the idea that two monologues do not make a dialogue. He extends this concept over the course of the rest of the chapter, citing how we do not really talk to machines, but only command them to be commanded in turn; his examples here are a navigation system and a smart microwave. Norman cites that even as navigation systems become more sophisticated and advanced and are able to suggest alternate routes based on any number of various factors, we still cannot talk to the machines about the arbitrary qualitative differences between two routes. He talks about a smart microwave that uses the only sense available to it to determine whether food is cooked - humidity - and how even this interaction can be flawed, both in the way it is carried out by the machine and the way it is perceived by us.

Norman closes by proposing a broad solution that incorporates the design of future objects: a symbiotic relationship between humans and computers. Throughout the beginning of the chapter, a recurring theme was the constant back-and-forth interaction between humans and computers, and how this is one of the last issues that we need to address before we have semi-intelligent machines with which we can interact to a reasonably usable degree. Norman states the importance of being aware of what the machine is doing, and of having the machine let us know what it is doing, in order for this interaction to be possible. He says that defining and implementing this interaction will be key to design as we go forward.

Discussion

I think I will appreciate this book from Norman more than his Design of Everyday Things, because in this he addresses design issues that we might actually see coming upon us in the relatively near future. I agree wholeheartedly with him when he talks about letting the machines do what they do best, e.g. with regards to driving, let the machine handle traction control and anti-lock braking. I also like that he still advocated letting the human take control in situations where our understanding and perception of our current situation might be better than a machine's, for whatever reason, or when we have the capability and desire to control more than what the machine lets us, i.e. let me turn off traction control or lock differentials when I choose based on my expertise of a given driving situation. I mean, I am getting pretty good at parallel parking, but I don't really have a desire to continue doing this myself, if I could have my car do it for me:

A 2008 Lexus LS600hL parallel parking itself.
Image courtesy of Autosavant

I still think that designs like these pose very important issues, such as the issue of who is at fault in the event of an accident when a human was supposed to have been monitoring a machine-controlled process, or when a machine-controlled process reacts to a situation in a less-than-ideal manner given its inputs. I believe that the solution to this is to remember that we are the humans with the intelligence and the understanding and the common sense, with the responsibility to those whom our actions will affect, and that the machine is only a tool, to be learned and used with care and skill.

21 January 2011

Blog Entry #0: Help Me Help You

Help me help you: my name and picture are in my profile. You know what I mean.

So there I was: sitting at my New Student Conference, listening to some joker introduce himself as a sixth-year senior, thinking, "That'll never be me!" And now here I am, on my twelfth and final semester, God willing. In five months I plan to commission into the Army, graduate with a B.S. in Computer Science, and marry my beautiful fiancée, Erin:


And now for a guided stream-of-consciousness exercise...

My computing interests seem to be converging to a focus on people as I continue with my education. I'm into AI, web design and development, consulting, and most recently HCI. If you know me, however, you know that my interests come and go like rain in Texas, so you can be sure that I'll have a new "flavor of the week" from now until I die.

I feel my strongest skills as far as computer science goes are writing good, clean code, documenting it well, and debugging. I am pretty strong in C/C++ because that's basically all I have ever used for my entire academic career (is that a damning confession?), but I am open to learning any new languages, which I guess I would call a strength. When I'm wired in, I apply these rules in this order:
  • I utilize the Allman indent style religiously, and you'll never convince me to do otherwise.
  • I always lay out a skeleton of my code before filling pretty much anything in.
  • If anything goes anywhere that I haven't put it yet, it's always //some stuff. Always.
  • I always use /* C-style comments */ for non-end-of-line comments. Always.
  • That being said, I know that end-of-line comments are generally bad form but I always find some way to justify them, and they're always //C++-style comments. Always.
  • I only recently had cause to truly recognize the merits of version control, and I use SVN because that's what I know. Sue me.
  • I usually work best late at night, because I'm a programmer, and that's just what we do.
If I had to pick a favorite class project, it would have to be my blog for my HCI class. It offers a fresh new perspective on information delivery and interaction with people across the web, and blogs are accessible to create and/or read for anybody. In addition, there is still some serious potential for application development and delivery across the web, and that's a plus for me. I am honestly disappointed that I hadn't put serious into a blog before now. My least favorite project was my marble jar project for my data structures and algorithms class. We basically had to implement several data structures by hand in the hopes that we would gain an intimate knowledge of their inner workings. Not so much Alright, I guess I learned a little. Great prof, and the project was simple - but that was just it. I could just as easily have learned how to utilize all of the data structures that I had to implement from scratch through another project that simply required their use. I felt at the time, and still feel, that the hands-on approach in that situation may have benefited some, but I was not among them.

Undoubtedly one of the greatest advances in technology of the past five years is the advent of the smartphone. Androids and iPhones and Blackberries, oh my! Come on: these things are like palm-top mini-computers, they're everywhere, and  they do everything  they do a bunch of things  "there's an app for that." These devices are revolutionizing the way that people interact with each other and with technology. This is the kind of stuff I love to see: I just know that there is a technology-based solution to any problem that you are having, and all I have to do is help you find it. Awe-inspiring, right?

So let me know when you're ready to help me change the world, and we'll win hearts and minds one day at a time.