Raju氏が言うように、オフライン化する理由はZoho社にとって非常に単純であった。
オンラインユーザの10%は、オフライン時も作業継続を希望していると考えています。Webユーザのこの10%をサポートしたいのです。
続いてRaju氏は、Zoho Writerのオフラインへの拡張について、背景にある情報を提供してくれた。
Zoho Writerのオフライン化を決定した後、利用可能なすべての技術的オプションとプラットフォームを入念に観察しましたが、その中にはAdobe AIR、マイクロソフトSilverlight、さらにはオフライン機能付きで近々リリースされるFirefox 3さえ入っていました。しかし、AJAXベースのRIA Webアプリケーションのプロバイダとして、真のWebアプリケーションはHTMLやCSSのようなWeb標準をネイティブでサポートすべきであると考えています。私たちがJavascriptを使うところからスタートした最大の理由は、JavascriptがWebにネイティブだからです——Javascript向けのコア・オブジェクトモデルがHTML/CSS DOMであるという意味でネイティブです。Flashはそのメリットをすべて活かすために、ブラウザとは別の空間に置かれています。その意味では、Flashはクライアント側のJavaと大差ありません。実際、Flashは適切に処理されたクライアント側のJavaなのです。また、オープンソース・ライブラリのサポートは、私たちにとって非常に意味のあることです。Javascriptで利用可能なライブラリは、その数の多さと多様性でどんどん良くなり続けているのです。
そこで私たちは、SQLLiteのような技術を利用して、独自のものを開発することに決めたのです。そうしたら、ちょうどいいタイミングでGoogle Gearsがリリースされました。Google Gearsはオープンソースですし、Javascriptベースです。特にBSDライセンスである点が気に入っています。ゼロから新しいものを開発する代わりに、Google Gearsを活用するとともに、Google Gearsにも貢献してはどうかと考えたのです。こうしてGoogle Gearsがオフラインのプラットフォームになったわけですが、この決定については非常に満足しています。
Webアプリケーションではオンライン/オフラインの壁を越えるというトレンドがあるが、それを可能にしているのがRIA技術であることを認識した上で、InfoQ.comはVegesna氏に、オフラインのサポートを追加することに関して、Zohoにとって最良のアプローチが何であったかを尋ねた。
私たちが成功するには、段階ベースのインクリメンタルなアプローチが非常に重要です。一気にオフライン化したわけではないのです。第1段階では、オフライン時のZoho Writerを読み取り専用モードにしました。次に取り掛かった第2段階では、オフラインの文書編集を可能にしましたが、これが先頃リリースされたものです。一般にZohoの製品はサーバベースのWebアプリケーションです。大部分の機能はサーバ側のプロセスによるものです。適切に処理するには、細心の注意を払った設計とオフラインに一つずつ機能を追加していくことが非常に重要です。これ以外の方法は採らなかったでしょう。
ZohoはSaaS(software as a service)の領域にも進出しているが、この領域はZoho Writerのような最終製品に加えて、ZohoのAPIを介したアプリケーション開発プラットフォームになっている。オフライン化したことがZohoのAPIを利用して開発したアプリケーションに与えた影響について、Vegesna氏は次のように答えた。
今のところ、APIとしてはオフライン機能を無効にしています。つまりサードパーティ製品はすべてオンラインのみということです。Zoho Writerを使ったとしても、PDFファイルのエキスポートなど、現時点ではオフラインで利用できない機能があります。Webアプリケーションとして、私たちが特に重要視しているのがユーザエクスペリエンスです。あらゆる機能をオフラインに採り入れてしまって、ユーザが利用する製品を複雑にしたくないのです。
今後について。
Google Gearsの利用をお約束します。Zohoには主要製品カテゴリが2つあり、一つはファイルセントリックな(ファイル中心的)アプリケーションで、もう一つはデータベースセントリックな(データベース中心的)アプリケーションです。Zoho Writerはファイルセントリック・ベースで、Zoho Writerが終わったら、続いて、同じカテゴリに属する他のツールのオフライン化に取り掛かります。CRM製品などのデータベースセントリックなツールについても、同様のアプローチをとる予定です。
Vegesna氏は最後に、Zoho社のサーバ側環境について少し教えてくれた。
サーバ側では、私たちはオープンソースのショップです。データ管理にはMySQLを使用します。サーバ側のプロセスはすべてJavaで記述してあります。アプリケーションサーバはApache Tomcatを高度に調整したものです。Linuxベースで64 bit環境のサーバを約400基使って、自前でアプリケーションをホストしています。
Zoho社はオフィスの生産性向上のためのスィート・ツール・プロバイダとして、ユーザエクスペリエンスとプラットフォーム開発の両方において限界を広げてきた。InfoQでは引き続き、Zoho社のプラットフォームの発展を追う予定である。