Tip for finding when an appointment was created

Here’s a tip for when you suspect someone has magicked up an appointment to coincidentally collide with an Outlook meeting request you sent them…

In your own calendar (and other people’s), you can see when a meeting was scheduled (ie request was sent or created), as well as other facts (like when you accepted it) – eg:

image

If a blocked out time in the calendar is just an appointment (ie something that was just put there by the owner of the calendar), you don’t see the date it was added…

image

Remember, they’re all just forms in the end 

Way back when Exchange was young (it started at 4.0), the design was that emails/meeting requests etc, were just an "item" (which is a collection of fields, different depending on the type of item it is), and a "form" which was associated with a particular kind of item using the Message Class to denote it.

In other words, an email message would have fields like Sender, date, recipients, subject, etc. And when you went to open a message, the Exchange client (later, Outlook) would look at the class on the item (IPM.Note, for a message) and would find the appropriate form to open that item. Clear? If you really want examples of lots of different Outlook items, see MSDN.

Anyway. If I’m looking at an appointment which wasn’t a "meeting" (ie it was just put into my or someone else’s calendar, not via a meeting request/acceptance), I might not be able to see the date it was created, but the underlying item definitely does have that property. Displaying it in Outlook is pretty straightforward, if a little contrived. Here’s one quick & dirty method of doing so (I may post a more elegant solution if there’s interest)…

image1. Get to "Design this form"

Older versions of Outlook had a Developer item on the menu structure which allowed you to select (via several pop-outs if I recall) to design the current form. Outlook 2007 simplified the menus (now using the Ribbon) and no longer shows that Developer menu. One quick way of putting it back is to add that specific command to the "Quick Access Toolbar"…

Click on little down-arrow just to the right of the Quick Access Toolbar on the top left of a form (eg the form of the appointment you’re looking at), then choose "More Commands"…

On the resulting dialogue, select Developer tab in the "Choose commands from:" drop-down list box, then scroll down to find "Design This Form" (note "This Form", not "a Form…". Select that command, click on Add, then OK out of the customize dialogue.

image

Now you have a little icon supposed to represent designing actions (pencil, ruler, set square) in your toolbar:

image

Click on the icon and you get into the form designer, with the current item being loaded. You’ll see a bunch of tabs – these correspond to "pages" within the form, and any in brackets are hidden. Select the "All fields" tab, choose Date/Time fields from the drop-down (or try "All Appointment fields").

image

You should now see just the date fields, including the original creation date…

image

This might seem a real palaver, but once you have the icon on the QAT, it’s a 5 second action to show the dates… and can be very handy 🙂

The lost art of the OOF

Some time ago, I posted about how the ".sig" has faded from grandeur. I’d like to add the somewhat terminal dryness of the OOF message to that list, and propose a solution.

OOF is a Microsoft term for Out of Office. It should really be OOO, but is stuck in the days of the predecessor to MS Mail and Exchange. See http://msexchangeteam.com/search/SearchResults.aspx?q=oof for myriad stuff on OOFs, and here (on why it’s OOF and not OOO) for one of the first – and for a while, most-read – blog posts on the Exchange team blog.

I’ve seen a lot of OOFs in my time, and many are of a hugely unimaginative nature. Some are kind-of smart in that they convey the most information in the shortest amount of characters (eg "oof til 7/1 – mail jbloggs if urgent") whereas some have clearly been lovingly hand crafted.

When I worked in the Exchange product group, I sent a mail to one particular guy (who is ex-pat Brit but had been over in Redmond for some time) on the 16th December. Turns out, he’d gone "home" for "the holidays" and I got:

I am so on vacation. By the time I get back, I expect things will look different. See you on 1/17/05. I probably won’t ever read your email. Sorry.

There’s something refreshingly honest about that – it’s admitting that he’s not going to be on email for at least a month, by which time, anything he got sent in email will be out of date. Brilliant. Helps build a case for Instant Messaging if you ask me.

Probably the best OOF I’ve seen came from a somewhat eccentric Canadian (who once replied when I mentioned I’d seen him the previous evening in New Orleans, clearly having a Nice Time), "oh yeah… any night when I don’t end up in jail has to be a good night"). Enjoy…

