Installation error for Google Chrome

I’m not going to review Google Chrome – there’s plenty of people doing that all over the Internet at the moment; however I did run across an interesting error whilst trying to install it on a Windows Server 2008 (x64) computer today. I downloaded the installer from Internet Explorer 8 beta 2 and after downloading, I elected to run the installer. UAC was not invoked (it would normally be expected for an executable with the word setup in the filename) but installation failed with the following error:

Error 1625 when installing Google Chrome

I retried the installation with Administrator privileges and it succeeded, suggesting that this error was caused by insufficient permissions.

Using Google Apps with Outlook 2007 to keep my personal and work life in sync

Last year, I wrote a very long blog post on the problems I was having with calendar synchronisation but I never reached the point where I was ready to publish it. Almost a year on, and I finally have something that’s working well for me but, as it’s such a long story, I’ve tidied up the original post and published it (for the full history) and I’ll write a new one here that describes the working scenario.

Calendar synchronisation… shouldn’t it all be a bit easier than this?

First up – to recap on the original problems:

  • Due to limitations with Microsoft Office’s Online calendar functionality. I was synchronising local calendars at home and work, using Google Calendar (GCal) as an intermediary.
  • The main problem was synchronisation between Outlook 2007 and GCal and, after trying a huge list of products, each of which nearly worked, but not quite, I got it working using CompanionLink for Google; however the various other products I’d used along the way had left me with duplicate and missing calendar entries – and a sour taste in my mouth.
  • On the Mac at home, Apple iCal was working with GCal but there were still some issues around synchronisation with a local Exchange Server via Entourage.

Back to the drawing board

After having implemented Google Apps for my home/small business IT, I decided to have another go at calendar synchronisation.

This time, to minimise the scope for synchronisation errors, rather than merging my work calendar into my home calendar, I decided to set up another Google Calendar to mirror the Exchange one I use for work. In addition, the process was simplified as Google now has a synchronisation product (Google Calendar Sync) which can handle the Exchange/Outlook-Google side of things and I am no longer using Entourage or Exchange Server at home.

The whole thing looks something like this:

Calendar syncing between home and work

As can be seen in the diagram, I actually have three calendars:

  1. My work calendar exists on a corporate Microsoft Exchange server (accessible via Outlook Web Access but primarily used with Outlook).
  2. I’ve also created a Google Calendar to hold a copy of this “work” calendar in the cloud and Google Calendar Sync does the magic to keep the two in sync.
  3. Finally, there’s my “personal” calendar, which lives at Google Apps.

Google Calendar sync is set up for a 2-way sync and, even though I can synchronise as frequently as every 10 minutes, Outlook performance suffers whilst the sync is taking place so I have it set to synchronise hourly. The main drawbacks with this approach are: the need for a client helper application; the 1:1 nature of the synchronisation (i.e. you cannot sync with multiple calendars); and the inability to set synchronisation schedules (or even to control the date range for synchronisation) – on the other hand, it’s free.

In Google Calendar, I have given my Google Apps account access to my “work” calendar, which means that I have full read-write access to it from anywhere that I use Google Apps. That access could be via a browser, of using native applications on my iPhone, MacBook, or another device (e.g. a Windows PC). Basically, my work calendar is visible everywhere.

My “personal” calendar is… personal. I can access it directly from any of the devices that I use for accessing Google Apps but I don’t want my colleagues to know that I have certain appointments and one thing I found with the Google Calendar Sync (luckily I spotted it early) was that appointments marked as private in Outlook were visible once they got to Google Calendar. I still need to think about how to pass my personal free/busy information back to Outlook/Exchange at work but, for now, my “personal” calendar exists in Google Apps and is visible in my “work” Google Calendar account but I don’t sync it back to Outlook. Basically, if I look at Outlook, I see work appointments but if I open a browser and got to the Google Calendar, I can see work and personal information.

What does it all look like?

In this screen-shot of Outlook 2007 connected to my corporate Exchange Server, my “work” calendar is visible but there are no appointments from my “personal” calendar:

Outlook Calendar

Viewing either of the Google calendars in a browser (in this case it’s Safari on a Mac) shows my “work” and “personal” calendars using different colours:

Multiple calendars viewed in Google Calendar

I can also subscribe to these calendars using the iCalendar protocol from Apple iCal, Windows Calendar (or another desktop client):

Multiple calendars in Apple iCal
Multiple calendars in Windows Calendar

On the iPhone, I can use either the built in calendar application or a browser application (I prefer the browser version as the iPhone Calendar assigns different colours to the various calendars):

Multiple calendars in the iPhone Calendar applicationMultiple calendars viewed in Google Calendar on an iPhone

You may notice that I also subscribe to a public calendar which provides the details of UK public holidays. Doing this means that the public holidays show up in my calendar using a different colour to the other calendars but there are other calendars that I could subscribe to – for instance sports calendars (e.g. the Northampton Saints fixture list) – or anything that uses the iCalendar format described in RFC 2445.

