Concise and effective messages – GroupWise confuses the reader

Just before I went on Christmas leave, I tried to set-up an out of office at one of my clients (where I have an email address). I am used to setting it up in Outlook, which is a very simple procedure. However this client is running a rather old version of GroupWise (v7).

The help file in Outlook explains how to create an out of office in exactly 49 words, while the GroupWise help file took over 500 words to completely confuse me (I never managed to get it working in the end).

My point is twofold. Firstly that GroupWise is probably the worst email system in the world. Secondly, their help file is far to confusing. It managed to confuse a very experienced computer user.  If I was confused,  I really feel sorry for the regular user. It should not take 500 words to explain such a simple task.

Ok, here is the lesson. Are you ever a GroupWise help file when you communicate? Do you give complex, confusing messages that make no sense? Or are you Outlook, providing short, effective and powerful messages?

For your reading pleasure, here are the instructions for both products (good bedtime reading).

Here is how you do it in Outlook:

Turn an Out of Office Assistant rule on or off

To turn out of office rules  on or off, on the Tools menu, click Out of Office Assistant.
In the Status box, select or clear the check box next to the rule you want to turn on or off.

Here is how you do it in groupwise version 7:

To create a vacation rule

  • Click Tools > Rules > New.
  • Type a name in the Rule Name box, such as Vacation Rule.
  • Click the When Event Is pop-up list, then click New Item.
  • Next to And Items Are, select Received. Make sure no other item source is selected.
  • Do not make any selections under Item Types.
  • Use Define Conditions to add specific information to your rule. The following are examples of using Define Conditions.
    • If you want to set up the dates during which the rule is in effect. Click Define Conditions > click Delivered in the first drop-down list > click On or After Date in the second drop-down list > in the date field, select the date you are leaving on vacation. Click the End pop-up list > click And. On the new line, click Delivered in the first drop-down list > click On or Before Date in the second drop-down list > in the date field, select the date you are returning from vacation > click OK.
    • If you want to make sure you reply only to items that are sent specifically  to you (and not to list servers or newsgroups). Click Define Conditions > if you have already specified information in this dialog box, click the End pop-up list > click And. On the new line, click To in the first drop-down list > click [ ] Contains in the second drop-down list > in the next field,  type your name as it displays in the To field of a mail message.
    • If you want to make sure that you do not reply to items from yourself (possible through delayed delivery). Click Define Conditions > if you have already specified information in this dialog box, click the End pop-up list > click And. On the new line, click From in the first pop-up list > click [x] Does Not Contain in the second drop-down list > in the next field, type your name as it displays in the From field of a mail message > click OK.
    • If you want to reply to internal items only. Click Define Conditions > if you have already specified information in this dialog box, click the End pop-up list > click And. On the new line, click From in the first drop-down list > click [x] Does Not Contain in the second drop-down list > in the next field, type @ > click OK.
  • Under Then Actions Are, click Add Action, then Reply.
  • The Reply dialog box is displayed, showing Reply to Sender selected (you cannot select Reply to All). If you want your reply to include the sender’s original message, select Include Message Received From Sender. Click OK.
  • Type a message, for example:
  • I will be out of the office from September 3-September 10. If you need assistance during this time, please contact Martha Robbins at extension 1234.
  • Click OK.
  • Click Save. Verify that the rule has a check mark next to it, indicating that it is enabled, then Click Close.
  • Rules that trigger a reply (such as this vacation rule) keep a record of who a reply has been sent to, and make sure that a reply is sent only once to that user.

For completeness sake, here is how Google’s Gmail does it (36 words).

1. go into Settings->General
2. then scroll down to Out of Office AutoReply
3. Fill Subject and Message

Every time you leave your office set Out of Office AutoReply on, when you’re back turn it off.

The 10 Lies Software Developers Tell

Program_code1) My code is better that yours. Writing code is very much like writing a song or painting a picture. Artists and song-writers have different styles of painting or song writing. Writing code is similar, different software engineers have different coding styles. So, unless your code is really badly written, my code is no better than yours, it is simply different to yours. If my code works and does not require any enhancements, leave it alone, no matter how different to yours it is.

2) It works on my machine…well, if it works on your machine and not mine, then clearly it is not a robust application, or your installation procedure does not work very well. Remember that you wrote it on your machine, so of course it works on your machine. Now get it to work everywhere else.

3) I’ll comment the code at the end. The end of any development cycle is always chaotic, that is a simple fact of software engineering. So, if you have not got time to comment your code while you are writing it, how are you going to have the time at the end? Besides, if it is a large project with a long development time, are you going to remember what some of the earlier written (uncommented) code does!

4) I’ll add the error handing at the end. Error-handling is part of the basic design of a system, not something you slap on at the end when you have time.

5) The programme is complete – but I just need to quickly finish off…..This is a very common one. The development is not complete until you have finished writing all of the code. If you have a single line of code to write, it is not complete, and not ready for testing.

6) It is a small bug – it will only take 5 minutes to fix. By the time you have load the development environment, identified the bug, fixed, tested and rolled out the change to production, it will be much longer that 5 minutes. There is no such thing as a 5 minute to fix bug.

7) I only have to change one line of code to fix the bug. To the customer, it does not matter weather it is one line of code, or one hundred lines of  code. All the customer cares about is that the application is not working. Fix it!

8) It’s not my problem. If your application is not working – it is your problem. It does not matter if RightFax is down and you cannot print faxes, or you cannot connect to the FTP server. The fact is that if your application is not doing what it should be doing, you had better find out what the cause is, and resolve it.  While different people may have ownership of different portions of a software system, you are ALL responsible to ensure that everything is working.

9) The application works fine with my test data. Yes it might, work with the test data, but the live system does not run on test data. It runs on live data. Best you get your application to work with live data.

10) It’s a user error. If the user is clever (or stupid) enough to break your application, it is not robust enough. You need to anticipate all user inputs, and cater for them. If at a later stage you find another user error, modify your code and test cases to check for it.

And a bonus lie…

11) Of course I test my own code. Do you? Really? Promise? Ok, then let me try to break your application.