James O'Neill's Blog

August 28, 2008

Mail stress.

Filed under: Exchange,General musings,Outlook,Working at Microsoft — jamesone111 @ 1:15 pm

Click for full size image I started typing this blog post at 07:21. Outlook has already received the first 50 items of the day. Most of which were from night-owls in the US, a few from Asia/Pacific, and only a couple from European insomniacs. Yesterday it pulled down at least 426. I know this because yesterday I set up 3 new search folders. I’m not 100% sure when search folders came into Outlook – and which version of Exchange they need behind them, but they’re a useful feature – particularly for the "where are all the huge mails which are taking me over my quota" and the like. A few weeks ago Microsoft IT doubled the size of my mailbox so I’ve got a huge deleted Items folder at the moment – 8000+ items. But that means the except for items which I "shift deleted", all my mail is in still there somewhere. 2026 from last week 1139 since Monday of this week.

This is ridiculous. I am up at 7 in the morning to do mail. I sent a mail at 0:05 this morning. And this is not just a "Look at how hard I have to work post". The modern working environment is doing this to lots of people – the problem is worse than average at Microsoft, but it’s not confined to us either.

In an 8 hour day there are 480 working minutes. If I just did mail for those 480 minutes each of those messages would have had 68 seconds. That’s 68 seconds to read and action it if I did nothing else all day. I’m not a slow reader, and many of those mails can’t be read in 68 seconds. For quite a large percentage I can’t work out what the person sending them actually wants to happen as a result with 68 seconds…

What does all this mean…

  • Mail makes mediocre meeting manners. Eileen tries to ban laptops from meetings. But how many times do I go to a two hour meeting and find everyone has their laptop open and is trying to multi-task doing mail ? Why ? Because at peak times of the day when you get back to your desk after 2 hours there can be 100 new messages. If you can delete the junk and deal with the ones which are read and file/forward/or reply with one word – leaving the "go-back-to" ones for later – the classic triage – then you’re no so behind when you get back. (Of course the meeting wouldn’t be two hours if people could actually express themselves clearly, and not just vomit everything into Powerpoint, but that’s another story).
  • Mail mountains mean missed matters. I’ve had several incidents recently of missing something and having someone plaintively cry "But I sent you a mail about it 2 weeks ago" . This will get the reply. "I’ve had over 4,000 mails since then. What made you think yours would be remembered ?"
  • Ballooning Bystander syndrome. Mail a big enough group of people and everyone will assume that someone else will do it. Eileen recently had had cause to grumble that none of our team had volunteered to contribute at an event. The organizer had sent a diary placeholder to a huge group. She didn’t ask for help. If it had occurred to anyone that speakers and so on were needed they probably thought someone else would volunteer: that’s the Bystander effect.
  • Selfish Senders Suffer Silence. This is linked to the bystander effect and is actually a bit childish: if you don’t ask nicely I won’t help you. The classic "selfish sender" in Microsoft is one who mails to technical Discussion lists. "Here is a screen shot / log file of my problem , please tell me how to fix it " . No explanation of what was done, and no text description "It said Error 4096 had occurred – there are no fettlable widgets in this container". Mail clients on phones usually don’t download bitmaps, and Outlook Voice Access can’t process them. Blind readers can’t with screen reading software can’t read them either. I can only answer the question if I’m at my PC. If I’m somewhere else.. [DELETE]. So if the message is archived, it won’t be found if someone searches for the error in future.  Not the people who send these messages would check an archive anyway, but the next person to hit the problem will have no choice but mail their question out to the whole list. Those mails get the [SHIFT]-[DELETE] treatment (I don’t even keep them in deleted items.).

Next week I’m presenting on "Microsoft’s vision for unified communications" and I’m sure some of these will creep in. And the mail count for this morning is now past 100.

Update It’s 22:44. 15 hours into my day.  8 hour work days belong in fairy stories. Message number 407 of the day just arrived. Chillingly, George sent two mails at 21:22 and 21:31 – the latter had a reply within 6 minutes (from a UK person) and the former has grown into a 5 message thread (again all UK people).

This post originally appeared on my technet blog.

August 15, 2007

Powershell to fix phone number formats (part 1)

Filed under: How to,Outlook,Powershell — jamesone111 @ 10:48 am

Peter sent me a mail last week suggesting a blog post.

“You mentioned in http://blogs.technet.com/jamesone/archive/2007/02/21/the-campaign-for-real-numbers.aspx that a transport rule would be cool. Whislt I’m not yet a E2K7 user, wouldn’t it be good if you could knock up a powershell script to create the rule and publish it on your blog?

you get treble value – powershell, exchange, and crappy phone number layout”

I thought I’d try to do three things.

  1. Fix entries which have built up in my Outlook contacts over time which aren’t in E.164 format so everything I have can be dialed.
  2. Apply the same fixes to Active directory user and contact objects
  3. [The bit Peter suggest, and I don’t know how to do yet] Create an Exchange 2007 transport rule which fires the does the same thing as my Outlook rule to advise people of broken numbers I might need to pull in some help from Eileen, Brett or Ewan for that one.