It happened. I knew it would happen some day, but never dreamed it would happen so soon. I tried to hide it from everyone, but word got out and boy did I catch hell for it. Yes, as embarrassing as it is, I must confess before God and country that I was caught, red-handed, Getting Productive Work Done In The Office!

People, please: do try to control your Shock and Horror. I know we used to do real work Long Ago, but we’ve moved past that, haven’t we? It was an honest mistake; an accident in the truest sense of the word. I did my best to hide it from everyone and thought I was successful around the children and my more-dense co-workers. But there is only so long one can live a charade, and in the end, like a house of cards in a hurricane it came down, down, down…

To pay for my egregious act of productivity and practical effort, I’ve been sentenced to two days of offsite meetings by a jury of my direct management.

Yes, kiddies, that is Two Whole Days of unbridled Tag-Teaming, Outlining, Problem-Solving, Situation-Analysing, Team-Building, Proactively-Leveraging, Federating, Brainstorming Facilitation and Group Contemplation. Unpack the markers and the big pads of paper, Martha: we is gonna have an offsite!!

Can you already feel the sweat drip slowly down ewers of water; the ice cubes grumbling with frustration at their inevitable doom in a pastel room filled with inoffensive Corporate Art? Can you see the elegant buffet of Northwest Grilled Salmon Medallions lounging in a Light Cream Sauce over chirping steam trays, accented by a tossed salad of Garden Fresh Greens? Can you hear that first person raise their hand to state, two hours into to the discussion, that "Before we go any further, we need to define the problem" only to be followed seconds later by another person wondering "what are the criteria for success?"

Do you get the idea that at some point on the first day, I’ll be screaming out "BINGO!" to a very confused audience?

Ah; they’re used to it…

A co-worker once told me you could solve any team problem with a case of malt liquor, an afternoon of skeet shooting and a strip club. He’s no longer employed at the company (something to do with an offsite of his own gone terribly awry near the Montana state border) but I think he was on the right track.

Where I am going, there are no visiting hours, and even worse: no conjugal visits. I might be reachable at <number>. Heck, if it’s really important, email or text me. Rumour has it the gardener can smuggle those in hidden in his watering can…

See you on The Other Side,

ian

Now I ask only one thing. We must all put some degree of (professionally relevant) imagination into our OOFs. It’s only respectful to the poor sods still at work who’re sending us email whilst we enjoy a few days out, isn’t it?

Have a Happy New Year, everyone. And please, for the sake of the rest of us, make your OOFs mean something special. Or funny. Or whatever.

Bulk update Outlook Contacts’ phone numbers to be E.164 compliant

Here’s a quick & dirty tool I put together for Outlook to be able to update all the phone numbers of contacts to make them E.164 compliant. It relates back to a post a while back around the challenges of formatting numbers ‘correctly’, particularly important once you get into using click-to-dial technologies such as Office Communication Server.

The tool itself is basic since it’s only really expected that people will run it once, to sort out the numbers of old contacts you might have. It will check all the contacts in a given folder and automatically fix the numbers up, but there are a few caveats…

  • It’s hard coded for UK numbers beginning +44 … though the code is pretty easy to get to if you know anything about Outlook forms, and you can modify it at will.
  • It doesn’t back up the contacts before modifying, so you might just want to copy your Contacts folder somewhere else before running, if you’re of a nervous disposition. I can verify that it hasn’t mangled any of my contacts and nobody in Microsoft who’s tried it has reported a problem.
  • It’s not exactly straightforward to install – but if you follow the instructions carefully, you’ll be OK.
  • The document in the ZIP file explaining how to install & run it, is in Word 2007 format (docx). If you still haven’t either upgraded or installed the compatibility pack to add OpenXML support to your older version of Office, there’s a link in the ZIP file to go straight to the download page.

A final word: this is completely unsupported, supplied “as is” etc. If it does mangle all your contacts up, just revert to your backup copy – and if you didn’t take a backup then you’ve only got yourself to blame.

