Every Time Zone

Every Time Zone

An idea for an Outlook add-in

A few years ago I emailed the kind people at Sperry Software with an idea for an Outlook add-in.  It was a simple idea: an add-on for my Contacts that told me what time it was in their city.

If I’m planning on phoning my cousin Zack in San Francisco, for example I want to know if I’m going to be waking him up or keeping him from going to bed. But at the moment that information isn’t available in Microsoft Outlook, even version 2010.

Which seemed to me a bit crazy because in my Contact record for him I’ve already specified that he lives in the United States of America, and the San Francisco bit of the California region of the United States of America.  That really should be enough information for Outlook to work out that he’s currently 8 hours behind.

I got an email back from the president of Sperry Software thanking me for such a useful and simple idea.  He said that they’d start work on it after they’d upgraded their current add-ins from Outlook 2003 to 2007 and that I’d get a free copy of it once it was completed.

Disappointingly, I never heard another word from them about it.

I now use Google and ‘Every Time Zone’

Instead, I now use two solutions.

The first is good old Google.  If you type the word “time” plus a place name into Google, e.g. time san francisco it will show you the current time in that city.

Entering "time san francisco" into Google shows the current time there

The other tool is Every Time Zone: a web page that lists 12 different time zones with a movable bar that allows me to plan when to contact someone in another time zone.

What time will it be in Tokyo when it’s 4pm in London? Move the bar… it’ll be 1am. How about New York at the same time?  Easy 11am.

I’d still like something integrated, by default preferably, into Outlook. That would be a very welcome addition.

Update

What I didn’t mention yesterday was that in Outlook 2010 you can switch on a parallel timezone in the Calendar, which does help:

Showing San Francisco and UK times side by side

But you don’t want to have to switch between different time zones all the time, which is why I thought that integrating it into the Contacts was a neat idea.

Preparing the electronic version of the SEC Calendar and Lectionary

SEC calendar in Excel
SEC calendar readings being compiled in Microsoft Excel 2010

Update

Calendar and Lectionary 2010-2011 now available to download.

Original post

The Calendar and Lectionary of the Scottish Episcopal Church is a document that offers two things:

  1. A list of all saints days throughout the year.
  2. Readings for Sundays, weekdays, festivals (saints’ days) and special occasions (both Eucharists and daily prayer).

Each year the Church produces a guide to the calendar and lectionary which keeps mortals like you and me correct.  The Sunday readings are on a 3 year cycle (next year is Year A), while the daily prayer readings and daily Eucharists are on a 2 year cycle (next year is Year 1).

Once you add in saints’ days, and start translating saints days to adjacent days because they clash with feast days of a higher order, it all begins to get a bit complicated.

Outlook

Since 2005 I’ve provided these dates and readings (in various degrees of completeness) in a digital format that allows users to import them directly into Microsoft Outlook.  Outlook requires a simple Comma Separated Values (CSV) file which can be prepared in Microsoft Excel (other spreadsheet applications are available) with the appropriate information in them:

  • Subject (The name of the day)
  • Start and end date
  • Start and end time
  • Whether it’s an all day event or not
  • Description (Readings)
  • Priority
  • Sensitivity
  • Show time as

For the last few weeks I’ve been preparing the files, sitting for hours in front of my computer typing in line after line of readings.

Getting prepared

Most years I do it in a bit of a last-minute panic and end up creating a bespoke file specifically for that year, but this year I wanted to be organised and produce something that can be used year after year.

So this year I’m creating a master Excel file that contains all the readings for each combination of three year and two year cycles:

  • A1 and A2
  • B1 and B2
  • C1 and C2

plus a comprehensive master list of saints’ days, which should in future enable me to compile the files in just a few days rather than 4-8 weeks as it does at the moment.

Progress

I’ve just finished entering all the readings for the entire church year—from the first Sunday of Advent to the Week of Proper 34 (Christ the King)—and tomorrow morning will start on the readings for festivals, common saints’ days and special occasions.

