Self Diagnosing Software
A week or so ago, I read an article in Better Software
(from the folks at sticky minds)
called “Tell Me Where It Hurts”. The article describes a scenario where a
small software shop releases their latest and greatest product, and get a phone
call almost immediately from “the guy at the customer site responsible for
deploying their application”. After going through a few “did you check…”
scenarios, someone remembers that the software includes diagnostic software
that automatically detects many common deployment errors. The error is quickly
spotted and fixed, and everyone is happy.
I think this is a great idea, and mentally filed it under “Things
to consider for future versions of CETK and related tools”
Fast forward to 3 days ago. I use Cellar! wine software to track my
modest wine collection, and absolutely love the program (I’ll elaborate if
anyone is interested). Unfortunately, when I upgraded to the latest version, I
could no longer launch the app. A quick bit of diagnostics on my part
discovered that I could launch the app if I ran with Admin privileges (for
more info on running as a non-admin, see Aaron’s blog). I think
Cellar! is written in the author’s spare time (actually, if I remember
correctly, development is shared between a few folks, but I don’t think any of
them work on the software full time). Anyway…I reported the error not
expecting to hear anything right away, but I got a response almost immediately –
asking me to run the diagnostic tool shipped with the software once with admin
privileges, and once without. Not only is this a great software product, but
the authors are after my own heart with their eye towards quality – I’m very
impressed.
Comments
- Anonymous
January 19, 2005
That sounds nice. I'd like to see more programs with self diagnosing software enbedded. - Anonymous
January 19, 2005
You might want to mention Application Verifier from the Windows Application Compatibility Toolkit, too. It's one of the tools that we run internally (I'm in Windows test, but not CE) to find problems just like this one. It can make it much easier to find inappropriate file and registry usage. Probably one of those is the culprit. The tool is a free download for "customers running genuine Microsoft Windows", evidently.
When I checked to be sure that App Verifier was a free download, I noticed that there is a version of Application Verifier for CE, too. In the CETK, no less. Cool!
What did Cellar! do that was different? Just curious. - Anonymous
January 19, 2005
App Verifier is worth a whole other post. The CE App Verifier shares a lot of architecture with the desktop version, and also incorporates all of the relevant driver verifier functionality.
I'm not sure if I see AV as a self diagnosis tool - it can point out a lot of common (and serious) errors at run time, but it doesn't know anything about how a particular app runs - i.e. config information, internal data, etc. I think this is the stuff self diagnosing software would verify.
Finally, Cellar! was opening files under its directory in program files for write access - oops. - Anonymous
January 19, 2005
A nice story how diagnostic tools can sometimes save your day and make things much easier....