Compartilhar via


BlueScreen2007

User Experience Principle #2: The user should always feel in control.

So I've been going through the tutorials for Expression Blend coz I'm supposed to be an expert at it by now. However, on my machine at work I couldn't get any of my applications to run. All the sample applications would run, but mine would crash immediately (even if they were identical to the samples):

Blue Screen Vista Style

Well it took me hours to figure it out, but it turns out the problem is related to my 'My Documents' folder. Blend saves your projects to My Documents by default, and at work my 'My Documents' is on actually on a server for backup reasons. Turns out a thing called CASPOL stops the application running because my "My Documents" folder doesn't have the right permissions, or something.

The fact this happens is nobody's fault - just one of those things. Security is a necessary evil. However the USER EXPERIENCE leaves somethnig to be desired! Instead of "UntitledProject1.exe has stopped working". How about a hint? Windows/.NET/the program actually does know exactly what the problem is, it just doesn't choose to share it with the world. How about "UntitledProject1.exe cannot run because it is stored in an untrusted location. More information"?

First rule of error message design: Describe the problem in user terms, and how to fix it. (Better yet of course, where possible: just fix it.)

Hrumph.

BlueScreen2007.jpg

Comments

  • Anonymous
    January 03, 2007
    Samples don't usually have necessary error-checking; they probably contain a notice saying they shouldn't be used in production code? Either way, just checking/catching exceptions in the sample app would have given at least some information. The problem wasn't that it couldn't run - it stopped working, as the error seems to say.  If it's out of Windows' hands, what else could it say? (You might guess it would be a good idea to catch and display unhandled exceptions - but they look very technical and can pose a security risk). Most API functions are documented with a list of all the exceptions they might throw - it's up to the developer to catch, interpret and display/act on them. Anyway, I don't have experience with the API so can't really comment with any authority ^_^  Just a guess though.

  • Anonymous
    January 03, 2007
    Someone should post this principle to Lotus too and tell them to apply it to Notes (the bain of my new life). Better still they should tell them that a cyclical sequence of errors with no escape except to quit the application is sooo 1970s. At least you don't have that problem :-) Linz

  • Anonymous
    January 03, 2007
    The comment has been removed

  • Anonymous
    January 03, 2007
    Hi Shane, Yep - its something that developers just learn not to do. We always put our code files off the root directory for the most part where we can do things like setup TFS workspaces.

  • Anonymous
    January 03, 2007
    Thanks Mitch. A trap for young designers, I guess. MS (that's us) wants designers to be able to play with Blend without having to bug their developer friends with dumb questions like "why doesn't my blend app work?" Gotcha's like this don't make for a great designer experience.

  • Anonymous
    January 04, 2007
    Thought some of these might brighten your day: http://thedailywtf.com/forums/thread/109185.aspx Mysterious internal errors that aren't supposed to exist, indeed.

  • Anonymous
    January 04, 2007
    I was reading Shane's post (well, I had more interaction with his problem than just reading his post

  • Anonymous
    January 10, 2007
    Wouldn't it be more "user-friendly" if Blend ASKED YOU where to save your project ? Programs saving everything in the "My documents" folder are getting on my nerves and are the primary reason for my lack of use of that folder.