Transition to Google Mail

I hate changes. If I need to switch from a program I use all the time, I want to at least switch to a comparable product if not something better. So, it was with great difficulty that I was forced to switch from Outlook to Google Mail at a job when one of my places of employment changed their in-house standards for e-mail.

Google Mail makes good use of open standards, so you would think the transition would be an improvement. However, with this corporate version of Google Mail, everything was locked down and firewalled off. I couldn't even access the mail by POP3 or RSS feed. Tools that usually work with Google Mail, such as the Gmail Notifier, failed because they needed to be routed past the single sign on and no individual account information was available. Google Apps Sync for Microsoft Outlook wasn't useable either supposedly because of firewall restrictions and the settings on the mail servers that would allow it to work were turned off. Third party applications that could be used were limited to those on the approved list. That meant one couldn't use the extra features in Google Chrome that help support a richer online e-mail experience. So, I was left with an e-mail system that could not even notify me in any visible way that new mail had arrived. Typically, while I was working, if Google Mail was open in a browser, it would be the bottom window on my system. With the speakers turned off, audible notification was useless. Another huge issue was inability to go easily from screenshot to embedding a picture in an e-mail. I could no longer directly put together tutorials and distribute via the e-mail system.

This page is specifically for sharing the tips and tricks I came up with to help cope with the transition.

E-mail Notification

The main issue I had to confront was how to get a visual notification of new e-mails. I located no third party software that would work under the circumstances. So, I decided it was time to write something myself. I considered the POP3 interface via a notifier program and the web interface using Google's RSS feeds of e-mail messages. Neither was feasible. What I needed was a notifier program that didn't need to log in or have account information to tell if there were new e-mails. Basically, if I already had a browser window open and logged in to Google Mail, I shouldn't need to log in again to use an outside application. I created a notification program that checked the title information of all open windows using the Win32 API and the C programming language. If it found information in a title to indicate there was new e-mail, it would bring up that window. Rather than write a scheduler application as well as a notification program, I designed the program to work with any scheduler. That included the standard Windows Task Scheduler available on most Windows systems. I also ran across the interesting issue of trying to find a way to make a console program run when scheduled without giving any visible indication that it was running.

Here are the results of my quest for a decent Google Mail notifier that would work despite firewalls and single-signins.
lmnotifygmail - BSD licensed Google Mail notification program for Windows and instructions for use.

Tips and Tricks

The notification program solved my biggest issue, but there were still a lot of small issues and inconveniences including figuring out how to do things that were done differently before and making the best use of the tool's new capabilities. To help ease the transition, I started a document of some of the Tips and Tricks I discovered for working with Google Mail. I've left out the basics and tried to cover information that might not be obvious from other introductory tutorials.

Here is the latest incarnation of my Google Mail Tips and Tricks document. I will continue to update it if I learn any new tricks for Google Mail.
Google Mail Tips and Tricks - Advanced Tips and Tricks for Google Mail.

Many of the issues with Google Mail could easily be solved with third party applications. However, use of third party applications other than those officially approved or grandfathered in was a difficult situation. I created an Addendum to the documentation that includes third party, Open Source applications that could be useful in conjunction with Google Mail. Most of these are not applications that one would usually consider using with Google Mail.

Here is my Google Mail Tips and Tricks Addendum document that gives some basic information on using a few choice third party, Open Source applications with Google Mail for added functionality. I will update the document if I find other useful applications that meet the constraints.
Google Mail Tips and Tricks Addendum - Information on using third party, Open Source tools with Google Mail.

Mailto Capability

It didn't bother me much that the mailto: links were not working properly to bring up the web mail system until someone asked about it. I couldn't help thinking that should be an easy thing to correct, theoretically anyway. So, I decided to find out how to go about the task. I did know one thing before I got started, any change of this nature was going to require changes to the registry on a Windows system to set the default mailto: program. Personally, I don't mind editing the Windows registry. As a programmer, I couldn't implement a standard install program on Windows without doing so. However, some users are reluctant to edit the registry and with good reason. If it gets into a bad state, it can mess up the entire operating system. Windows does supply system restore features to create rollback points that can undo major changes, but this does need to be set up properly to work and I've sometimes had it fail. To redirect the mailto: link, not only would the operating system need to know to call a particular program, it would need the program or script to call. I considered calling the browser program directly and giving it the URL, but thought it would be better to use a script instead. That way, I could reformat the mailto: URL information any way I needed before sending it to the browser of my choice. I decided to implement this in Javascript. It could run with Windows Jscript (Wscript) which is already available on Windows or with the Open Source V8CGI Javascript implementation which provides a cross-platform solution for running Javascript outside of a browser.

Here are the results of my research into how to get mailto: links to interact with the Google web mail system. The scripts are samples for illustration purposes. Do not attempt to use as is because paths and other information must be customized for each particular situation.
Mailto: scripts - BSD licensed scripts that give an example how to redirect mailto: links to Google Mail.

