September 2005 - Posts

Yes, Software Sucks, And It Should Help The User Kick Butt ;-)

Via Steve Eichert, two very interesting software essays:

  • Why Software Sucks: covers user expectations, developer skills, design vs. construction, and lots more. A quotable quote from this essay: "No matter what you do, someone, somewhere will think your software sucks" (and yes, this is true).
  • Subvert from Within: a user-focused employee guide: has advice on creating passionate users - I got out of this article a couple of tips for getting in touch with users of my software. And a great message in this article is the focus of software being to help users kick butt!

Both highly worth a read if you are a developer.

Melbourne Geek Dinner, Friday October 7th

My friend Tejas is organising a Melbourne Geek Dinner (location yet to be decided, but it will be in...uuh...Melbourne) on Friday October 7th.

I plan on being there - it will be good to catch up with everyone from the dinner after the Security Summit all those months ago. Look for the guy who is eating a lot.

VS 2003 Setup Project 'Unable to build dialog module named...' Error

This may happen to you - you build a Visual Studio.NET 2003 Setup Project after perhaps having not touched the project for some time, and the build fails with errors like:

Unable to build dialog module named "C:\Program Files\Microsoft Visual Studio .NET 2003\Common7\Tools\Deployment\.\VsdDialogs\1033\VsdConfirmDlg.wid"

There may be a few variations on the same theme of error message, with different "wid" files as culprits, and more than likely, the "wid" files all exist in the specified directory.

I googled for solutions and found them (after some digging) here, here and here: it's the dialog bitmap which is causing the problem, as it may have been renamed or deleted. Resetting the dialog bitmaps on the offending forms to "Default" (or "None") allowed a successful build.

Calling RunAs With Quotes in the Program To Run

I wanted to call MSIEXEC to install my program on another user's machines, and on top of that, I needed to use an admin's login to do so. In the past I would have remote desktopped into the machine while the user was logged off; this time I thought I'd investigate RUNAS as a possible solution.

The basic command line for MSIEXEC (the command-line version of Windows installer) is:

msiexec /i "\\server\path\installer package.msi"

Note the quotes around the MSI package, which are necessary as the path to the MSI package has spaces in it.

The basic command line for RUNAS is:

runas /user:domain\username "program"

...where "program" refers to the command to be run, which must have quotes around it if it has spaces. Since the "program" I want to run is the command line to MSIEXEC that itself has quotes, the quotes in the MSIEXEC call need to be escaped, like so:

runas /user:domain\username "msiexec /i \"\\server\path\installer package.msi\" "

Putting a backslash in front of the quotes inside the RUNAS quotes (e.g. the MSIEXEC call quotes around the MSI package) escapes them and allows "nested" quotes.

The alternatives of using a single quote/apostrophe around the MSI package will make the Windows Installer command fail, and using double quotes ("") around the MSI package will produce a RUNAS error.

 

Whatever Happened to Karl E. Peterson?

One of my favorite authors, back in the days when I was just learning Visual Basic, was Karl E. Peterson. He was entertaining and very knowledgeable, and so came across as both a good explainer and a top developer - just the sort of people you'd want to have writing for the now long-gone Visual Basic Programmer's Journal.

I wondered today why I hadn't heard his name in a long time...

So I googled his name to revisit his website at http://vb.mvps.org/ (which contains a collection of well-written, useful VB4-5-6/VBA code samples that I was using in my VB6 development days), and found that he still works in the newly-coined "VB Classic" and is one of the major names behind a petition to have Microsoft extend support (and continue development) for "VB Classic".

Curiosity: satisfied. I guess I can't expect new, cool .NET stuff from Karl (his website proclaims that it is "a certifiably .NET-Free zone"), and I wish him luck in his petition. But I'm not interested in signing it myself.

Jan Miksovsky's UI Blog

simplegeek points out Jan Miksovsky's "flow/state" blog which has some good observations on user interface; for me, the article on how Jan would address a "small fixed number of things" to display (illustrated by the modem control panel applet) is a highly worthwhile read.

Is it me or is UI increasingly being referred to as "UX" for "user experience"? Are the two terms interchangeable?