UI logo
The Webzine for Interaction Designers
uidesign.net
 
     
Book Feedback
February 1999

David Ruble wrote in with this thoughtful feedback on the review of his book, Practical Analysis and Design of Cleint/Server and GUI Systems, last month.

David Ruble wrote:

Thank you for your most excellent and thought-provoking review of my book. I believe it is the most complete review to date, and I very much appreciated your commentary.

Events: It's ironic that I'm the first to publish a large body of work on Event Modeling since McMenamin & Palmer's original work in 1984. I didn't invent the work in this chapter. Meilir Page-Jones, Steven Weiss and Larry Constantine devised this brand of event modeling in a very early OO methodology called "Synthesis." I was steeped in the technique in the late 1980s and found it immensely useful. Unfortunately, their work went unpublished - and the world suffered greatly. James Martin was at the pinnacle of his success back then - and KnowledgeWare ruled the CASE tool world. We fought fervently to convice projects that an understanding of events was crucial to good interface design (or even finding out what data crossed the boundary).

The most spectacular Information Engineering failure we encountered was a Child Welfare System in the State of Washington in the early 1990s. The project team had used data modeling almost exclusively to conduct requirements analysis. When it came time to design the interface, they were completely lost . . . so they made a single ADD-CHANGE-DELETE screen for each of the 100 tables in their system. The screen was accessible only by giving a cryptic command on the command line. The system had utterly no menu. When users cried "foul," the IT department issued a cheat-sheet booklet of the 300 commands needed to run the system. I would have loved to write an entire volume on the topic of events - but the charter of this book was to cover the spectrum from start to coding . . . a challenge that often yields coverage that is a mile wide and a quarter inch deep. Your commentary is very fair in this assessment.
The original target audience for this book (especially the GUI parts) were experienced main-framers - who were familiar with SA/SD techniques but were utterly baffled as to how to transition their skills to client/server and beyond. In the early 1990s we saw whole IT shops paralyzed with this issue. Unfortunately, I didn't have the foresight to realize that all of the mainframers would be called back to the "mother ship" to do Year-2000 mitigation (until retirement)! If I dwelt unduely on the object-action point - it was mainly for that audience. It's hard to overcome one's biases - based on the types of systems you're building.
As you pointed out so clearly . . . my perspective comes from building very large PowerBuilder / Oracle sales planning and order entry, transportation and export invoicing systems for Weyerhaeuser. In these systems, the user community very much appreciated object-action over their old command-driven systems.

Today - we'd undoubtedly give them more of a browser concept. Later I worked on an emergency-response system and found myself favoring action-object. With a highly-skilled 9-1-1 operator at the controls, there is no time to pick from a drop down list when a caller's life hangs in the balance. I'd love to hear your biases and opinions about this topic.

Glad you like the "window cohesion section." It's rare that a reader draws the proper correlations to the original SD references. I'll admit to having a bit of a brain wave when I saw those patterns emerge in my own designs. I felt that window navigation was really obvious. We'd been doing it on the white board for years this way. I've seen several authors alight upon this idea at the same time . . . it was a huge short-coming in the UML body of work. Speaking of UML - I purposely avoided it in this book. At the time this text was written (1995-1996), the OO notation debate was in full hot rage. I was very, very concerned about having this publication dragged into the partisan bickering - which threatened to overshadow some of the more basic messages I was trying to convey. That's why I chose a relatively benign OO notation and spoke in rather general terms.

The same went for Use Cases. Jacobson's writings on the subject touched on many of the event modeling concepts - but failed to provide the rigor required for serious analysis. Subsequent authors have steered his work much closer to event modeling today. You may have noticed that the "event levels" I provided in Chapter 4 have a correlation to Use Cases...The dialogue level (when you declare the User/Actor and technology) is really the level at which Use Cases were devised. Unfortunately for projects which focused solely on this technique - it fails to adequately model the business problem prior to designing the interface.

I'm glad you picked up on the point about testing in reverse order. It's the bane of our existence!!

Thanks again for your review. I'd very much appreciate hearing your further thoughts.

Very best regards,
Dave Ruble
uidesign.net
hosted by likk.net
           
 
Copyright uidesign.net, 1999 - 2003.
The UI logo device and uidesign.net wordmark are trademarks of uidesign.net