Then I’ll be ready to compile everything for this year.  For once I may even be done by the start of the church year (which is this coming Sunday, the first Sunday of Advent).

Updating Outlook Appointments gadget for Outlook 2010

Outlook appointments gadget for Windows 7
Outlook appointments gadget for Windows 7

One of my favourite Windows 7 gadgets is the Outlook Appointments gadget. As gadgets go it’s pretty simple: it shows me  upcoming appointments. From Outlook.

But oddly, only when Outlook is open.

Anyhow, when I upgraded Microsoft Office from 2007 to 2010 a couple of weeks ago I discovered that it no longer worked … it just complained that it didn’t have the correct version of Outlook installed.

The hack

But there is a simple hack:

  1. Make sure that you can view hidden and system files (Control Panel > Folder Options > under View tab select “Show hidden files, folders, or drives”).
  2. Close the Outlook upcoming appointments gadget.
  3. In Windows Explorer navigate to C:\Users\YOURNAME\AppData\Local\Microsoft\Windows Sidebar\Gadgets\OutlookAppointmentsGadget.gadget\en-US\js\” where YOURNAME is the name of your user account.
  4. Open the file “outlook.vbs” with Notepad (or other text editor; personally I wouldn’t use WordPad).
  5. On lines 22 and 42 change the two occurrences of the number “12” to “14”.
  6. Save the file.
  7. Open the Outlook  Appointments gadget again.

Outlook Tasks gadget

The same hack also works for the “Outlook Tasks” gadget.

Update

It looks like someone has released pre-hacked versions of Appointments and Tasks called iOutlook which work with Outlook 2010.  The iOutlook Appointments one now offers 3, 5 or 10 appointments.

Moving to Microsoft Exchange 2007

Computers and devices connected to a server
You say single point-of-failure, I say synchronized data!

Back in July 2009 I upgraded my mobile phone from an O2 Xda Orbit to an O2 Xda Zest. All was well until I tried to synchronize it with two copies of Microsoft Outlook, one at home, the other at work.

It didn’t work.

Windows Mobile 6.1 won’t sync

A quick Web search showed me that I wasn’t alone. It turns out that there was a bug in that version of Windows Mobile 6.1 on my phone. Microsoft had fixed it and rolled out the update to OEMs but it appears that O2 wasn’t going to let it roll any further.

Diagram of Windows Mobile phone synchronizing with 2 PCs
My Windows Mobile 6.1 phone would only synchronize with one PC

So I was stuck with a phone that would synchronize with only one PC. Which was somewhat bothersome as I was rather used to the convenience of my calendar, contacts, tasks and notes being available both at work and at home, as well as on the go on my mobile phone.

I needed to find another solution.

XTND Connect

The first thing I looked for was an alternative to Microsoft ActiveSync (I was using Windows XP at the time) and I discovered XTND Connect.

I wondered if the problem could be bypassed by using an alternative to ActiveSync.

It couldn’t.

That didn’t work either, which made it quite an expensive mistake. The demo version looked promising but was so highly crippled in terms of functionality that I had to buy the full version in order to fully evaluate it. Which rather defeats the purpose of a demo version, in my view.

Sync2

So I looked around at alternative solutions and it appeared to me that there were only two options left:

  1. Synchronize with an online application (e.g. Google Calendar)
  2. Synchronize to a server (e.g. Microsoft Exchange)
  3. Synchronize to a local folder (e.g. USB flash drive)

I explored the Google Calendar and Google Contacts option but (and for me, it’s a deal-breaker, which is one reason I’ve not gone rushing out to buy an Apple iPhone) one the elements of Outlook that I use perhaps more than any other is Tasks. And I couldn’t sync my tasks with Google Calendar.

I assumed that Exchange would be out of my price bracket so focussed on the second option which led me to Sync2 from 4Team.

