HACK / MAKE

An Exodus from Google

Deciding to move away from Google products was the easy part. Actually figuring out the process of migrating my communications to new services without taking myself offline is the hard part. Over the past couple of days I managed to do it so I’ve detailed the process in case you’d like to do the same. This solution won’t work for everyone. As I’ll point out, there just aren’t alternatives to some Google products so I had to make some concessions and just limit how much information I chose to make available to them. If you rely heavily on the Gmail web interface because you aren’t able to work at one machine all the time or use Google Docs endlessly to collaborate on personal projects, maybe the switch isn’t for you. I understand that Google’s suite may be really useful for you and by no means am I convincing you that you need to migrate. Based on my use, I was able to move my personal reliance and data away from Google.

My Previous Setup and Situation

I mainly used a Google Apps account setup with a custom domain. I also had a legacy @gmail.com account that I kept around and the odd email that would come in there would forward to my @mydomain.com account. Any other Google service I had an account for was attached to my @mydomain.com Apps account. The other Google products I used besides Gmail were Google Reader as a syncing service for Reeder on iPhone, iPad, and Mac, Analytics for my blog, and YouTube (since they require you to attach your username to a Google account). I don’t use Google Docs and I’ve been using iCloud/MobileMe to sync contacts and calendars across my devices.

There aren’t any good alternatives for Reader currently (and RSS isn’t dead) so I knew I would need to maintain an account to sync my feeds. I haven’t researched into an alternative to Analytics, though I would love suggestions, so I have to keep that account but plan to close it when I have something else set up. For YouTube, I just don’t think I can get around with having a username not be linked to a Google account, so I’m stuck there too.

The biggest thing I had to do was move 5+ years of email and my @mydomain.com address away from Google Apps without losing emails, my communication pipeline, or my mind.

Moving Email

This process will be different for everyone depending on their current setup and needs. I had my domain hosted at Netfirms but their service limited what I could do for setting up DNS for sub-domains so I had to add an extra step and move my domain to a new host before I could even start moving mail.

I decided to go with Namecheap for my domain hosting and Fastmail for email. These steps for setting up DNS and MX records will be general but since it’s the service I’m now familiar with—and recommend—I’ll walk you through migrating to Fastmail.

Domain

Transferring a domain can be a pain. It takes codes, confirmations, and a lot of waiting to get a domain to a new registrar so check into your current domain services to see if they can support what you need. All services will support MX records but I needed to set DNS for sub-domains so had to switch providers. I’m going to skip the domain transfer step so if you need to do that check your registrars support documents. Fastmail does their own DNS and MX record hosting, but I have some other things like a Tumblr on my domain and want to be able to have more options so I went with Namecheap.

I mentioned domains first because if you need to transfer, it’ll take some time. Get that started if necessary so it can propagate while you start with the heavy lifting.

Email Setup

I went with Fastmail. They come well recommended, have a solid feature set, and reliable uptime. A year’s service for Full + domain hosting is $39.95 a year. You can use this referral link to create your account if you’d like to help me save a few bucks. Create your account with whatever username and fastmail extension you want. We won’t really be using this much since you’ll have a pretty address like yourfirstname@firstnamelastname.com.

1. Set up Fastmail Virtual Domain and Alias

This is the starting point of connecting your Fastmail account to your domain. While you are changing these settings, your email will continue to flow to your Gmail account if you have Google Apps with a custom domain set up. Go to Options > Virtual Domains. Under Virtual Domain, add in your domain as yourdomain.com without www or http://. Save your changes so that your new domain will be available as a virtual alias. Add in a virtual alias (or several for whichever email address you want to receive mail at). Adding a * as the name will accept emails addressed to anything with @yourdomain.com. The target address that you want is the Fastmail address you created. Save again.

2. Set up Fastmail Personalities

Personalities will let you easily access your Fastmail account from other applications without having to set up aliases for sending and receiving mail from your desired address. Go to Options > Account Preferences > Personalities and create the personality with your desired main email address. Once it’s saved, make it your default personality with the button in the top right. Now your address will be recognized properly by outside applications.