This post just deals with the fist of these.

I wanted two powershell functions. The first takes a String which holds the phone number and re-formats it.

function Format-Number-as-E164 ([string]$Number)
{if ($number.length -gt 5)
 {if ($number.substring(0,2) -ne '08')
   {if ($number.substring(0,2) -eq '00') {$number='+' + $number.substring(2) }
    if ($number.substring(0,1) -eq '0')  {$number='+44 '+ $number.substring(1) }
    $number = $number.replace("+440", "+44")
    $number = $number.replace("+44 0", "+44")
    $number = $number.replace("+44(0)", "+44")
    $number = $number.replace("+44 (0)", "+44")
    $number = $number.replace("+44(0", "+44(")   
    $number = $number.replace("+44 (0", "+44 (")}

The logic is pretty simple:

  • ignore anything to short to be a phone number and special codes like 0800, 0870, 0845 which (mostly) can’t be dialed from outside the UK.
  • Fix anything where I have entered the local code for international. 001 (234) 555-1234  becomes +1 (234) 555-1234 and UK formatted numbers O118 909 3080 becomes +44 118 909 3080.
  • Finally get rid of 0 in +44 0118, +44 (0) 118 and +44 (0118)  

The second function takes an outlook contact object and calls the first for each of the 13 different phone numbers – here I’m just showing one.

function Format-contact-as-e164 ($contact)

{   if($contact.CompanyMainTelephoneNumber)
    {$temp = Format-Number-as-E164($contact.CompanyMainTelephoneNumber)
      if ($temp -ne $contact.CompanyMainTelephoneNumber)
    if ($changed) 
    {write-host $contact.fileAs changed
    $contact.save() }

So now I need to feed my outlook contacts into this function converting code I’ve been using for years gives me this – Get Default folder can get your inbox, calendar, contacts and so on. 10 is the code for the contacts folder.

$Outlook= New-Object -comobject "outlook.application"

Of course this can be squeezed into one line.

$myContacts=(new-object -comobject "Outlook.Application").getnamespace("mapi").getDefaultFolder(10)

I haven’t tried it by I guess you could dispense with the variable altogether and  update my address book with

foreach ($item in(new-object -comobject "Outlook.Application").getnamespace("mapi").getDefaultFolder(10).items) {Format-contact-as-e164($item) }

Since I didn’t trust my code to work first time (nor should you) I did two things to check it worked properly. The first was to do a global replace of {$contact. with {write-host  so I could see what it was doing  – Powershell syntax is that write-host CompanyMainTelephoneNumber=$temp  will treat CompanyMainTelephoneNumber= as a literal string and expand the variable $temp. There are cases where this is infuriating (at least for new converts) but here it’s exactly what I want.

When I was satisfied that it was  working correctly, I changed the code back and tested a contact which I knew I could fix so I just invoked Format-contact-as-e164( $myContacts.Items.item(1)) when that worked, it was time to go for it and update all the affected contacts with

foreach ($item in $myContacts.Items) {Format-contact-as-e164($item) }

It worked. (Phew). I’ve attached the .ps1 file with the code in it. As with all code posted to this blog it is provided as an example. It doesn’t necessarily represent “best practice” and comes with no warranty or support (so if you want to use it against real data of your own, take suitable precautions).

This post originally appeared on my technet blog.

July 20, 2007

How not to be read…

Filed under: Exchange,General musings,Outlook — jamesone111 @ 11:55 pm

Eileen asksSo how do I get my team to read my emails ?

Actually, she overlooks something very simple and important. Rule one: the nearer the author is to the reader in the company hierarchy the more likely the message will be read. If someone at the very top of Microsoft wants something done I could ignore their mail and wait for the reminders which come from someone nearer me. (In practice I don’t because Messrs Gates and Ballmer follow the rules below).  Eileen’s only one hop from me so it’s nearly certain I’ll read her mail, even if she breaks all these rules. What could she do to stop me reading what she has to say ?

Don’t get to the point . Typically short term memory is about 7 seconds. Rule two is Give the reader a reason to read the whole message in the first 7 seconds reading. Otherwise they may not bother. If the first 2 dozen words contain “Please can you …”, “It would be great if we…”, “I’d like to see…”  that makes it clear action is required, but – it’s amazing the number of messages that don’t start with the WHAT, but give lengthy WHY – a review of the  state of the world. Their 7 seconds is up  before their closing “Call to action” is read. Messages with PLEASE READ in the subject line beg to be deleted on sight, because it’s a fair bet the author doesn’t give you anything in the message to make you want to read it.

Only use Outlook. We have IM, SMS texting, Phones, face to face “coffee meetings”. Rule Three Choose the Medium which suits your message.Eileen mixes her media more than most people.

Assume I always read in Outlook if I get a message where the key part is in an attachment I can’t read on my smartphone, or is text in a graphic which Outlook voice access can’t read then the best it can hope for is that it stays in the pile of stuff to come back to. It may just get deleted. Rule four Make sure your message is in the message (body).

Mail the world. Douglas Adams had the idea of a “Someone Else’s Problem” (SEP) Field. Behavioural scientists have found When people won’t deal with things they think can be left to others. Rule Five. The probability that any reader will act on your mail declines with the other number of readers of the mail.  Of course is there is also the serial forwarder – the person who forwards everything to everyone. Sometimes with the prefixing “Filling your inbox” or FYI.

Write clumsy English. This has got worse with Outlook voice access, which uses punctuation intelligently. Long sentences with little punctuation are even harder to understand when read by a machine. Here’s an example: The first 99 words of a mail. 3 sentences 1 comma, and NO IDEA WHAT HE WANTS.

Further to blank’s email to all employees I wanted to follow-up with a UK specific reminder and call to action about [blank] ’07.  In FY06 we introduced some significant changes to the annual blank blank process as part of the launch of the blank initiatives.  In FY07 we are consolidating those changes and making further adjustments based on feedback received from across Microsoft – all with the continued aim of ensuring our blank blank process is world class and focuses on driving business results through quality blanks, transparency in our approach to blank blank and greater manager empowerment & responsibility.

Note the use of “Introduced some significant changes to” where the word “Changed” would have done. I recently pointed my Dad to my post about this kind of writing. He worked for a big American company too, and bought people copies of Gowers’ Plain Words. Maybe I should follow his lead. My copy of the 1986 edition has this quote from George Orwell

A Scrupulous writer in every sentence he writes will ask himself … what am I trying to say ? What words will express it … and he probably asks himself can I put it more shortly. But you are not obliged to go to all this trouble. You can shirk it by simply throwing open your mind and letting the ready made phrases come crowding in. They will construct your sentences for you – even think your thoughts for you to a certain extent – and at need the will perform the important service of partially concealing your meaning, even from yourself.

Even with out the text, I evangelize Gowers’ message. Be brief; be clear; be human. Eileen is. Gates and Ballmer are, so is Gordon Frazer. It’s not universal.

This post originally appeared on my technet blog.

March 6, 2007

Getting PDF Preview in Vista and Outlook. A "must have".

Filed under: How to,Outlook,Windows Vista — jamesone111 @ 12:43 pm

In place preview of files is a great feature of Vista’s shell and Outlook 2007.  The lack of support for PDF files really got an my nerves. It seems it got  Tim Heuer too. Except Tim did something about it. He worked with the folks at Foxit software – who do a lot of tools for PDF manipulation and and produced on. Currently it’s Vista only, but it works in the shell as well as in Outlook. The details, download link and screen shots are on Tim’s blog

I put “Must have” in quotes, because this is not a Microsoft endorsement. My evaluation so far has been brief and positive; you should do your own evaluation.

Thanks to Arthur of the Unified communications user group for passing this on


This post originally appeared on my technet blog.

November 12, 2006

My Account: Switched

Filed under: Exchange,General musings,Outlook — jamesone111 @ 11:19 am

When I posted about Vista RTM (Trolls: Slain, Lake: crossed, Mountain: climbed, Vista: Released.) I said it wasn’t connected with the NatWest Adverts In the current one a woman walks round town (stopping for a beauty treatment with free Coffee: I know what you pay for a haircut when the coffee is thrown in.), explaining why she’s had it with her bank

“My shop – extended hours. My bank – early doors.”
“My cappuccino – thrown in. My branch number – thrown out.”
“My favourite shop – a new store.  My bank – a trendy wine bar.”
“My Patience – exhausted. My Account, switched”

In the previous advert we had a man walking round and I can’t find the script for this but it was something like

“My shop – round the clock. My bank ?” We hear his phone saying ‘please try later’  “clocked off”
“My Barber -a person. My bank ? “. We hear his phone saying ‘Press 1 for ….’  “A robot”
The next part may have caused complaints, he looks up from a meal in a curry house.
“My Indian – Local, My Bank ?” he stares at the phone “India !”

He switched banks too. I’ve been trying to come up with something in the same vein, because on Thursday morning my mail box was moved to Exchange 2007.  Apart form the punch line of “My mail box – full. My account switched” I’m short of ideas … if you can think of something post a comment.

As Darren pointed out this lights up some new features in outlook. He concentrated on meetings,  Darren, if you’re going to use that title, the meeting location needs to be “Upon the heath”… and don’t forget to invite Macbeth.

I’m off to Barcelona in a few minutes, which is my first chance to use the new out of office assistant which needs Exchange 2007 and Outlook 2007.


Technorati tags: , , ,

This post originally appeared on my technet blog.

Blog at WordPress.com.