# Sunday, 18 February 2007

I will be in Montreal in May to speak at DevTeach.

My talk:

It’s Vista time – is your application ready?

Windows Vista provides an extensive set of new APIs that enable improved user experiences and enhanced security, but some of these APIs are exposed through native COM and Win32 programming models. This session highlights strategies and techniques for taking advantage of these native APIs from managed code. Learn what's really involved in making your .NET application "light up on Windows Vista" with User Account Control (UAC) integration, Windows Vista User Experience features like common file dialogs, task dialogs and command links, and integrated desktop search.

DevTeach is a lot easier to get to than some of the bigger conferences, and it has a star-studded speaker list. See you there!

Kate

Sunday, 18 February 2007 15:35:55 (Eastern Standard Time, UTC-05:00)  #    
# Saturday, 17 February 2007

Imagine that you needed to go somewhere NOW and stay there for a while. Like maybe weeks or months. What would you need to take? It kinda matters why you're leaving, or maybe it doesn't. You could be fleeing a burning house like my neighbours did, or flying to a sick relative, or responding to any number of natural or family disasters. And the last thing you need at a time like that is to be running around wondering about paperwork and documents to take with you.

If you have a laptop, that's a really good start, but think about all the identity-related numbers you sometimes need to look up. For example, what if you needed to write a cheque? It doesn't happen very often these days, but should you take your chequebook with you just in case? Maybe it would be enough to have your account information with you, so you could call your branch and ask them to courier you cheques. Maybe you live in a small enough town (I do) that the bank knows who you are by your name and doesn't need the account number. What about all your credit cards, even the ones you don't use and keep for emergencies? Can you get the balance for all of those online or over the phone -- sure you can. But not all of them tell you your credit limit (why? I have no idea) so perhaps a list of cards and their limits would be handy. And coming back to that burning house, I bet your insurance policy is in it. Do you even know your agent's phone number? Why on earth would you? It's not like most of us chat with whoever sold us that policy all those years ago.

Lifehacker suggests putting this sort of thing on a "getaway drive". List your bank accounts, with the phone numbers and names of the branches and your rep or agent. List where your safety deposit boxes are. Put everyone's SIN, and maybe scan your passports, drivers licenses and so on. Scan your insurance policies, at least the most recent bill with your policy number on it. If you might end up going out the door without your credit cards, having the numbers to call to get new ones (with your account numbers and whatever other information they might ask for to confirm your identity) could save a lot of time. Think about needing to replace cards, ID, and the like. Think about needing to connect to your finances from somewhere else, maybe from someone else's computer -- you know, that doesn't have a file called passwords.txt on the desktop :-) and a Favourites list of links to all the companies you have accounts with? Put what you need on here - a Word file, a bunch of JPGs (scan stuff or just take pictures of it with your digital camera), an HTML file of links. Then encrypt the heck out of it, and put it on a little memory stick / flash drive. [If you've got lots of spare space, take a hundred or so pictures of stuff in your house -- the CD collection in the living room, a slow video pan across each bookshelf, your dishes, your closets, and so on to simplify any future insurance claims. Imagine being able to answer the question "how many books were in the house?" ] Put the drive somewhere that's always with you but not incredibly losable, or that's easy to grab on the way out of the door. Heck, make a copy and snail mail it to the family member who lives furthest from you, and ask them to hold it for you indefinitely. One less thing to worry about.

Kate

Saturday, 17 February 2007 15:26:02 (Eastern Standard Time, UTC-05:00)  #    
# Friday, 16 February 2007

That Mac ad where the PC is going for "surgery" so he can upgrade to Vista really ticks me off. First, I upgraded a truly ancient Toshiba to Vista just fine. And second, way to make a bug a feature and a feature a bug! Ha ha when I need a new OS I just throw myself in the garbage and someone buys a new machine! That's so much better than replacing one card or switching to a bigger hard drive! Whatever.

That said, I know plenty of geeks are going to use Vista as an excuse for a new laptop. I'm one of those geeks and I'm about ready to get a new machine. One of the things that's held me back is the thought of the time and trouble to get everything set up my way. You know, my wallpaper, my favourites, my files of course, folder settings, there's so much. Applications don't worry me so much because half the stuff I have installed on here should really go, I don't use it any more. Half the rest came from my MSDN disks and I know where to find those. What's left (WinZip, a really old Paint Shop Pro that doesn't try to do anything fancy, miscellaneous games and utilities) I can install from the \install folder on one of my two main file servers.