Not only does Sync2 synchronize your Outlook calendar, contacts, tasks and notes with a folder of your choosing (USB flash drive, local folder, LAN folder, etc.) it will also synchronize with Google Calendar and Contacts.

I discovered that if I synchronized it with a folder in Dropbox at home I could then synchronize it again from the same folder on my PC at work, without having to worry about remembering to pack my USB flash drive.

Three computers using Sync2 synchronizing with a Dropbox folder
Using Sync2 to synchronize using a Dropbox folder

That has been the solution I have been using for the last six months to synchronize my data between home, work and my laptop.

Occasionally I ran into problems with data not synchronizing properly and so had to either

  • Resynchronize a profile (i.e. make it think it was doing it for the first time again.
  • Delete a profile and recreate it from scratch.
  • Reinstall Sync2 completely.

But most of the time it worked pretty well.

Except that it still didn’t address the issue of my mobile phone being out-of-sync for most of the day, between synchronizations at home.

Hosted Microsoft Exchange 2007

So in January I went in search of an affordable, UK-based hosted Microsoft Exchange account.

After some shopping around I eventually selected Simply Mail Solutions (SMS) based in Warrington. What attracted me about their hosted Exchange 2007 account features were (in order):

  • Only £4.99 per month
  • Full support for Windows Mobile including push
  • Full Outlook Web Access (OWA) in Internet Explorer
  • Out of office assistant
  • Free copy of Outlook 2003 or Outlook 2007

With each device connecting directly to the Exchange server I can guarantee that my data is always up-to-date (server outages withstanding).

Various devices connecting to an Exchange Server
Two PCs, a laptop, a mobile phone and Outlook all connecting to the Exchange Server

Another welcome benefit is that I won’t have the problems of duplicated entries that I’ve experienced so many times when synchronizing multiple devices. Here’s a screenshot I took of Outlook and posted to Twitpic last month showing a repeated entry for “Doug Aitken’s Birthday” duplicated 13 times!

Calendar entry (Doug Aitken's Birthday) duplicated 13 times
Calendar entry (Doug Aitken\’s Birthday) duplicated 13 times

I can even resynchronize my mobile phone when I’m out and about using my roaming Web add-on from O2.

Conclusion

So far I’m really pleased with Exchange and with the service offered by Simply Mail Solutions (SMS).

I’ve noticed only one outage from Simply Mail Solutions which lasted only a couple of minutes when connection to the server went down, and one period of particularly slow connectivity … but then it was 01:00 in the morning, they were doing some maintenance on the servers (I discovered via a quick support call) and I should have been in my bed!

There is a balance to be made when using a hosted service like this for such important personal data between:

  1. the reassurance that I have one ‘golden copy’ of data, stored centrally that is accessed by all my devices, and
  2. the potential for it to be a single point of failure: if it goes down completely I can’t synchronize between locations and my data isn’t up-to-date.

But given my previous experience of hours and hours wasted by repeatedly cleaning up corrupted or deleted data through failed synchronizations, and living with the uncertainty that perhaps my work calendar isn’t exactly the same as my home, laptop or mobile phone calendars … I think I’ll stick with Exchange for a while.

Dealing with spam

Junk E-mail folder

There’s a really interesting article in this month’s PC Plus magazine about the war against spam which gave me the impetus to try to do something about those annoying spam messages that appear in my inbox with my email address in the ‘from’ field, like this:

123greetings.com [gareth@garethjmsaunders.co.uk]

Anti-spam software

I use Cloudmark Desktop, a spam blocking add-in for Microsoft Outlook 2007. It’s unobtrusive and pretty reliable, eliminating about 99% of all spam that gets delivered to my inbox. (In the last 4 days I’ve received 166 junk mail messages.)

But it has been those last 1% of messages that have been really annoying me these last few weeks, the ones that have been sent out to look as though they have come from my email account.

So I did a bit of investigating and have discovered a way that I can also send those messages to the Junk E-mail folder while retaining those emails that have genuinely been sent my myself (test emails or those that I’ve CC-ed or BCC-ed to myself for archiving purposes).

Outlook rules

Like most email clients Outlook allows you to define rules (sometimes known as filters).

Rules help you manage your e-mail messages by performing actions on messages that match a specific set of conditions. After you create a rule, Microsoft Outlook applies the rule when a message arrives in your Inbox or when you send a message.

1. Rules and Alerts…

In Outlook 2007 you can access the rules wizard by going to Tools > Rules and Alerts…

Outlook rules

Not surprisingly, this brings up the Rules and Alerts window:

Rules and Alerts

2. Email headers

And now for the science bit… It occurred to me that I needed to create a rule that did two things:

  1. Flag any emails that have my email address in the sender’s address.
  2. Check to see if I really did send those or not.

So within any message supposedly sent from myself I needed to look for some kind of unique value that could prove to Outlook that I really did send those emails. For that information I turned to the email headers.

In Outlook 2007 these are located on the Options panel, by clicking the tiny arrow at the bottom right of the panel:

Viewing Internet headers in Outlook 2007

As well as the information that you can immediately read within an email there is a lot of hidden data, known as ‘headers’, also transferred with each email; information such as where the email message was sent from, its return path (where the email should be sent if the recipient presses “Reply”).

Here’s an example from a random item of spam I received yesterday:


X-POP3-From: surveyingxq@rossiter.com
Return-path: <surveyingxq @rossiter.com>
Envelope-to: gareth@garethjmsaunders.co.uk
Delivery-date: Mon, 12 Oct 2009 13:17:47 +0100
Received: from laubervilliers-000-11-22-33.w444-555.abo.wanadoo.fr ([123.145.156.178]:25793 helo=SpeedTouch.LAN)
by server.mymailhost.co.uk with esmtp (Exim 4.54)
id 1MxJqT-0000Xc-4O
for gareth@garethjmsaunders.co.uk; Mon, 12 Oct 2009 13:17:46 +0100
Received: from 123.145.156.178 by mail.rossiter.com; Mon, 12 Oct 2009 14:17:43 +0100
Message-ID: <000d01ca4b36$00064ad0$6400a8c0@surveyingxq>
From: "123greetings.com" <gareth @garethjmsaunders.co.uk>
To: </gareth><gareth @garethjmsaunders.co.uk>
Subject: You've received a postcard
Date: Mon, 12 Oct 2009 14:17:43 +0100
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_NextPart_000_0006_01CA4B36.00064AD0"
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 6.00.2900.2180
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180</gareth></surveyingxq>

I can immediately identify a number of values here that prove to me that I didn’t send this email:

  1. The return-path is wrong. It’s not set to my email address. (With some testing, however, I discovered that this isn’t a reliable field to check against as some spammers also populate this with the email address they send the email to, i.e. yours!)
  2. The HELO value is also wrong — “HELO” is the SMTP command that the sending machine uses to identify itself to the receiving machine — it should be set to the network name of my PC, which for arguments’ sake we’ll call ‘GARETH-PC’.
  3. The X-Mailer value is also wrong. I don’t use Microsoft Outlook Express.
  4. I also noticed that this email didn’t have an Organization set in the headers. Now I know that I have set the organization information in my email account, so that’s another value I can check for.

So against any of these four items I can check any message that has been supposedly sent to me and determine whether I really have sent it or not.

3. My rules

So I have built up my rule piece by piece to read:

Apply this rule after the message arrives
with gareth@garethjmsaunders.co.uk in the sender’s address
move it to the Junk E-mail folder
except if the message header contains ‘helo=GARETH-PC’ or ‘my_alternative_isp.com’ or ‘Organization: My organization name’

And that’s it. Remarkably, it seems to work quite effectively. In the last few days that I’ve been using it I’ve had only 1 spam message left in my inbox. Everything else has been suitably and efficiently whisked away to the Junk E-mail folder. Long may that continue.