Summary and other points of note

In all, this solution seems to be working remarkably well for me and provides a suitable level of abstraction between work and personal calendar details whilst still letting me (and my family – or anyone else that I share my calendars with) see everything that I’m up to. I still need to work on getting personal free/busy details to populate my “work” calendar but, other than that, I’m pretty happy with the solution – and all of the software involved is free (apart from Outlook and Exchange Server – for which the licenses are provided by my employer).

I’m using Google’s technology but I could also have used Microsoft products, as Sarah Perez describes with Windows Live Calendar and the Outlook Connector. Either should work – it’s just a matter of preference – and as I was already using Google Apps for one part of the solution, adding Windows Live Calendar into the mix seemed to over-complicate things slightly for me.

Finally, this information may be useful when diagnosing problems:

The browser wars just got interesting again…

Microsoft Windows Internet Explorer 8 logoIt’s well known that, after Microsoft won the “browser wars”, development of Internet Explorer (IE) all but stopped at a time when use of the Internet was exploding and new features were required to keep up to date with the emerging technologies (and standards). That’s why, a few years ago, I was only too happy to promote a viable alternative (i.e. Mozilla Firefox) and Firefox has come a long way since then. Mozilla Firefox logoUnfortunately, it’s not been a bed of roses. I lost too many open tabs to Firefox 1.5 and 2 crashes so these days I only use Firefox when I’m testing new code on my website – Safari (with all its faults) is the default browser on my Mac and IE7 is my normal browser on Windows.

Even so, if it hadn’t been for Firefox, it’s unlikely that Microsoft would have made the huge step forward that IE7 represents when compared with its predecessor. And, aside from the controversy over the various modes in which IE8 can work (I think that Microsoft made the right decision in allowing standards mode to be the default), it seems to be shaping up as another significant step forward for Microsoft (just as Firefox 3 is reported to have been for those who wish to use an alternative browser).

From my point of view, it can only be good that for the last few years there have been two major competitors for our web browsing – choice promotes competition – and competition generally leads to an improved user experience. The need to develop for multiple platforms encourages web developers to adopt standards (at least in part) and the days of “this site is best viewed with Netscape Navigator 4 or later at 800×600 resolution” are, thankfully, a distant memory (as I write this in a maximised browser on a 1680×1050 display).

Last week, Microsoft released a new beta of IE8 (beta 2), together with a fact sheet providing an overview of the new features and there is some really good stuff in there (the IEBlog post about IE8 beta 2 availability is worth a read too). Whereas beta 1 was targeted at developers, beta 2 is for anyone to look at. I’ll be installing it on my system (just as soon as I have worked through the seemingly never-ending list of tabs that I’m doing something with…).

Google Chrome logoThen yesterday, out of the blue came a new twist – it seems that, after much speculation, Google is to launch a beta of it’s own web browser today. Whereas IE 8 carries forward a legacy of backwards compatibility, and Firefox is struggling to win back the hearts and minds of those who were burned by buggy releases with poor memory management, Google Chrome is concentrating on serving the requirements that today’s rich Internet applications require, whilst remaining stable, fast, secure, and simple to use (see the Comic book for more information). Sounds like a tall order but, if anyone can do it, Google probably can.

It looks to me as though this just became a three horse race.

Getting started with Google Apps

Google Apps logoEvery now and again, my ADSL connection hangs and I need to reset the router. If this happens whilst I’m away from home (as it has done on a number of occasions), e-mail doesn’t make it through to my server and a non-delivery report is generated for the sender. It’s an annoyance but I could also have lost important messages, so I signed up with a store and forward service called Dynu. Unfortunately, but no sooner had Dynu processed my credit card but their website went offline and I had to get my credit card issuer to refund the payment as Dynu was not responding to any support queries. I started to look into alternative services (like Exchange Hosted Services) but these are aimed at corporates – not small business like mine so, for the last week, the vast corporation that is markwilson.it (actually, it’s one person, albeit with enough IT to run a medium sized business…) has been running its core infrastructure on Google Apps (formerly known as Google Apps for Your Domain).

I decided that I don’t have any privacy any more so I might as well cross to the dark side and let the big G index all my e-mail…

…well, something like that anyway – in reality, as well as trying to improve the reliability of my e-mail service, I’m trying to reduce the number of servers (virtual or otherwise) that I’m running (I am, after all, just one person) and moving from Microsoft Exchange Server to a service “in the cloud” let me turn off another 2 virtual machines (both of which needed upgrading to the latest versions). Why was I using my own mail server at home when my hosting provider‘s mail service will work just as well for me? Because my original reason for using Exchange Server was to keep my Exchange technical skills up-to-date – but that’s less of an issue these days as I spend more time architecting solutions and less time getting stuck into technology details. Don’t misunderstand me – I’m not saying that corporates should dump Exchange Server (far from it) and, as I commented on a recent post comparing software as a service (the Google approach) with software plus services (the Microsoft approach):

