REVIEW - Developing Windows Error Mmessages

Title:

Developing Windows Error Mmessages

Author:

Ben Ezzell

ISBN:

1565923561

Publisher:

O'Reilly (1998)

Pages:

240pp

Reviewer:

Ian Bolland

Reviewed:

February 2000

Rating:

★☆☆☆☆

If you are a serious Windows programmer you will probably already have a book on UI design and another on UI programming, which between them will cover much of the content of this one. So why would you want to buy it? The discussion of error message design is well written and is less academic than that of some UI design books. It illustrates good design principles by giving examples of badly designed messages. It also has space for a greater depth of coverage; for example it discusses techniques for reporting errors to support personnel. However, I was disappointed to find that it covers only traditional stand-alone Windows executables: it provides no guidance on error handling in today's distributed, component- based, multi-tier applications.

The rest of the book discusses code samples (included on CDROM) that perform a rather arbitrary selection of tasks. Out of 240 pages it devotes 47 to the author's message dialogue box, 24 to popup menus and 14 to an unsatisfactory attempt to embed an ActiveX browser control into an application. Shorter sections discuss accessing the registry, string matching, using rich text, writing BLOBs to a database and trapping Plug-and-Play event messages. Most of the samples are presented twice, once in MSVC/MFC and once in VB. Some of them border on the trivial, while others assume that the reader has extensive Windows programming experience. I did not find this part of the book useful. It feels as though the author has decided to show off some cool programming techniques and then tried to invent a connection with the subject of error messages. Those topics which are useful are covered more coherently by other UI programming books.

Finally, the quality of the code is poor. The author's dialogue box utility contains public member variables and magic numbers, while it avoids the use of const. It contains numerous memory leaks, its error handling leaves much to be desired and it uses some of the most eccentric string copying techniques I have ever seen.

In summary, I feel that had the code samples been omitted and the price been proportionately reduced, this book could have been worth considering. Not recommended in its current form.


Book cover image courtesy of Open Library.