Monthly Archives: March 2004

Longhorn and eBooks

I just finished downloading my Microsoft Reader eBooks onto my iPAQ and couldn’t help but wonder what the future of Reader technology was with Longhorn in the pipeline. Will fixed XAML documents become one of the publishing options for these kinds of user experiences and if so will Microsoft be developing a XAML reader for fixed format documents on existing Windows investments.

Woohoo! I’m a dedicated developer!

I didn’t have any connectivity today while I was at a client site so I had to pull down the few hundred e-mail messages from mailing lists etc that had accumulated through the day over a 28.8Kbps dial-up connection. Eventually it all got down and I was really excited when I saw that my MSDN Connection approval had gone through and that I am a foundation member in the “dedicated developer” tier.

This is cool stuff. Can’t wait to get the welcome kit and stick the user group stickers on the membership card. I think what I might do is build an app where people can upload scans of their cards something showing how many stickers they have on it! I’ve got to right a magazine article over the weekend so maybe that could be my pet project after that – unless anyone else can take a stab at it first.

Geelong: The Haymarket Hotel

I’m spending the night in Geelong tonight after spending the first day of a two day engagement with a new client in the area. When arranging travel and accomodation plans the boss asked if I wanted to stay in Geelong or in the city. I decided to stay in Geelong and I am really happy that I did – because I have discovered the Haymarket Hotel (OK, credit must go to Super Karen, our Logistics Manager who booked the room).

After the day was done I made tracks back to the Geelong “city centre” to find the hotel. I probably made two or three passes of the place simply because to me, it didn’t look like a hotel. I resorted to counting numbers and found the place on the last pass. After parking on the otherside of the road and crossing the street I was greeted by the owner at the door who helped me in. With a PDA in one hand, laptop back around the shoulder, car keys and overnight bag (on wheels) I was running short of hands.

After being shown to my room on the second story I decided to go down to the bar and have a beer (or two). The bar is only open to guests and guests of guests. The owner was down stairs talking to another of the guests and it was really nice just having a social chat. The best that I can describe it is that it is like faulty towers without the things that make you cringe. If I ever need to come back to Geelong to see our client again I hope to stay here again.

Over the last few years I’ve travelled a fair bit and stayed in all sorts of hotels, with a few exceptions they are generally all large concrete structures with rooms of varying size and absolutely no character. The result is that I either go to bed early or work out of complete boredom. Right now I am sitting in a common lounge, there is a fire crackling in the corner and in about twenty minutes I believe my room is going to be turned down. All in all I have to give this place two thumbs up.

My Pocket PC Experience

Last night I reclaimed my Pocket PC from my wife. She wasn’t using it and I wanted to play with the biometric reader on it. Anyway, as I was sitting drinking my cuppa I picked this up from Jakob Nielsen’s Alertbox this morning and found it to be a good read. Its all about usability in consumer products but really finishes up talking about how important usability is in general and why we should spend more time focusing on it.

As I get older I think I’m starting to realise that all the backend architecture in the world won’t make a particular piece of software successful. Unless it has an interface that is kind to its users it will ultimately have a limited life span. Anyway, where was I. Ah yes! I was sitting on the couch this morning I was reading e-mail on my Pocket PC having my morning cuppa. I wanted to reply to a few of the e-mails. Hitting the onscreen keyboard with the stylus was going to take me forever so I had to abandon that idea.

I wondered whether I should send a voice mail back using the record button on the iPAQ but since it was going back to a mailing list it would probably get stripped or bounce. I resigned myself to the fact that I would have to follow up on the e-mail when I got in front of my laptop (which was just sitting in the other room after all). In a last ditch effort to make the whole experience worthwhile I wondered if I could somehow flag the e-mail for follow-up. Nope!

So basically the device has a hard to use keyboard, the voice feature while a good idea doesn’t work today because attachments (wave files) often get stripped – and even if they did Telstra usage charges for sending something like that over GPRS would be atronomical (its expensive enough to send text). So the only thing it could do easily (flag for follow up) it flat out didn’t support.

Note that this isn’t a reflection on the Pocket PC, more just about the sorry state of technology in general. I’m hoping that the Smart Phones that the Microsoft folks are carrying around deliver a better experience – but then they don’t have to pay for the GPRS connection out of their own pockets.

catch { // Nothing but whitespace } should be banned!

Before I get started, I need to state that I don’t agree with Joel’s condemnation of the try {} catch {} block. My beef is with the catch {} block, or more specifically with empty catch blocks like this.



    // Code that may throw an exception.


catch (SomeException ex)


    // Sweep exception under the rug.


The problem here is that I am catching an exception but doing nothing with it. Not a single diagnostic, nothing, but it is surpising how often I’ve seen this code even in C# where there are no checked exceptions! This code can make bugs impossible to hunt down because silently ignoring an exception can result in side effects an completely different branches of execution.

There are a number of other enhancements that I’d like to see made to the exception handling syntax in C#, but I’ll leave them for a later post.