“I’m a one man band and I wouldn’t suggest [Google Apps] to any of my enterprise customers. In fact, I’m not convinced that anyone other than small-medium businesses and cash-strapped schools, charities, etc. will follow the SaaS route in it’s entirety (and it’s probably off limits for government departments – both local and central – as they will struggle to get around the various security restrictions).”

For smaller organisations who don’t want the hassle of running their own IT infrastructure servers, Google Apps is a reasonable choice (just as is Microsoft Small Business Server for those whose requirements are a little more advanced). Microsoft also has a cloud based service for consumers and small businesses – Windows Live Admin Center (formerly Windows Live Custom Domains) but I decided to go with Google (largely because their website told me what I’d be getting, whereas it wasn’t at all clear from the Windows Live Admin Center site – frankly, Microsoft’s online offerings are a marketing mess).

Once I’d decided which domain name to use, setting up Google Apps was straightforward – I simply completed the registration wizard, verified domain ownership (I had the choice of using either an HTML file or a DNS record) and switched the MX records to point to Google’s servers. I then set up a few users, associated another domain with my Google Apps account and started using the service.

For a few hours after that I was receiving messages on both the old and new servers but, once the world’s DNS servers had caught up, everything was arriving in my Google Apps/GMail mailbox.

I like the GMail interface a lot – for a start it challenges many of my preconceptions about how e-mail should work, storing almost everything in my Inbox and grouping it into conversation threads. I’m still not completely familiar with all the GMail settings but the first problem I came up against was how to implement Inbox Zero when GMail doesn’t support folders. It does, however, support a labelling system so I can apply labels to messages and use the labels for my various Inbox Zero states (and other IMAP clients – e.g. Apple Mail – see them as folders, although moving a message to one of those folders in another application does not assign the label to the message in the GMail web interface).

Another minor annoyance is that the domain name I use for e-mail does not match the one I use for my Google Apps and so some e-mail clients will show my messages as sent from Firstname Lastname [user@googleappsdomain.tld] on behalf of Firstname Lastname [user@secondarydomain.tld] but that’s something I can live with for now.

It’s worth pointing out that I’m not using all of the Google Apps features – at the moment it’s just for e-mail and calendar – but if I had people I needed to collaborate with then Google Sites would allow me to do so (my WordPress blog is still hosted externally – and will continue to be so for the foreseeable future). I have Microsoft Office 2007 so I’m unlikely to adopt Google Docs in any big way and, as for Google Talk, I avoid instant messaging when I can as I find it too big an interruption (and often an inefficient way to communicate).

So, was it worth it? Almost certainly – I get no spam. Seriously. None at all. Zero spam messages in my Inbox for a week now (and no false positives in the 394 messages that Google has identified as spam and quarantined for me). And another huge benefit is search. I still use Xobni with Outlook 2007 at work (and I could still use Outlook as an IMAP client at home) but GMail’s search is excellent (as I would hope in a service provided by a company that has a mission to “organize the world’s information and make it universally accessible and useful”).

In some follow-up posts, I’ll describe some of the challenges I’ve faced with keeping e-mail, calendar and contacts in sync across various platforms and devices, as well as importing my legacy messages into the 7GB of space that Google gives me for my mailbox.

Further reading

Lifehacker: What does Google Apps for Your Domain actually do?

Creating HTML signatures in Apple Mail

I recently switched my e-mail service from my own server to Google Apps. I’ll write more about the move (and the reasons behind it) in a separate post but, as a consequence, I’ve also started using the Apple Mail application to access my GMail over IMAP. On the whole, Apple Mail is pretty straightforward but one of the things I couldn’t work out is how to create an HTML signature.

HTML signature in Apple Mail
Melvin Rivera has the answer in his post on custom CSS signatures in Mail and the basic gist is to create a dummy signature in the Mail preferences; close Mail; create some custom HTML (with inline CSS to keep GMail happy – Melvin has an example linked from his post); save that as a .webarchive file using Safari; copy the new .webarchive file over the .webarchive file that corresponds to the dummy signature stored in ~/Library/Mail/Signatures (keeping the same filename); fire up Mail and open the preferences; rename the signature if required, then drag it to the mail account(s) with which it should be associated.

(To think that I thought Microsoft Outlook’s options were over-complicated!)

Sadly, neither Apple Mail, nor GMail seem to recognise the tel: links for phone numbers.

Useful links: August 2008

A list of items I’ve come across this month that I found potentially useful, interesting, or just plain funny:

There is no such thing as a stupid question… yeah, right?

There is a saying that there is no such thing as a stupid question – only stupid answers.

