Posts

Showing posts with the label necessary-errors

Visual Studio: Team Exploder - Error Handling: Fail early, fail safe

Image
Team Explorer is/was a part of Visual Studio IDE (a tool used by Windows-based application developers). This part involved retrieving and committing source code to remote source control systems, mainly Microsoft's Team Foundation Server (TFS). TFS is not a new acronym, and one of its older, colonial-days meanings was Tropical Fatigue Syndrome, the effects of which would be familiar to any unfortunate developer as they struggled with various Team Server errors: Why these errors are displayed at all to the user, is basically to halt the dumb imperative program in its tracks , before it can do more damage. Why would damage be done to the user's precious data? The dumb, command-following program has hit an unexpected, not-designed-for problem, and were it to continue, its behavior is, like a beautiful Porsche stolen by an insane criminal mastermind,  actually completely undefined. Not even the coders who originally built the software would know what exactly would happen next! ...

Visual Studio - the Case for Catastrophic Failure! (Error handling: Fail early, fail safe)

Image
Visual Studio, that erstwhile desktop development tool used by millions of Windows based developers since the late '90s, has been through many a revision. Unfortunately, like any complex piece of software, some of these interesting and progressive revisions also involved the odd regressive bug, where the tool hit an unexpected state that it cannot handle. Words fail to describe     Catastrophic failure! Catastrophic indeed! In classic application developed software, handling 'undefined' situations that are not expected, leads to undefined behavior, where no one really knows how the system will continue to behave. Such situations pose a danger to any data involved, such as documents that the user is editing, since at the very least, the user may lost their current unsaved changes. Worse, if the program continues its imperative path (where the computer is blindly following instructions given by the original authors of the software), then the data may actually become corr...

Tenrox? Un-handled errors in application software - a UX and Quality challenge

Image
Tenrox in a former incarnation was a rather primitive website with a decidedly built-by-desktop-coders feel. It did work, but was difficult to use, and so like many a functionally correct product, did not gain the enthusiasm of its users that any product supplier would desire. The title of the software - Tenrox - made this situation additionally uncomfortable for its long suffering users... Unfortunately, the user issues were not confined to usability: there were also occasions of unexpected errors: Although this dialog is ugly, in case of un-handled errors it can actually be catastrophic failure may be the best thing to do. This is to avoid data loss, data leakage, unauthorized access and other unexpected behavior. Today, Tenrox . com is marketed "a cloud based project management software that helps you plan and schedule your projects track time and expenses" - already sounds better!

Lync - wait 15 minutes - Error handling, UX and automatic software updates: a bad example

Image
Not all issues are bugs, and not all issues take a long time to fix. Consider this example from Microsoft Lync (the posh Skype): Be right back... Unlike many other application boo-boos exemplified in this series, this one is a bit hard to explain. The message does admit there is a problem, and this is a modal dialog (absorbing all user input and so blocking any other part of the application from processing any new user actions). So, on the face of it, this appears an example of catastrophic failure . However, reading further through the message, we see that the user has a rather specific task to perform: restart and leave it running for 15 minutes . Restart does seem a little unfortunate and casual: we don't quite know what the problem is, but in fact we DO know the software is, like your aunt Wilma's old car, a bit unreliable, and just needs a bit of a kick and another try every now and then. Admitting to unreliability is unfortunate, yet the honesty is to be commended - hop...