Google Apps gets serious but where is the offline option?

On February 21st Google released their anticipated Premier and Education versions of its Google Apps service. In a rare move for Google the Premier option actually costs the business US$50 per user per year rather than simply relying on advertising revenue. For your money you get quite a few more features: 10gig of storage per user, some interesting looking API's and a guarantee of 99.9% uptime with support.

On the whole deal is pretty good but Google has gone out of their way to stress that this service is targeted at the significant portion of employees who do not actually have email accounts on the basis that it is too expensive for the business to maintain them internally. Aiming at this market is a good strategy considering Google Apps lacks one significant feature that will see it struggle to gain acceptance in the majority of businesses where staff email is an entrenched and essential service: offline access.

Offline access from a businesses perspective is not a question of whether the computer is connected to an internal network but whether this internal network can access to the Internet. This internal network is generally very reliable but Internet access will never be 100% reliable due to its inherit complexities. Consequently whilst network administrators can comfortably guarantee their bosses that the internal network will function during business hours they cannot provide the same assurance with the Internet, especially considering many factors are beyond their control. From a business perspective this is an important issue because even when the Internet is not accessible employees need to be digitally productive. To do so they need to reliably achieve three basic tasks:

  1. Send messages
  2. Receive messages
  3. Review old messages

In a GMail-centric environment if the Internet fails none of these primary tasks can be undertaken. In an internally hosted email environment employees are still able to review and compose new messages for sending as soon as Internet access is restored. Anyone will tell you having two thirds of some functionality available during a disaster is a lot better than none at all:

"I want the people to know that they still have 2 out of 3 branches of the government working for them, and that ain't bad." Mars Attacks

How can Google Apps provide a similar level of offline service even in the event of Internet downtime? For the most part people have answered this question by pointing to emerging, browser-based offline caching technologies like that planned in Firefox 3. The problem with this solution is that it dictates the client-side software requirements. Web-based services like GMail have become popular because they allow any standards complaint Internet browser to provide the same level of functionality to its user. Therefore to move away from such a generic and easily deployable strategy is detrimental to the overall value of the Google Apps experience.

I think a far more practical approach to providing offline access to business users would be for Google to offer a 'Google Apps Local Data Proxy' application. This would be a Java application installed on an office server or integrated into a Google search appliance. The data proxy would be accessed via the businesses' Web-proxy server (e.g. Squid, ISA Server, BorderManager) which would redirect calls to the proxy in instances where the Google Apps online service was not available or the quality of service was poor (slow response times). Using this methodology to resolve the offline problem would ensure all Internet browsers would provide the same level of Google Apps service. From a deployment and maintenance perspective the solution would be more efficient because administrators would be focused on one central service instead of troubleshooting issues at the Internet browser level.

The Local Data Proxy would be a local cache of some or all user data. The exact size of this cache would depend on the rules established by the system administrator and resources available. For example it could be set to cache all managerial level data and only emails sent to staff in the last week. Along with data the service would also cache offline versions of the Google Apps family and act as an SMTP relay. This would allow employees to use the productivity applications in an offline state almost oblivious to the fact the Internet is not available. Once Internet access is restored or reaches acceptable levels Local Data Proxy would synchronise all data changes back to the Google cloud and relay sent mail. From the users perspective nothing much would change apart from the fact they would regain access to all of their data and not be limited to a recent subset.

A setup such as this would not provide offline access to those people working outside the office network. Such an approach would also require the maintenance of an internal proxy service and the Google Local Data Proxy. This is a small price to pay especially considering most businesses already maintain an internal server infrastructure. Even with these shortcomings in mind such a service would still go a long way to solving many of the offline access issues posed without resorting to client-side, browser specific solutions.