And now for the settings, here's something that will make it much less painful: Windows Easy Transfer. Put the old and new machines on your network, and:

This wizard is built into Windows Vista and will automatically transfer your personal data from a Windows 2000, Windows XP, or Windows Vista based-PC to a Windows Vista-based PC.  It gathers up the data from your old PC and then applies it on your new PC in the right places.  It will move user accounts, files and folders, email messages and settings, address book entries, and Windows settings.  It does not move programs.

No network? (Helping your family, and they don't have a network onaccounta they only have one machine?) Use a special cable to connect the two machines. There's even an option involving removable hard drives or burning to disk that sounds like it might work if you have only one machine but are repaving. (Sounds a might scary to me, but ok.)

Plus, there's a tool in beta that moves your apps too:

we have been working on a new tool called Easy Transfer Companion, which will transfer programs and program settings from a Windows XP-based PC to a Windows Vista-based PC.  When used together with Easy Transfer, you will be able to move everything you need to your new PC running Windows Vista.  Easy Transfer Companion has been designed to transfer many of the most popular programs for consumers and small businesses, as well as many others.  You can transfer programs with either an Easy Transfer Cable or a network.  We've released the tool in Beta so that we can take feedback on the overall functionality and get more information about the experience of transferring specific applications outside of those that we've tested internally.

Now I just have to choose a shiny new laptop...

Kate

Friday, 16 February 2007 14:56:32 (Eastern Standard Time, UTC-05:00)  #    
# Thursday, 15 February 2007

I read a few interesting posts (Barry Leiba, Raymond Chen) about email subject lines. I get about one email a minute, and even after you strip out the offers that aren't really that personalized (I already get those from Canada, thanks, and I don't even have one of those, and as for that, are you serious?) I get dozens and dozens of real and important emails every day. And at a quick guess at least half have a terrible subject line. If you've heard me speak, you've heard me try to teach the art of a good subject line. Let me try some more here:

  • Never use the name of a project or client, and only the name of the project or client, as your subject line. My "City of Kawartha Lakes" outlook folder contains roughly 50% emails that break this rule. Most of my staff were on the project at one time or another and were typically on other projects too. So when they emailed me a question or a status report, they put "City of Kawartha Lakes" or "CKL" or "City web site" as the entire subject. The problem with that is it's so ephemeral. This morning it distinguishes your mail from the others in my Inbox you sent me about a different project. 6 months from now, when I'm trolling the client folder trying to establish when something was decided, it's really of no value to me at all. The City staff were no better: they used to write with subjects like "our website project". It was during that project I started to train my staff on subject lines.
  • Really try to imagine someone using your email a year from now. Then you'll naturally change "weekly status report" to "status report, week of Jan 2". That's doubly true if it's not date related -- at least I can sort my emails by date.
  • Never use a subject line that will make little or no sense if it's forwarded, or could offend. "Need a ruling on bug 234" is ok, but just "bug 234" will not make sense when it lands in the client's inbox, and "Can you please get these morons to make up their minds?" is also bad. If I have to change your subject line in order to forward the message, then when you're cc'ed the subject line change will confuse you.
  • Barry points out the problem with "meeting with Barry" or anything else that has some sort of directionality in it. Even "today's results" becomes mislabelled tomorrow.
  • Probably the second worst subject line in the world is "question". The worst: "couple of questions". I prefer separate emails for separate questions, so I can reply to them one at a time, forward them to those who can truly answer them, and so on.
  • If you don't get any spam at all, and have a way better spam filter than me, or are luckier than me, take a look at what is getting dropped once in a while, and don't use those subject lines. "question" is real popular in my junk box, as are "Good day", "Approved", "Document", "Request" and so on. Plenty of folks (and spam filters) drop those unread.
  • If I am not likely to recognize your name, take extra care with your subject.  Email from a known correspondent with a confusing subject line will at least be read. It may not be very file-able, but I'll read it. The same subject line from a stranger might go straight to the trash. At events I recommend mentioning the event in the subject.
  • When replying, feel free to fix subject lines. Most importantly, remove [ACTION REQUIRED] and similar flags if you are not actually requiring action in your reply. I don't object to folks using these tags but it gets tiring when my folders are full of ACTION REQUIRED messages that say "ok you will have it by end of day".

Finally, as a Raymond-commenter points out, make your first line or two really count. It may be all I read. If you want me to review something, start the email "can you review this document by Friday?". Then you can provide the backstory after that. I file a lot of things unread, because I get cc'ed on things. This is good. It's better still if the part I can see in my two line preview says "yes, we can do this for your by Friday" or "go ahead, I have approved the budget" so I don't even have to open the message.