3. Migrate mail

Let’s get started on moving your email into your Fastmail account since it’ll take some time to process in the background, especially if you have a lot of mail. Go to Options > Migrate Email. To pull in from Gmail, use the IMAP server smtp.gmail.com, your gmail address including the @gmail.com or @yourdomain.com and that email’s password. You want to use SSL, so check that box. Depending on what email you want to migrate, there are a few options here. Gmail is set up slightly different than standard IMAP systems, so if you’re picky about organization, take caution and follow my next steps. If you aren’t picky and just want everything in your Fastmail account so you can search for it, add [Gmail] into the Remote Server Prefix and click migrate. It’ll take a bit of time, but you’ll receive an email when it’s all done.

If you’re picky about organization, it’s a bit easier to do some setup on the Gmail side before migrating. We’ll do a combination of filters/labels on Gmail and some Smart Mailboxes in Mail.app after import to make our emails well organized. Gmail puts all of your mail, including incoming and sent mail into the aptly named “All Mail” folder. The problem occurs when you import both All Mail and Sent Mail. You’ll end up with duplicates of any email you’ve ever sent and if you use labels, you’ll end up with as many versions as the message has labels. Gmail uses the concept that a message can have many labels but Fastmail and any IMAP service believe that one version of the message exists for every folder (label) it’s in so if it has the label ‘Work’ and ‘Important’, it will create a duplicate and put it in your new work and important folder on Fastmail. I have a simple system where I just archive everything so it lives in All Mail. Let’s make that work while migrating to Fastmail.

To separate the email you received from the email you sent in Gmail’s All Mail, create a label and filter for every message that is To: you@email.com. Apply this to all messages in Google and your new label is essentially an archive of all mail sent to you. Let’s import this first. Use all of the same settings as above in Options > Migrate Email, but instead of using [Gmail] for the Remote Server Prefix, use just your Gmail label name, like Work. When you click Migrate, this will pull everything from your work label into your Fastmail inbox. Once it’s there you can select all of it and move it to your archive. I noticed when I moved this over some emails I sent made it into this folder so just searched for anything From: Nick Wynja and deleted it. Now I have a pristine folder called “Archive” where all past emails sent to me live. Next, you’ll want to import all emails you’ve sent. Go to Migrate Email again and put in [Gmail]/Sent Mail. This should move all of your sent messages into a new Sent Mail folder and once it’s done transferring, you’ll want to move them to the folder Fastmail already uses for Sent. Let’s leave it at that. If you have more labels you want to migrate, the best of luck to you.

4. Change MX records

You have everything set up now so that once you flip the MX switches with mail should filter properly into your Fastmail inbox. MX records direct your email so that anytime an email is sent to @yourdomain.com the records say that Fastmail is the one that’s dealing with your email and to give it to them. Once your email is directed to Fastmail, your virtual domain is recognized from your settings, and when the email’s address is recognized in your list of virtual aliases, it’s put in the inbox of whichever target you set. Check with your registrar for specifics on how to setup MX records but these are the settings you need to know about Fastmail. Set your @domain.com MX to point to in1-smtp.messagingengine.com. and in2-smtp.messagingengine.com.. Set the first one (in1) to a pref/priority of 10 and in2 to a priority of 20. If if asks for a TTL set it to 300. This is what my settings look like. When you save this, it’ll take some time, but you’re emails should start trickling into your Fastmail account.

5. Set up filters

Don’t forget to set up any filters that you may have had in Gmail to delete, forward, or tag incoming messages. You can do this in Options > Define Rules.

6. Set up Mail.app

You’re account should be behaving properly now and you’ll want to set it up with a great Mail client like Mail.app since they are so much better than web apps. Sparrow is another great client that I used while on Gmail but I’ve found that it doesn’t map great to IMAP services so I’ve gone back to the trusty (and greatly improved in Lion) Mail.app.

