Tuesday, December 26, 2006

IVR versus Person

A recurrent discussion in my HCI classes is relating numerous user experiences with horrid IVRs  (Interactive Voice Response) and sharing techniques for cutting through the menus to contact a real person. I always cringe when I hear the complaints, since I have managed folks creating IVRs and I appreciate all the work they do to try to make such systems accurate, navigable and palatable.  Unfortunately, in many instances, the lack of flexibility in the telephony interface makes this difficult  at best.  The goal of many users encountering IVR systems is getting to an actual person.   Admittedly that has generally been my goal too!

However late last week two encounters in one day convinced me that IVRs done right can actually avoid aggravation.  My first experience that day was with XM radio. <digression> XM radio is a fine product but lately I have found I was not using it -- part of it was that it was a portable version and with my portable GPS and my cell phone, there were just too many darn wires floating through the car.  My next car will have integrated GPS and  some brand of subscription radio but for now the cell phone and GPS are more important. </digression>  I wanted to cancel it.  So I cruised through the IVR response trees and was finally connected with a person.  The attendant asked for all the information  including my equipment's ID and my address and then asked how she could help.  I said I wanted to cancel the service, she asked why, I told her I did not use it. She said okay she would transfer me to the cancellation department.  After a short wait, another attendant answered, asked again for all the information, seemingly bit by bit (I did grumble), and then asked how she could help.  Frustrated beyond belief I said I thought this was the cancellation department and I wanted to cancel my service.   She said it is the cancellation department and you guessed it - she asked why I wanted to cancel. After a minute she returned and stated that the refund check will be mailed to me in 2 to 3 weeks.  Of course I had to ask her for the amount.  Needless to say this entire user experience was poorly done.   Lest you think it occurred because I was canceling, my other two experiences with XM Radio customer support were similarly bad and that was when I asked to renew my subscription, to give them money.

Several hours pass and I am home.  While cruising through channels, Kath found pillows on QVC that were a great price.  I said I would order them.  I dialed the 800 number from our home line and the IVR asked for our pin. (We were a repeat customer.)  Since pillows were on the screen at the time it asked it that is what we wanted to order.  I said yes, indicated color and size with two more menus and the IVR repeated the order (all canned, pleasant, non synthetic speech) and that was that.  It literally took less than 2 minutes!  In 5 minutes the order was confirmed on my email account.  (I never received a similar confirmation from XM.)

Compare the two experiences.  QVC was optimized to save me time and to insure that the order was accurate.  Since I dialed from my home phone ANI, Automatic Number Identification, suggested my potential identity and providing my pin confirmed it.  The IVR was linked to programming so it knew what was likely being ordered and had a crisp script to get the necessary information.  In contrast XM Radio designed their IVR so that it would accommodate their fragmented systems.  Information was not transferred from interaction with the IVR to attendant 1 and from interaction from attendant 1 to attendant 2.  It accommodated their needs, not their customer's needs.  Additionally there was no confirmation even though it would have been simple to launch an email and check for accuracy.

In my adventures last week with XM Radio and QVC, I feel a bit more enthusiastic that someday I will want to access the IVR instead of a fallible attendant and that the hard work and design of HCI specialists and IVR developers will pay off.  At least in the QVC instance, the user experience was superb.  Note that the QVC instance made use of one of my pet HCI principles, the best interface is the one that has been eliminated through automation.

Sorry for such a long post!  I hope to accelerate through my back log over the next few months and hope you all are enjoying the holiday break and wish you all the best in 2007!  Later!

Thursday, September 21, 2006

First One Web Day Tomorrow!

I have already provided an entry on One Web Day and for those of you that missed it please check back a few posts.  The first One Web Day is tomorrow, September 22nd, and I encourage folks to check on the One Web Day Site for activities in their area.  For folks in the New York City area, the festivities are at Battery Park in NYC. 

Some information on the NYC event:

Download sample_1.pdf

Download the_battery__map_of_the_battery_with_stage_and_truck.pdf

If there is no event in your area, consider starting one next year.   Contact me if you need suggestions.  We hope to enlarge the role of Universities next year.

The web is about community and this is one day out of the year when we recognize, celebrate and work to enhance and broaden that community.  The web is global and so are many of our problems.  If there is one thing I stress in all of my courses it is that communication is the key to successful products.  Communication also is an important factor globally for the same reasons, to understand each other and work  together to improve the process and the result!  Yes, I am showing my stripes as a child of the 60's!