Downloading Attachments without a Download Link

Since I can't run the Google Calendar offline and my access goes down a lot, I thought it would be safer to copy my appointments to another calendar application. Usually there's an option in Google Mail to download the .ics file for an appointment. However, when someone sent me an attached .ics file, I was unable to find the link in Google Mail to download it. I could view the .ics file in the source of the message when I used the Show original option. That led me on a search for a way to convert the .ics file information encoded in base64 for e-mail transport back into the original .ics file. I did find an Open Source program to help with the decryption. Once decrypted, I could use the .ics file to update other calendar applications. This technique also works for graphics and other elements in an e-mail encoded in base64 format.

Here are the results of my search for how to decrypt base64 encoded attachments in source e-mail messages.
b64 - MIT licensed base64 encryption/decryption program from a project at Sourceforge (source code for multiple operating systems) plus Windows executable and instructions for use.

User Interface Customization

Google Mail is proprietary software. One of the drawbacks is that Google can choose to change the look and feel of their applications however they want to at any time. I found the latest modifications to the Google Mail interface far less readable and efficient than the previous incarnation. It was impeding my workflow. I decided to search for a solution that would let me customize the interface beyond the capabilities provided by Google theme settings. I did find a solution which I go into detail explaining in my Google Mail Tips and Tricks document. I've created my own local CSS modifications to Google Mail. For anyone interested, you can see the results of my effort at http://userstyles.org/styles/60535/google-mail-old-look-for-lm or try it yourself.

I would love to compare notes on design techniques using CSS with others who are interested. Feel free to contact me through the XHTMLDesign mailing list if you'd like to discuss the topic or share your own CSS tips and tricks or designs.

Cloud Computing versus Running Applications Locally

I believe in letting people use what they deem are the best tools for the task in order to get the job done. Some people work incredibly quickly with a WYSIWYG (what you see is what you get) editor while others are far more efficient with a scripted solution and a command line. There's a lot of excitement about cloud computing being the solution, but it is only one solution and not necessarily the best for every task, let alone every individual. Being stuck with a web only interface may be a cloud computing enthusiast's dream, but it doesn't work best for everyone. Enthusiasts of portable apps can provide just as effective a way to use the same data on multiple machines and with better privacy constraints. If everyone thought cloud computing was enough, then projects like Google Gears or support for offline web applications and database access in the HTML 5 standards would not exist.

A lot of the issues I was having with the Google Mail transition wouldn't have been issues if a decent POP3 client e-mail program could have been used. For instance, what do you do if you need to work on your e-mail and your connection goes down? What happens to calendar notifications if you lose connection? With an offline client, you can continue working until the connection comes back up again. There is a Google Mail option (only with certain browsers) for offline mail capability, but that doesn't solve the event notification issues I faced. Also, offline mode for the Google Calendar wasn't available in the customized version my employer was using. A client like Outlook or Thunderbird can add functionality like notification of receipt of e-mails. A web based mail system doesn't do that. It's easier to take screenshots and paste them directly into an e-mail to share tutorials or other information in a client program. Web based e-mail systems typically have limitations with embedding graphics. Google Mail does now have a way to cut and paste graphics into e-mails using Google Chrome (or some later versions of Firefox and certain HTML 5 compliant browsers), but as I mentioned, using an alternative browser was not an option.

If I had my choice, I'd always want the option to use either web mail or an e-mail client program based on my particular needs at the time of access. If protocols like POP3 and IMAP are disabled, you can still make limited use of e-mail clients and related tools by importing and exporting information. For instance, Sunbirdportable makes a good alternative to the online Google Calendar when an Internet connection goes down. It also creates highly visible notifications of events whether the Internet is available or not. You can share events between Google Calendar and programs such as Sunbirdportable or even Outlook using the iCalendar (ics) format. One can also share contacts in CSV format between Google Mail and some client e-mail programs. You can even export any filters you create in Google Mail.

If you prefer Open Source alternatives to Outlook, check out Thunderbird. There's a portable app version as well, so you can take your e-mail with you. Another lighter option worth checking out for those who are concerned about security is Sylpheed. It's a text based e-mail client, so it won't automatically try to run any scripts attached or embedded into e-mails.

Applications for a computer should not be an all or nothing experience. It's nice to have choices and to have available options that work when other options are down. Open standards, Open Source, freedom of choice and a little ingenuity can go a long way to making users more productive and enabling them to get their jobs done more efficiently.

 

To the main page.

 

Validate XHTML



The information on these pages is copyrighted by the author with all rights reserved. Reproduction of anything without the author's permission is in violation of copyright laws.
All original material is copyrighted:
(c) Copyright 2011 by Laura Michaels
All Rights Reserved