Harsh but fair I think 🙂

Enjoy.

The logic converts “from” the format on the left to the format on the right… (_ denotes a space)

Old format number begins New format number begins
0 +44
(0 +44 (
+44_0 +44_
+44(0 +44(
+44 (0) +44
+440 +44
(0) +44_

Examples

old number New number
0118 909 1234 +44118 909 1234
(0118) 909 1234 +44 (118) 909 1234
+44 0118 909 1234 +44 118 909 1234
+44(0118) 909 1234 +44(118) 909 1234
+44 (0)118 909 1234 +44 118 909 1234
+440118 909 1234 +44118 909 1234
(0)118 909 1234 +44 118 909 1234

Sometimes, you know you didn’t pay enough

… (and sometimes you probably suspect you paid too much)

A common trait in western cultures is the eye for a good deal – you know, getting two-for-the-price-of-one, or thinking that it’s worth buying something because it’s on sale and you’ll save 25%, rather than because you really need it or wanted it beforehand.

I saw a quotation the other day which set me thinking… John Ruskin, a leading 19th-century English artist, all-round intellectual and writer on culture & politics, said:

“There is hardly anything in the world that someone cannot make a little worse and sell a little cheaper, and the people who consider price alone are that person’s lawful prey. 

It is unwise to pay too much, but it is also unwise to pay too little. 

When you pay too much, you lose a little money, that is all. When you pay too little, you sometimes lose everything because the thing you bought is incapable of doing the thing you bought it to do. 

The common law of business balance prohibits paying a little and getting a lot… It can’t be done.

If you deal with the lowest bidder it is well to add something for the risk you run. 

And if you do that you will have enough to pay for something better.” — John Ruskin (1819-1900)

This is something that maybe executives at Mattel toys are mulling over right now, but it’s probably a valuable lesson to any consumers about the risk of going for the absolute cheapest in every sense, regardless of price point.

There’s probably an economic principle to explain all this, but I’ve no idea what it’s called

As it happens, I’ve been getting back into cycling recently and that’s required me to spend a great deal of time and money poring over bikes & accessories, whilst learning about all the differences between manufacturers, model ranges etc.

In short, they’re all much of a muchness. Just like computers, consumer electronics, or cars – is last year’s model really so inferior to the all-shiny new one, that it’s worth paying the premium for the up-to-date one? And how can a single manufacturer make such a huge range of related product and still retain its aspired brand values? (quality, excellence, durability, performance, blah blah blah)

I’ve pretty much come to the conclusion that for any individual at any point in time, there is a point where whatever it is you’re looking at is just too cheap, too low-spec for your needs. Sure, I can buy a A graph for illlustrative effectmountain bike for £50 in supermarkets or junk shops, but it’ll be heavy and not as well screwed together as a more expensive one I might get from a good cycle shop.

There’s a similar principle in all sorts of consumer areas – like wine, as another example. It’s possible to buy wine at £3 a bottle, but it’s going to be pretty ropey. £5 and up and you start getting really noticeable improvements – maybe a £6 bottle of wine could be considered 5 times better than a £3 bottle, though it’s unlikely that this will carry on – at some point, you’ll pay double and the more expensive product will hardly be any better to most people, but for someone, that might be the mid-point in their curve which would stretch from too cheap at one end, too expensive at the other, with a nice middle flat bit where they really want to be.

The far end of that curve would be the point where buying something too expensive will be wasted – if I only need the mountain bike to go to the shops on a Sunday morning for the newspapers, I could do without a lot of the lightweight materials or fancy suspension that a better bike would have. Ditto, if I’m an average cyclist, I won’t need a top-of-the-range carbon bike since it won’t make any difference to my “performance” (though try saying that to all the golfers who regularly sink their salaries into buying all the latest kit, without having any meaningful impact on their game).

Maybe it won’t be “wasted”, but I just won’t have any way of judging compared to other products in its proximity – if I’m in the market for a MINI and yet looked at the comparative price difference of a Ferrari and an Aston Martin, I wouldn’t rationally be able to say that one is better and worth the premium over the other.

So what does any of this have to do with software?

A two-fold principle I suppose: on one hand, maybe you don’t need to buy the latest and greatest piece of software without knowing what it will do for you and why. Or if you do buy the new version, have you really invested any effort into making sure you’re using it to its maximum potential?

Look at the new version of Microsoft Office, with the much-discussed “Ribbon” UI (actually, this link is a great training resource – it can show you the look of the Office 2003 application, you click on an icon or menu item, and it will take you to the location of the same command in the new UI).

The Ribbon scares some people when they see it, as they just think “all my users will need to be re-trained”, and they maybe ask “how can I make it look like the old version?”.

The fact that the Ribbon is so different gives us an excellent opportunity to think about what the users are doing in the first instance – rather than taking old practices and simply transplanting them into the new application, maybe it’s time to look in more depth about what the new application can do, and see if the old ways are still appropriate?

A second point would be to be careful about buying software which is too cheap – if someone can give it away for free, or it’s radically less expensive than the rest of the software in that category, are you sure it’s robust enough, that it will have a good level of backup support (and not just now, but in a few years’ time?) What else is the supplier going to get out of you, if they’re subsidising that low-cost software?

Coming back to Ruskin: it’s quite ironic that doing a quick search for that quote online reveals lots of businesses who’ve chosen it as a motto on their web site. Given that Ruskin was an opponent of capitalism (in fact he gave away all the money he inherited upon his father’s death), I wonder how he would feel about the practice of many companies using his words as an explanation of why they aren’t cheaper than their competitors?

How to handle URLs with spaces in Outlook, Word etc

I was talking to a customer earlier today who was envisioning frustrations around using click-to-dial type functionality within OCS, where they’ll be copying & pasting phone numbers around. Now if the number is nicely formatted (and E.164 compliant…) then it won’t be problem, but the nearer number formatting gets to being easily machine-readable, the further it gets from being human-friendly.

This reminded me of a nice tip for dealing with odd URLs or other links (particularly UNC names such as \\server\share\folder name\file name) which might contain spaces. In many applications now (chiefly Word and Outlook, but others – such as Windows Live Writer – support it too), it’s possible to write or paste in a URL and have the application delay processing it and presenting it as a hyperlink.

Instead of ending up with \\server\share\folder name\file name, which you’ll get by starting to type the link, begin it with a “<“, then type or paste the whole URL, then close with a “>”. Now when you press space or enter, the app will likely process the hyperlink, remove the <>s and all is well. If you do end up with a half-formed link, go to the start of the text (before it becomes a hyperlink), enter the “<“, then jump to the end of the hyperlinked text (eg the end of “\folder”), and press backspace – this should remove the active bit. Finally, jump to the end, add your “>” and press space to complete.

Outlook 2007 signatures location

Following my post about .sig files, I had cause to dig around looking for where Outlook actually puts the Signature files. I came across a post which Allister wrote a little while ago, but it’s such a useful little tip that it’s worth repeating…

Basically, Outlook 2007 offers a nice simple editor UI for building your own signatures, however it’s complicated by the need to present the signature in HTML (the default format for mail now), Rich Text Format (aka RTF, the original Exchange/Outlook format dating back to the mid 90s) and plain old Text (with total loss of colour, formatting etc).

image

Outlook actually generates 3 versions of the sig, to be used for the different formats. In some cases – notably with plain text – the end result following the conversion isn’t quite what you’d want… my nicely formatted .sig about comes out a bit mangled, as

Ewan Dalton |     | Microsoft UK | ewand@microsoft.com |+44 118 909 3318 Microsoft Limited | Registered in England | No 1624297 | Thames Valley Park, Reading RG6 1WG

so it may be necessary to do a bit of tweaking to the formats. Do bear in mind, that if you do edit the sig files directly, then go back into the menu in Outlook and make some other change, your original tweaks will be over-written.

Anyway, you could find the signature files in something akin to:

[root]\Users\[username]\AppData\Roaming\Microsoft\Signatures

(there may not be a \Roaming folder, depending on how your environment is set up, or it may be in \Documents and Settings\ and under an Application Data folder depending on your version of Windows).

More Office Grooviness

Whilst mucking about with Word the other day with my buddy Steve, he was talking about the improvements that Word has introduced (common with the other Office 2007 apps) in the way it handles pictures. Let’s take a standard looking Word doc…

 

and drag & drop a picture right into the middle of it, where it normally fills the entire width of the document. There are some simple resize handles on the picture which will allow you to change it to a suitable size, there’s even a crop tool right in Word (as you’ll see on the Ribbon, which has now changed its focus to be formatting the picture), and in this example I’ve also set the position using the live preview “Position” button or by setting the Text Wrapping option…

Steve was gushing over how useful all this was (he’s a keen photographer so has probably spent many an hour noodling with pictures), when I wondered what would happen if you rotate the picture using the standard rotation handle in the middle at the top of it…

Now the text just flows round the shape of the picture… even if it’s an irregular shape (such as this example where I’ve taken the same picture and added an elliptical border around it…

How cool is that?

 Ewan

PS – I’m probably going to be offline for a little while … I’ll be back later in the month!

The power of SmartArt

Careful you say it, “SmartArt“. It’s a new capablity in Office 2007 which is designed to make manipulation of graphical representations more easy – you know, instead of a boring list of words, a presentation or document can have more impact if a diagram is used instead.

Here’s just one example a colleague gives, which illustrates the point beautifully. Let’s say we’re in Powerpoint and want to do a simple chart of steps in a process. You could enter the steps as text, and select it like shown in the screenshot. Look on the Ribbon after you’ve selected it, and select “Convert to SmartArt”.

What you’ll now see is a “live preview” of a selection of SmartArt shapes which will modify the layout of the graphic you’d convert the text into. There are about 115 different SmartArt schemes, arranged by category (eg are you trying to show a hierarchy, a process flow, a relationship etc). Once you’ve settled on which scheme you want, the Ribbon’s context will change and offer you lots of ways to vary the style of the graphics (adding shadows, empahsis, colour schemes, 3D effects etc).

It’s not a one-time process this, either: you can go back and tinker with the layout scheme, the colours, effects etc, and since most of the time you’ll see what effect that change would have immediately, there’s a lot less of the to-ing and fro-ing you might have expected when you try stuff out, then think “I don’t like that”, go back, try again…

If ever you’ve sat down and drawn a process flow or relationship map etc in Visio or Powerpoint (or pretty much any other tool), one of the more challenging actions is to insert a new step – imagine the case where you’ve got a simple 4 step model like in my example. If I wanted a cycle type map (maybe illustrating an iterative process) but then needed to add a new step later, I’d be moving all the shapes around and possibly would need to modify all the arrows that link them. With SmartArt, it’s literally a 10-second step.

In my example here, once you’ve applied the style to your SmartArt, a text box will pop up (or you can always click on the SmartArt object to edit the text later)

… and by simply inserting a new line, the graphics representation will be updated and will even vary the colours according to whatever scheme you’re using…

When my colleague Steve was demonstrating this to someone a few months ago, the customer looked agog – and then said he’d literally spent 2 hours the day before, reorganising a diagram which had to have some modifications just like this. I can honestly say, it’s saved me hours of work too when doing flow charts for documentation. Truly one of the coolest features in Office 2007 which lets the author concentrate less on making everything look pretty (since that only takes a snap), and spend more time on making the content right.

Whilst looking in the Office help yesterday (and it really is very helpful), I noticed there are links to demo videos on the web – there’s one quite nice one on using SmartArt. See if you can count how many times the presenter says “Hmmm, I like that!” 🙂

Thread Compressor for Outlook – do you want it?

Here’s an appeal – nearly 8 years ago, I wrote* a little COM addin for the-then new Outlook 2000, which “compressed threads”. The idea was that it could take an email thread (eg a discussion over a period of time and a number of responses, from any number of people, and typically sent to a distribution list for the purposes of discussion), and compress that thread down to the salient points. It has evolved over a few iterations since but has been largely dormant for the best part of 5 years – it does everything I need it to do, so I’ve never developed it any further (and if truth be told, a hard disk crash blew away the source for the last version and I could never face going back to a previous beta and re-developing the changes I’d made).

I’d like to understand if anyone else would like it.

The basic assumption with Thread Compressor is that when people reply using Outlook, they tend to add all their comments at the top – some do inline replies, but most eschew that – and don’t edit the original contents. If this assumption holds true, then it would be possible to compress all discussion threads down to only holding onto the final email or the final post (to a public folder) since it will contain the entire history of that branch of the thread. Of course, there may be multiple branches of the thread, and Thread Compressor handles that.

The first time many people run TC on a large folder, it will routinely get rid of 50% or more of the content, so proves useful in slimming down folders where you archive stuff, or folders where distribution list contents are sent by Outlook rules, never to be read but to be indexed by Windows Desktop Search or similar.

In my last run, I scanned almost 1Gb of email and the Thread Compressor discovered about 21Mb of mail which could be removed… not quite as dramatic as 50%, but it saved me reading over 1,000 emails and it reduced my mailbox size a little…

There are a few obvious benefits to thread compression…

  • It reduces the size of your mailbox, so keeps you under-quota
  • It removes spurious email so you have less stuff to plough through
  • When searching, it reduces the number of hits since it won’t return every mail in a thread which contains the same word(s)

… but some obvious potential downsides…

  • The assumption at the top of this post. If I reply to someone’s email, but change the contents of their original message in the reply, then TC will retain the modified version and it will look like the originator really said that. There may be ways to work around this limitation now, but I never bothered to figure them out.
  • Legal compliance – maybe you need to keep a copy of every mail for compliance purposes: if so, users programmatically deleting messages could be a *bad thing*.
  • erm, can’t think of any/many more…

If you think this kind of functionality should be either built into Outlook or available as an opt-in addon, then please let me know. We have many thousands of regular users of Thread Compressor inside Microsoft. It would be cool to think of millions more outside as well…

//Ewan

* The really smart bit of TC was actually put together by a guy called Peter Lamsdale. All I did was take his algorithm – which I still have difficulty understanding much less explaining – and strap a UI around it. An earlier version of TC was published (unofficially) on a website and an article was written about it by Evan Morris. There is even an unconnected MSDN bit of sample code which is nowhere near as effective (IMHO)

Batch-convert Office files to 2007’s Open XML format

A customer asked me the other day if Microsoft was ever going to build batch-conversion facilities to take old format files that live on a network fileshare, and convert them to the newer XML-based formats – his reasoning was the sometimes considerable reduction in size when saving as .DOCX or .XLSX compared to the binary .DOC and .XLS formats.

<wistful memories>

I remember writing a tool to do exactly this with Word docs, going from Word 2.0 to Word 6.0, using Visual Basic to automatically pump the necessary keystrokes into a Word 6.0 application, using the SendKeys() function… crude and somewhat clumsy, but for a one-off process, it worked fairly well 🙂

</wistful memories>

Coming back to the present, I was pleasantly susprised to discover the release last month of the Office Migration Planning Manager – a collection of tools which allows for scanning of networked files to report on any potential conversion issues, and batch conversion of those documents (either by creating an Open XML format document alongside the old binary one, or by replacing the original with the OOXML format file).

Remember of course that you can consume these formats in older versions of Office, using the Compatibility Pack. There’s a growing movement to adopt OpenXML as an industry standard – ECMA has already given the format its blessing, and the ISO is reportedly amenable to ratifying the format as a standard also. The momnentum is growing for 3rd parties who are building support for OpenXML – even OpenOffice now has a way of consuming and creating OpenXML documents.

UPDATE: Conincidentally, perhaps, Geek in Disguise, Steve Clayton posted last night about an online petition to the ISO to support the Open XML proposals- if you really value open-ness, even if Microsoft is the instigator of the efforts, go ahead and sign the petition