先日、GmailのiPhone版がすばらしすぎるという記事を書きましたが、あの記事の最後に、
それから、圏外の場所で使えないとかもある。Gears的な仕組みって、iPhoneのSafariに入ってるんですよね?
というのを書きましたが、甘かったようです。GmailのiPhone版はすでにGears的な仕組みを利用していて、圏外の場所でも使えました。参った。さすがです。
たまたま圏外の場所でiPhoneいじってたら、GmailがSafariで開けちゃいました。最初、「キャッシュに残ってるのかな?」と思ったんですが、未読のメールを開いて既読にしたりすることができる。
家に帰ってきてPCからGmailを見てみたら、さっきiPhoneで既読にしたはずのメールがまだ未読になってる。おかしいなと思ってiPhoneでGmailを見てみると、やはりちゃんと既読になってる。そしたら、PCで開いてるGmailの方も既読に変化しました。
これはどうみてもオフライン動作です。通信ができる場所でSafariでGmailを開いたときに、クライアントサイドストレージにデータを保存しておく。このとき、未読のメールの内容も含めて保存しているんだと思います。そして、通信ができない場所では、そのクライアントストレージのデータを使って未読メールもちゃんと読める。
さらに、「既読にしたよ」という情報をクライアントサイドストレージに持っておいて、次回iPhoneのSafariでGmailを開いた際にサーバと通信して、既読にした情報を反映させている。
これはすばらしすぎる...。
実験してみましたが、iPhoneの「設定」で「機内モード」を有効にすることで、オフライン環境は簡単に作り出せます。それでもGmailがちゃんと動作するのが確認できました。
やはり前回も書いた通り、このiPhone版Gmailは、WebアプリでありながらもiPhoneのキラーアプリのひとつだと思います。いやーいいわホント。