February 23, 2009

Class Tested

Last Friday was the last HCI class for 2009 at Penn.  The last class is the time for class teams to demonstrate their HCI projects.  There were three this year:  ParkMe - an iPhone application to show available parking spots in an area, complete with such arcane details as traffic regulations; meMote - a Wii-mote based tv controller that had content based selection and accommodated the elderly and SendMe - a proprietary application that a student did n conjunction with his day job.  All three were superb, but ParkMe won the great of the 8's contest.  The class is EMTM 608 so hence the awards name.

I used a new book this year, Bill  Moggridge's Designing Interactions, ISBN: 0-262-13474-8.  It provided a perspective on design that nicely complemented the other texts in the course: Don Norman's Design of Everyday things, ISBN: 465067107, a classic that should be read repeatedly; John Maeda's The Laws of Simplicity, ISBN: 0262134721, a book that really like, great for a cross country plane trip and covered in an earlier post and User Interface Design and Evaluation, ISBN: 0120884364 by Stone, Jarrett, Woodroffe and Minocha, an excellent, practical textbook on doing HCI.  These books, complimented by Ben Schneiderman's, et.al., classic and encyclopedic, Designing the User Interface: Strategies for Effective HCI, ISBN: 0321537351 form a basis for an HCI library.

If you would like to explore my HCI lectures, they will be available for a few more weeks at my homepage.  I would appreciate any additional recommendations of books to add to an HCI library, I will suggest a few more in the coming months, but always looking for pointers.  Later!

December 17, 2008

YouTube not for Everyone

I am starting my HCI course at Penn and coincidentally some of my last lectures in my Stevens courses deal with HCI issues.  One of my students in my Stevens Software Engineering course, Todd Bernstein, sent me this perceptive email that I thought I would share with you concerning YouTube and other on line video sites.


Does the 1998 amendment to Rehabilitation act extend to online videos? I am surprised that captions are not available on the many videos posted on the web. At the very least, I think the big networks sites should have them. I know many elders would benefit from this as well as the hearing impaired population. With the explosion in video on the web, I think it would make sense to have a inclusive reach to the audience and include language translations as well but that may be out of the scope of the Rehabilitation act.


Since I am in the midst of tests and papers I have not had a chance to investigate it but my bet is it does not since the Law pre-dates the site.  As Todd points out, this limits the population that can view the site and given the role these on line video sites played in the election, it makes accessibility difficult to a significant part of the electorate.  Of course this would be an expensive process, but it could also be a differentiator and a subtle way to advertise (close captioning provided by ...).  I would like to collect opinions on this.

By the way, if you would like to follow my lectures at Penn, you can download them at my home page here.

Hopefully since I am correcting a ton of logbooks and have some free time between semesters, the posts should increase again.   Later!

September 11, 2008

Behave!

This is a great time of the year! I always loved September.  It is a bit cooler,  American and world football begin and school begins.  I will never forget the smell of new crayons in grade school, the gleaming halls and lockers in high school, the trees changing in South Bend and the never ending new challenges in Pittsburgh as first year courses led to thesis, led to comprehensives and finally to dissertation.  Nowadays it means new students for the fall term and freshly corrected log books from the summer term.  This summer term resulted in some truly superb entries.  Here's the first from Joe Rafaniello on Behavior Driven Development, a new technique in agile methods that I currently do not cover in my courses.  I am still not a big fan of specification languages but many folks use and love them and any software engineer should definitely give them a try to see if it works for them.

A relatively new concept in the agile community is behavior driven development.  I have recently researched it for work and feel it is a great way for developers to deliver programs that exhibit all behaviors required to meet customer requirements and at the same time have tests that back up the code.
    In BDD, a developer writes the test or specification first just as in test driven development.  In contrast to TDD, BDD is written in a language that looks more like English and lowers the barriers to entry for customers or project managers interested in what the code does.  This can be very convenient when small teams develop directly with their clients input.  BDD in Ruby is done using RSPEC and looks like this:

# bowling_spec.rb
require 'bowling'

describe Bowling do
  before(:each) do
    @bowling = Bowling.new
  end

  it "should score 0 for gutter game" do
    20.times { @bowling.hit(0) }
    @bowling.score.should == 0
  end
end
(http://rspec.info/)

The idea is that the developer writes the specs before the code.  The spec is run and fails the test. The developer then writes the simplest code to satisfy the spec and now the spec passes. 
    The benefit of RSPEC type languages are that even someone with minimal programming experience can understand the basics of the specifications.  Whenever the business side and programming side can move closer to each other through communication, the better odds of delivering the product on time and as specified.

If you are interested in rspec, check out the site Joe listed here.  if you have time add a note on your opinion of specification languages in general or RSPEC in particular.  The title was a quote from Austin Powers.  I could not resist.  Later!

August 26, 2008

Vinge on the Future

One of my mantras in my HCI classes is that often the best interface is no interface - essentially automating it away by doing the task or making the decision in the software which may or may not require AI.  A New York Times article today explores Vernor Vinge's speculations on where this automation may end.  The article refers to Vinge's essay on, "The Coming Technological Singularity" and his new book RAINBOWS END.  Vinge speculates/extrapolates that by 2030 computers will become so juiced that a new intelligence will emerge that will surpass humans and then what do these new intelligences do about us - thus begins the Post Human world.  That "then" has been the fodder of many SciFi books and movies (e.g., the Matrix Trilogy).  It also has been discussed in books by folks such as Kurzweil's, THE SINGULARITY IS NEAR, which expands on Vinge's essay.  Exploring this train of thought does cause one to give a sideways glance at the block of silicon on your desk!

My own take on this, hardly novel, is that it has been so difficult to get software to do anything that it is a lot farther off than 2030, if ever. In fact most of what I teach is focused on trying to coax software to doing anything intelligent and at least approximate what we want. Of course the humans involved in the software enterprise, do not make it any easier!

Vinge's potential solution is to partner with the computer and become better together.  That is appealing since each entity has unique skills to bring to the table and this seamless interactivity between human and computer is something we strive for in HCI.  In fact HCI as partnership is something to explore, that may lead to new way s of viewing the user experience.  Hmmmm more on that later - and more on emergence.

By the way, Vinge is a great sci fi (and computer textbook) author.  I would highly recommend sampling his work.  I often refer to his story, "True Names"  in first nailing the issues on cyberspace and privacy - he is one of the most prescient of the current scifi writers.

I would appreciate your thoughts on this and I thank the NY Times science section for the article.  A nice thought generator for these dog days of August!    Later!

August 21, 2008

A new era of "help" messages

Often in my HCI classes I state that the best human computer interface is no interface, that you should automate the task completely if you can.  I just came across a pointer to a video from doggdot, a blog aggregator, that is worth posting and you can find it here.  It shows a robot correcting a human in a cooperative task.  Two points worth noting in the video: (1) the dialog design that results in a rather firm correction to the human and (2) the fact that the human had to adjust the platform so the robot could place the bolt on the wheel - there still is a long way to go before you will work on a daily basis with an obnoxious robot.  Gee the aibo is discontinued only to be replaced by obnoxious robots!

I think I have my nth wind and hope to increase the frequency of my posts going forward.  Later!