Really?

Well, I thought the rules for comments on this blog were pretty clear, but maybe not…

Hi How to fix Windows Crash? Thanks

This comment was left a couple of weeks ago by someone in an English-speaking country (at least, they use a UK-based ISP) and it is a stupid question. Especially when left as a comment on a post from 2 and half years back about some of the highlights from Microsoft’s annual technical conference for IT Professionals. I did wonder if it was spam but they didn’t even put a link in the comment, so I guess not…

[Ridiculing readers is probably not a good way to increase the popularity of this site but I honestly don’t think this person is a regular reader… none of you would really leave a comment like this… would you?]

Default PIN codes and voicemail numbers for UK mobile networks

Back in 2005, I published a list of useful mobile handset commands and it’s still attracting some interest so, as I bought a new mobile phone this week and it came with a list of the default PINs for each of the UK mobile operators, I’m re-publishing that information here in case it’s useful to someone:

OperatorDefault PIN

Vodafone 0000
O2 5555
Orange 1111
T-Mobile 1210
3 0000
Virgin Mobile 1210
Talk Mobile 0000
Mobile World 1210

Also included was a list of voicemail numbers (for those who don’t have an iPhone with visual voicemail…):

OperatorVoicemail Access Number

Vodafone 121
O2 1750 [I’ve also used 901]
Orange 123
T-Mobile 222
3 123
Virgin Mobile 222
Talk Mobile 121

Active Directory UK user group

The number of user groups around Microsoft products seems to be increasing steadily and another group has recently started – the Active Directory UK user group (ADUG) – who aim to:

“[…] build a community of Active Directory users, be they experts or beginners, where they will be able to ask questions, share experiences and learn from each other and leading experts in the field. Regular meetings will be held, to discuss and learn about topical issues such as upgrade paths, virtualisation and compliance; these will be in addition to traditional topics such as replication, disaster recovery and administration.”

As for the Windows Server UK user group, we’re steadily building a membership in our LinkedIn group and I’ve just approached Microsoft to see about getting a room for a meeting in the autumn.

Microsoft infrastructure architecture considerations: part 7 (data centre consolidation)

Over the last few days, I’ve written a series of posts on the architectural considerations for designing a predominantly-Microsoft IT infrastructure, based on the MCS Talks: Enterprise Infrastructure series. Just to summarise, the posts so far have been:

  1. Introduction.
  2. Remote offices.
  3. Controlling network access.
  4. Virtualisation.
  5. Security.
  6. High availability.

In this final infrastructure architecture post, I’ll outline the steps involved in building an infrastructure for data centre consolidation. In this example the infrastructure is a large cluster of servers to run a virtual infrastructure; however many of the considerations would be the same for a non-clustered or a physical solution:

  1. The first step is to choose build a balanced system – whilst it’s inevitable that there will be a bottleneck at some point in the architecture, by designing a balanced system the workloads can be mixed to even out the overall demand – at least, that’s the intention. Using commodity hardware it should be possible to provide a balance between cost and performance using the following configuration for the physical cluster nodes:
    • 4-way quad core (16 core in total) Intel Xeon or AMD Opteron-based server (with Intel VT/AMD-V and NX/XD processor support).
    • 2GB RAM per processor core minimum (4GB per core recommended).
    • 4Gbps Fibre Channel storage solution.
    • Gigabit Ethernet NIC (onboard) for virtual machine management and migration/cluster heartbeat.
    • Quad-port gigabit Ethernet PCI Express NIC for virtual machine access to the network.
    • Windows Server 2008 x64 enterprise or datacenter edition (server core installation).
  2. Ensure that Active Directory is available (at least one physical DC is required in order to get the virtualised infrastructure up and running).
  3. Build the physical servers that will provide the virtualisation farm (16 servers).
  4. Configure the SAN storage.
  5. Provision the physical servers using System Center Configuration Manager (again, a physical server will be required until the cluster is operational) – the servers should be configured as a 14 active/2 passive node failover cluster.
  6. Configure System Center Virtual Machine Manager for virtual machine provisioning, including the necessary PowerShell scripts and the virtual machine repository.
  7. Configure System Center Operations Manager (for health monitoring – both physical and virtual).
  8. Configure System Center Data Protection Manager for virtual machine snapshots (i.e. use snapshots for backup).
  9. Replicate snapshots to another site within the SAN infrastructure (i.e. provide location redundancy).

This is a pretty high-level view, but it shows the basic steps in order to create a large failover cluster with the potential to run many virtualised workloads. The basic principles are there and the solution can be scaled down or out as required to meet the needs of a particular organisation.

The MCS Talks series is still running (and there are additional resources to compliment the first session on infrastructure architecture). I also have some notes from the second session on core infrastructure that are ready to share so, if you’re finding this information useful, make sure you have subscribed to the RSS feed!