So at the very least tomorrow, take a moment to reflect on how the web has affected you.  Later!

Wednesday, August 2, 2006


As I say many times in my lectures Martin Fowler is an author that seems to write faster than I can read!  If you have taken my Software Architecture and Design class, his name is mentioned many times and he is a very influential methodologist/theorist/pragmatist in Object Oriented design. 

He has just re-released an article, Writing Software Patterns, that can be found on his web site.  It captures many of the things I discuss in class along with introducing you to other pattern mavens such as Jim Coplien.  (If you've ever met Cope, even that web site does not do him justice!)

Fowler also has a great emphasis on "tasks rather than tools."  Read it to discover more.

More soon.  I have an impressive student back log of entries, more on One Web Day, and more about other summer readings.  Later!

Friday, June 23, 2006

One Web Day!


First, I am back!  Sorry for such a long hiatus but it has been an interesting year with one new course - Information Technology Security and Privacy at the University of Pennsylvania and a major redesign of the Software Architecture and Design course at Stevens.  If you are interested in either send me an email and I will send you the syllabi (I may even make them available at my web site.)

What I would like to discuss today, and will provide weekly updates on, is One Web Day.  One Web Day will occur on September 22nd of each year and 2006 is the first year.  Its purpose is to promote a global day to celebrate online life.  Susan Crawford, a woman of tremendous energy, conceived this idea and has been promoting it everywhere.
So please check out the web site and please get involved anyway you can.  I think it is a great concept providing us a day to reflect on our online community and  to give back to the community.   

Susan said  it well on the One Web Day site:

The goal of this activity is to create a global good news day for
the Web. We also want to encourage collaboration/participation in
online life that goes well beyond this one day in September. Adopt a
nursing home, connect another hotspot — whatever makes sense to you and
your friends — but help people all around the world mark the day as
part of a global celebration of collaboration and participation online.

OneWebDay:  Join Us.  Who’s us?  Everyone.

I feel so strongly about what a great idea One Web Day is that I am on the board.  I am encouraging all of my students and anyone else who visits here to get involved.  If you do get involved, let me know how you are involved.   If you want to help but do not know what to do, contact me. 

Visit again real soon.  I have a backlog and intend to have a busy, blogging summer.  Enjoy your summer!  Later!

Tuesday, March 28, 2006

Documentation IS Rocket Science

As some of you may know, I am an avid space fan.  Larry Klaes (candidate for GBU? - an inside HCI joke) in his mailing group has pointed to an article detailing the issues of reviving the Saturn 1 moon rocket to power the next stage of human space exploration.   Reading the entire article is highly recommended and it can be found here.  It basically details the issues involved when compilling documentation for the retirement of a project that at some future date may be reinitiated.  The problems of incomplete documentation, tacit knowledge in the scientists's heads (to be redundant) and lost documentation and tools for supporting manufacturing tasks parallel issues we have today for many of our large software technical artifacts. 

One advantage software engineers have is that we have very low manufacturing costs for multiple copies (clearly not the case for the Saturn 5 F1 engine).  This clearly helps in keeping old software running.

Some interesting discussion topics would be how do large software projects differ from large hardware projects, beyond the obvious manufacturing issues?  What can we do to better preserve documenation and the knowledge that swims in the heads of the designers?  Is there something beyond wikis?

I have been remiss lately in posting -- I need to catch up to meet my goals for an entry a week. Hopefully soon as the Spring semesters begin to wind down. Later!

Thursday, February 23, 2006


Welcome to SAC, a personal initiative to quietly transform the way we build systems.  SAC stands for Simple Accessible Code and is based on the principle that developers of software systems should be able to understand the complete body of code in their systems.  Complete body of code includes the operating systems and the languages and tools used to construct the applications.  It stresses straightforward languages, tools and operating systems.  It stresses having source for each aspect of the system, applications, tools, languages and operating systems available to all developers -- true open source!  For a given project at least two of the developers should understand the entire system from operating system to language(s) to tools to applications.  Why two?  Redundancy.

This idea has been brewing in my mind for years.  I am increasingly appalled at the complexity of languages, operating systems and tools.  This has ostensibly been done in the name of productivity and capability, yet it has left us with unreliable, buggy, infiltration-prone,  inefficient and incomprehensible systems.  It is time for a sea change and I hope SAC contributes to this movement.

The final push to make these still formative ideas public was stumbling on C code for Rivest's RC4 stream cipher algorithm in Kaufman, Perlman and Speciner's, Network Security: Private communication in a public world, Prentice Hall, 2002, isbn=0-13-046019-2.  It was less than 30 lines of C code!

The magnitude of this task makes it aspirational for the moment, but I hope to push it as far as possible in the remaining (hopefully many) active years of my career.  My plan is to support it with a web site, a separate blog and publications.  I have some heuristics in the works and will keep you posted on their progress.  My notional schedule due to current obligations is to establish the web site by June.  I will provide you with monthly progress reports.

I know February has been a slow month for my posts, but I consider this to be a very significant one.  As always I would appreciate our thoughts on this new adventure.  Later!

Friday, January 27, 2006

Revenge of the Managers

Yes it had to happen, albeit a bit late.  Twenty plus years after the Revenge of the Nerds, the managers have struck back!  They have established a new conference, Waterfall 2006.  However if you read carefully (or not so carefully) you will find it is a spoof on the waterfall model and that it actually is on agile methods.  Actually if you notice that the location is Niagara Falls and the date is April 1, 2006 you should question its reality.  (It is worth clicking on the Register now button.)

A bit of humor after a rough, cold week in January to begin your weekend.  Thanks to Diggdot for pointing to the post in del.icio.us.   Both are sites worth visiting frequently (I do) -- actually Diggdot provides summaries of a few sites including del.icio.us and slashdot.

Next week I will begin to work on my backlog of student postings.  Later!

Monday, January 16, 2006

About You

I have been asked by folks several times to provide recommendations on introductions to cognitive psychology.  Two popular books are: Cognitive Psychology by Solso, et. al. (isbn 0205410308) and Cognitive Psychology by Sternberg (isbn 0155085352).  The observant reader will note that cognitive psychologists are very creative in their choice of titles!  You also can obtain a free copy of William James, Principles of Psychology here.  Although it was written in 1890, it is still a great read on ourselves.  In fact if you are really into psychology, York University in Canada offers an archive of free classic books and papers here.  Highly recommended, especially if you would like to read a bit about some of the topics such as Gestalt Psychology that I briefly cover in class.

There also is a great online (shareware if you find it useful) book on task centered user interface design by Clayton Lewis and John Reiman.  You can download a copy of it here.   It is a very practitioner oriented book and highly recommended.  I knew Clayton when he worked as a user interface specialist at IBM Yorktown Heights (aka T.J. Watson Research Center) with John Gould. You can access a paper they wrote on designing for usability here. Clayton then moved to academia and is at the University of Colorado.

I will be adding more resources on psychology and human centered design in the months ahead.  Later!

Wednesday, January 11, 2006

A Key Model

I am currently teaching a course at Penn on Human Computer Interaction which stress an applied appraoch and only briefly mentions the academic underpinnings of the field.  A classic book that provides an insight into basic principles in HCI is Card, Moran and Newell's The Psychology of Human Computer Interaction.  It is a bit dated and may be difficult to get but it is well worth the effort to  find it at amazon, a used book site (I use alibris) or from a library.

One of the classic topcs in the book is a model of keystrokes that assesses the efficiency of a user interface.  You can get a Windows only calculator for this model here, just select KLM calculator. The SYNTAGM site also has other useful resources for HCI including card sorting and mailing lists, well worth exploring!

As the year progresses I will provide other resources for HCI and will mirror them on my website.  Later!

Tuesday, January 3, 2006

Real Architecture

Happy New Year! 

In every class that I teach (and now on my website), I always refer to Vitruvius and his 3 principles of design:  utility, durability and charm.  As is frequently the case the wikipedia has an excellent write-up on Vitruvius.  The page also leads to the original text of his book, On Architecture,  which can be found here.  In this translation, the fabled quote can be found n Book 1, Chapter 3, Section 2, "
All these should possess strength, utility, and beauty."

I have not finished reading it, but what I have read is truly fascinating, timely and also corroborates with the depiction of the Roman Empire  in the HBO series Rome, which I highly recommend.  I will post additional entries on this book in the next month.

Since 2005 was a busy year for me, I was not the best blogger and have lots of topics and student submissions in the queue.  I resolve in 2006 to be a much more active blogger, averaging at least one per week.  We will see at the end of the year how well I do!  It is always great to provide estimations and track it with reality.