Go Mail > Preferences > Accounts and add a new account. On the first screen, add in your name, the email that you set as your default personality, and your Fastmail password. From account type, choose IMAP. The incoming mail server should be mail.messagingengine.com, username should be your Fastmail email address, such as username@fastmail.fm, not your personality. Be careful that you are using fastmail.fm and not fastmail.com as it won’t authenticate and you’ll be stumped as I was. Your Fastmail password should be auto-filled from the previous page. When prompted, use Secure Socket Layers and password authentication. For outgoing mail server, use mail.messagingengine.com again and your Fastmail (not personality) address and password. Clicking continue should set your account up.

Then there’s only one thing left to do to make it work smoothly. You’ll see in the sidebar the folders that you’ve imported and a few standards like Sent and Archive. Select a folder, like Sent, and in the menu bar choose Mailbox > Use This Mailbox For > Sent. Repeat this with Drafts, Trash, and Junk so that these sync properly with the server.

Setting up your iPhone or iPad is very similar. Go Settings > Mail, Contacts, Calendars, then add an Other mail account. Use the same settings as above and your account should work. Once the account is created, go into the account in Settings, then go to Advanced. Under Mailbox Behaviors, choose the corresponding folders for Drafts, Sent, and Deleted just like you did in Mail.app.

You’re all set with email.

Now What About Those Other Google Services?

I still want to user Reader, Analytics, and YouTube so I need a Google account but I want to have strict control over it. To do that, I created a new sub-domain that I’ll use for this account. I created the sub-domain @g.mydomain.com and opened up a Google Apps account for this. Set up is pretty easy and since I want to be a dick and keep this account free of as much personal data as I could, I used Google’s headquarters in Mountain View as the address and phone number during signup. Once you’ve created your Google Apps account, you’ll have to verify your ownership of it. They’ll give you several options, but the one I went with since I’m not hosting a site or anything else with this domain is adding a TXT DNS record to my domain. Pay attention to the instructions for your DNS settings since it may just want you to put g as the host name rather than g.yourdomain.com. It’ll take a few minutes to propagate, but once it does, you should be able to verify you’re account.

Once you have, let’s lock it down. From the Google Apps dashboard, go to Organizations & Users (note their lack of attention to detail not using propert title text in the navigation elements), then Services. Here you have toggle switches for every possible Google service available and the option to turn it off for this account. I turned off everything but Reader, Analytics, and YouTube. Save this and then we’ll import the information we need into our new restricted account.

To export your Reader subscriptions, log into that account, go into Reader then Reader Settings > Import/Export and download the OPML of your subscriptions. In your new account, do the same thing but select the file you just downloaded but upload it. Don’t forget to go into your RSS readers and update to your new account.

For Analytics, all you need to do is log in from your old account and add your new account as an admin.

To link your YouTube account to your new restricted account, sign into YouTube using your old Google Account and unlink under Settings > Manage Account. First you’ll have to unlink the YouTube username from your current account, then you’ll have to log back in using your YouTube username and the password from the Google Account you just disconnected it from. Once you’re logged in it’ll prompt you to connect that username to your new Google Account and you’re set.

Now you have an account that you can use for the odd Google apps you need but it’s clean of your personal data.

Old Accounts

I haven’t yet brought myself to delete my old @gmail and Google Apps account yet, but I have until March 1st to do that. In the next few weeks, I’ll monitor the @gmail account for anything incoming (which there isn’t much) and either update those services to my new address or notify them of my new email. If there’s anything else in these accounts I need, I have a few weeks to think of it before Dooms Day on February 29 (Hmmm, it’s a leap year) when I complete my exodus from Google.

It’s taken a couple evenings worth of puttering around but I feel it is going to be worth it. Now I’m in full control of the services I use and my personal information. Fastmail is a solid email service which has some amazing features I’m now discovering and which works smoothly across my devices of choice. I’m still connected to a few Google services but in a way that I am confortable with. Google is free to continue “improving their services” with targeted advertising and I’m able to pay and support a service I find useful. I’m OK with that policy.

Thoughts or comments? Let's talk on Twitter or send me an email.