Tuesday, February 16, 2010

BOOK: The Inmates Are Running The Asylum(Chapters 1-7)

SUMMARY:
     The author starts the book out by talking about what you get when you cross a computer with another product.  These include an airplane, a camera, an alarm clock, a car, a bank, and even a navy ship.  The point he is trying to get across is that you still get something that behaves like a computer.  This can lead to problems.  For instance, what if a navy ship's computer system crashes in the middle of a war? I think we would have a problem.
     In the second chapter the author brings up a new term, cognitive friction.  Basically cognitive friction is the resistance by human intellect when it engages in a complex system of rules that change as the problem changes.  Software for instance has a lot of cognitive friction.  A violin on the other hand has very little.  Even though it is complex to play, nothing about the violin ever changes.  The author also mentions he prefers interaction design over interface design.  Interface design suggests the program is just a medium between the user and the computer.  Interaction design suggests the designer should consider behavioral design and cognitive design.  Another problem programmers run is to is they keep adding features rather than change the design.  This can make the programs even more confusing.  The author also brings up the concept of apologists and survivors.  Most programmers are considered apologists.  They blame themselves when they can not figure out how to use a program correctly.  They tend to tout the benefits and ignore the negatives.  Survivors tend to know whats wrong but they can't figure it out. This is where most of the general public falls.
     The third chapter talks about wasting money.  Many software managers have trouble with deadline management.  If hey understand Parkinson's Law(90% of the work takes 90% of the time and 10% of the work takes 90% of the time) they should be reasonable about shipping late.  If a manager obsesses about a product that never ships relevant features may be left out.  The author also talks about prototyping.  It should be used to understand how the programming will work but shouldn't be the final code.
     In the fourth chapter the author talks about some general problems with software.  He claims software is lazy, forgets, inflexible, blames users, and won't take responsibility. These are  things every software designer needs to consider when designing a program.
     In the fifth chapter the author talks about customer disloyalty.  A product should be capable(engineering), viable(business), and desirable(design).  The author also says when considering time to market a programmer needs to consider behavior of the program before features.
    Chapter six talks about how programmers are in control of the design of software.  Companies that put features before behavior have failed before.  Software engineers need to be in "harmony with silicon" to be professional.  This causes them to see the product differently than most users.
    Chapter seven brings up the term homo logicus.  He uses this to describe the behavior of a typical software engineer.  He claims that normal homo sapiens want things to be done for them.  The metaphor he uses says they would ride in the passenger part of the plane.  A homo logicus wants to be in control.  He/she would go in the cockpit and control the airplane.  He also mentions programmers act like jocks because they expect everyone to know technology as well as them.


DISCUSSION:
     This book takes an interesting approach to try and get the reader to understand why user interaction needs to be carefully considered software design.  So far the author has explained how programmers differ from normal users of a software program.  I assume in the second half of the book he will get more into detail about how a programmer should design for desirable user interaction.

No comments:

Post a Comment