Kate

Thursday, 15 February 2007 14:41:41 (Eastern Standard Time, UTC-05:00)  #    
# Wednesday, 14 February 2007

I came across the most astonishing story. Here's a tiny excerpt:

You know the logics setup. You got a logic in your house. It looks like a vision receiver used to, only it's got keys instead of dials and you punch the keys for what you wanna get. It's hooked in to the tank, which has the Carson Circuit all fixed up with relays. Say you punch "Station SNAFU" on your logic. Relays in the tank take over an' whatever vision-program SNAFU is telecastin' comes on your logic's screen. Or you punch "Sally Hancock's Phone" an' the screen blinks an' sputters an' you're hooked up with the logic in her house an' if somebody answers you got a vision-phone connection. But besides that, if you punch for the weather forecast or who won today's race at Hialeah or who was mistress of the White House durin' Garfield's administration or what is PDQ and R sellin' for today, that comes on the screen too. The relays in the tank do it. The tank is a big buildin' full of all the facts in creation an' all the recorded telecasts that ever was made—an' it's hooked in with all the other tanks all over the country—an' everything you wanna know or see or hear, you punch for it an' you get it. Very convenient. Also it does math for you, an' keeps books, an' acts as consultin' chemist, physicist, astronomer, an' tea-leaf reader, with a "Advice to the Lovelorn" thrown in. The only thing it won't do is tell you exactly what your wife meant when she said, "Oh, you think so, do you?" in that peculiar kinda voice. Logics don't work good on women. Only on things that make sense.

He's right, isn't he? Well, not about women, but about "you got a logic in your house" and the description of what your logic does. And sure, tons of science fiction stories (plus Marshall McLuhan) predicted this. But this story was published  - I kid you not - in 1946. Sixty one years ago.

Wow. Check out the author bio and then read a whole pile of his stories online. All the standard tropes of science fiction stories are here ... just a lot longer ago than I would have thought. And his gender attitudes, in other stories, reveal themselves to be a little different than this quote would imply.

Kate

Wednesday, 14 February 2007 11:50:28 (Eastern Standard Time, UTC-05:00)  #    
# Tuesday, 13 February 2007

Here's another C++ video on Channel 9. And this one is about strategy and vision:

How will VC++ evolve? How has the advent of managed code affected the evolutionary trajectory of VC++? What's the VC++ team up to these days, anyway? How much time are they spending innovating C++, the native language?

Tune in and learn first hand from two people who know the answers to the above questions (and much more); Steve Teixeira, Group Program Manager, and Bill Dunlap, Program Manager.

If you want to know where Visual C++ is heading, then you definitely want to watch this interview. If you are a C++ developer, the message should be very loud and clear: Microsoft has not forgotten about you!

These guys know you don't want to throw your old code out and it isn't broken. You want to keep working with it. You want to extend it to pick up new shiny good stuff, but you don't want "step 1: port the whole thing to C#." They also know you love the language and you want Microsoft to love it and love you. And they realize that C++ doesn't need to be all things to all people, because most folks who have mastered C++ can pick up the C# or VB they need when necessary. So if you accept those two premises - that native code is super important, and that not every single UI wizard needs to support C++ - where do you think that leads? Watch and find out.

Kate

Tuesday, 13 February 2007 11:39:05 (Eastern Standard Time, UTC-05:00)  #    
# Monday, 12 February 2007

Aaron Stebner has a blog post and an update on installing the C++ redistributables (msvcr80.dll, atl80.dll and the rest.) You can choose

  • the user doesn't need to do anything, but there's a progress dialog and it has a cancel button
  • the user doens't need to do anything, there's a cancel dialog, but no cancel button
  • there's no ui at all and nobody knows what's happening

Turns out the command line you use varies a tiny bit for redistributable packages you installed with Visual Studio or those you get from the web, so read both posts.

Kate

Monday, 12 February 2007 11:24:12 (Eastern Standard Time, UTC-05:00)  #    
# Sunday, 11 February 2007

You know what they say: if I knew, I couldn't tell you. But Mary Jo Foley doesn't mind a little speculation, and Scott Guthrie seems pretty clear on timelines in the blog and presentation she quotes. So it's either "late 2007 or early 2008" or "later this year". But don't say I said so :-)

Kate

Sunday, 11 February 2007 11:12:54 (Eastern Standard Time, UTC-05:00)  #