My new goal is a blog entry a week, but you've heard that before! Later!
Friday, August 6, 2010
HCI course on web
Monday, October 5, 2009
TRAINing
One of my aspirations is to apply the same sort of creativity that goes into the look, feel and operation of computer games to business applications. Some of the benefits of doing this are presenting information in a more efficient manner (3D and pictures provides the potential of presenting more information), minimizing training and making it more enjoyable.
This weekend an article in the New York Times Art and Entertainment section reviewed the game, Dead Space: Extraction, for the Nintendo Wii. Note - warning mature themes! What makes this game somewhat unique is that it is a "rail" game. In rail games the game moves you, just as if you were in some invisible rail car, and your tasks are shooting and gathering objects. This lack of concern for motion has its price - once you have passed something you can't go back, it is inherently a serial presentation.
When I read this I thought that perhaps we might be able to use this approach for work flow, especially work flow that builds on previous steps. Although we might not have control of speed we may have the ability to slow or momentarily pause (an emergency "brake") the progression. Work flow then becomes a natural progression rather than an annoying stream of menus and programs. I realize this is analogous to frames and scripts from the AI literature, but perhaps we could push the rails analogy and actually have us moving by the steps, adding information as we cruise by. A perspective button could provide a perspective on what is left in the path.
So what do you think, are their business applications that would benefit by placing users on "rails" and guiding through the workflow? I would be interested in your thoughts on this and also whether rail games are compelling as a game genera - I like them because as I get older it is one less thing to do. Later!
Sunday, September 27, 2009
WORD!
Established products present additional challenges to User Experience Design. The central issue is how do we improve it without changing it. There is impedance to change since users have "over learned" the interface and change results in errors and a fairly significant re-learning process, usually more protracted than a new user would experience. Microsoft designers have in the past few years done exactly that, changed Microsoft's office interface as described in this article. This was a bold decision and has not been without its critics - see these comments on Amazon's Microsoft Office site.
Eric Lorenz discusses these issues in this entry from his log book. He also discusses the quest for simplicity that may have motivated the changes, this was after we had discussed Maeda's, Laws of Simplicity, in the class. I have mentioned Maeda's book in several posts and it is highly recommended. Here's Eric's post:
During our lecture on 6/1/09, we covered Maeda’s “Laws of Simplicity”. These Laws, and some of our other readings dealing with simplicity and complexity, have sparked some thoughts about two particular products on the market today that most of us come in contact with daily: Microsoft Office and the automobile.
I brought up Microsoft Office during the lecture. I was commenting on how the menu structure of the “new” 2007 version is considerably altered compared to the earlier versions, which had all been fairly consistent in design. In my mind, this is a perfect example of the struggle between Consistency and organization. The “what goes with what?” question has been answered well by Microsoft in the new version. However, upon first inspection, the new version seems quite counter–intuitive and harder to navigate to existing users. On an objective level, the new software is better organized and therefore offers improvement over the previous versions. Because of its revamped organization, it is actually simpler: new users would probably find the 2007 version more intuitive, as they are not influenced by where the commands used to be located. The menus are functionally consistent, if not version consistent. I guess simplicity is in the eye of the beholder to some extent: Better organization may be friendlier for new users but the change of menus may actually seem to make the system more complex to confounded existing users.
In this way, the gains in simplicity for new users are balanced with the learning and time difficulties for existing users. (I wonder how Microsoft decides which group is more important?) After all, most of the workforce does not receive formal training for a new version of MS Office. Therefore we are forced to dive right in, which we know most likely costs extra time (and money) in the long run. Along the same line, time penalties also result in user (and possibly their superiors’) frustration.
In the end, I think Microsoft balanced its interests well because I believe they have done the right thing by improving the product first and foremost. However, although the learning curve is probably not considered exceptionally steep for users’ of previous versions of the Microsoft Office suite, the impact is considerable because of the broadness of its effect as an organization’s entire workforce absorbs the time to adjust; not an insignificant event for something considered “productivity software.”
Personally, even though I was used to the old version and had been using this product for years, since I have become familiar with the new version I do prefer it. I tend to be a logical person and like to have everything in its place, especially if it is a functionally organized place. I was also well aware of the inconsistencies in the old version. Even though the new version of Office is much different visually, I can appreciate the simpler organization because I see the difference between it and the (in my opinion) more complex old version.
So what do you think, was MIcrosoft correct in its interface changes for the Office Suite? Let us know what you think. It will also be a great question to revisit. Later.
Monday, September 14, 2009
FLUidity
The last quarter of 2009 and the first half of 2010 is going to be interesting for software projects. The knowledgeable lead tech person should prepare for sporadic absences caused by the H1N1 virus. A great place to follow the spread of the contagion is the flu tracker site in Pittsburgh. Universities are feeling the effect of the H1N1 virus and are doing all they can to make preparations.
My advice would be to make sure you have flexibility and fluidity in your assignments, insuring that all critical areas of code have a main developer and a "buddy" (Brooks' co-pilot) that is very familiar with the code. Perhaps this is the time to begin pair programming.
This also is the time to establish a remote work program so that folks feeling ill are not tempted to come to work. It would be worthwhile to make it clear that folks feeling ill should stay home. It also may be a great time to experiment with Second Life as a venue for remote meetings.
Please add any other suggestions you would like to share on preparing for and coping with this pandemic. Later!
Monday, 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.
Wednesday, 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.
Thursday, 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.
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!