10 歳を迎えた Apps Script、誕生の舞台裏
Google Cloud Japan Team
※この投稿は米国時間 2019 年 8 月 22 日に Google Cloud blog に投稿されたものの抄訳です。
10 年前の 8 月、私たちは Google Apps Script を発表しました。Apps Script は G Suite のスクリプティング プラットフォームで、当初は小さな実験としてスタートしましたが、今では Google で最も人気のある開発者向けプロダクトの 1 つに成長しています。この投稿では、10 周年を記念して、Apps Script がどのように生まれたのかを、Apps Script の生みの親である Mike Harm とともにに振り返ってみました。
Apps Script を作ったきっかけは何ですか?
私は、ノースイースタン大学の大学院生だったときに、コンピュータ入門の講義を担当していました。そのコースはコンピュータ サイエンス学部以外の学生向けで、私は薬学を専攻する学生に教えていました。このコースは、ドラッグ&ドロップやオフィスの生産性向上ツール、さらには HyperCard を使った最終成果物の作成まで、多岐にわたる内容を網羅していました。
最終成果物は「クールなものを作る」という課題に対するものでした。学生たちは多種多様な面白いものを作ってきました。対話型のレシピ ブック、レッド ツェッペリンのトリビア ゲーム、ストーリー展開を自分で選択できるアニメーションといった具合です。これらの作品はとても印象に残りました。技術的な制約をすべて取り払えば、プログラマーでなくても、人々は素晴らしいものを作れるのです。
その後、キャリアを積んでからも、私は同様の啓示を受けました。今度は職場です。私はニューヨークにある病院の IT 部門で働いていました。この病院では、サーバーサイド JavaScript が動作するカスタム アプリケーション サーバーを構築済みでした。Node.js が開発される何年も前のことです。そのエンジンは、病院のさまざまな承認システムを支えていました。JavaScript がとても使いやすかったため、ビジネス アナリストたちは、IT 部門が実装するのを待つのではなく、自分でコードを書いていました。
そうした経験をどのように生かして、Google で Apps Script を開発したのですか?
2007 年に Google に入社した私は、Google スプレッドシートのチームに加わりました。当時、チームはスプレッドシート API を使いやすくする方法を評価していました。HyperCard と JavaScript がまだ頭から離れなかったため、私はひそかにサイド プロジェクトを立ち上げ、JavaScript ベースのスプレッドシート用スクリプト言語がどんなものになるかを大まかに示すデモ コードを作り始めたのです。それが Apps Script の始まりでした。
なぜプログラミング言語として JavaScript を選んだのですか?
以前に JavaScript を使ったことがあり、そのときの経験に影響されたのは確かですが、ウェブ プログラミングでこの言語の人気が高まっていくのも目の当たりにしていました。特に、JavaScript を使ってウェブサイトにちょっとした動的機能を追加する、従来のプログラマーとは異なる大勢の人々がいて、その構文が広く知られるようになったのです。私の頭の中には HyperCard が残っていたので、誰でもコーディングできる言語を作ろうと考えました。
従来とは異なるプログラマー向けにツールを開発する難しさはありましたか?
バージョニングのような従来のコーディング パラダイムを採用するか、非プログラマーにとって使いやすいものを開発するかをめぐって、何度も激論を交わしました。私も、もともとの想定ユーザーである薬学専攻学生の目線を保つのに苦労しました。
本当に必要とされているものを維持していくのに役立てるため、私たちはハッカソンを開催しました。11 歳の子どもが、摂氏と華氏を変換するシンプルなカスタム関数のデモを見せてくれたことを思い出します。私はすっかり感心しました。それからというもの、Apps Script をどう開発するかを議論するときは、その子どものことを考えるようになりました。一部の人にとっては、赤いエラー メッセージは職業上の危険ですが、彼にとっては、それは個人的なものでした。
Apps Script をどんなふうに使っているか、具体的に教えてもらえますか?
「このアプリにこれこれのことができたらいいのに!」と思ったときは、いつも Apps Script を使います。たとえば、1 週間に行われる会議をすべて一覧できるウェブ アプリを作りました。各項目の隣にあるチェックボックスをオンにするとスキップでき、さらにボタンをクリックするとキャンセルできます。出先で便利です。
企業は、ローコード アプリの開発環境を従業員に広く提供するのをためらうことがあります。こうしたツールによる開発の民主化を企業は受け入れるべきだと思いますか?
そのことについてはよく考えました。受け入れるべきだと思いますが、ガードレールがあるべきだとも考えます。例えるならば、従業員がデスクで電気ポットを使えるようにすべきですが、ビルを停電させるかもしれないアーク溶接機については禁止すべきだというのと同じでしょう。私たちは、ユーザーがダイヤルインして Apps Script のクォータを設定する際に、重要な作業を行うのに必要なパワーを確保する一方で、IT チームにとって管理上の悪夢になるほど大量のパワーは確保できないようにしました。
10 年にわたり開発、提供してきた Apps Script を使い、人々は G Suite アプリを多種多様にカスタマイズしています。こちらのビデオ ライブラリでは、Apps Script のさまざまな活用法を(サンプル コードとともに)チェックできます。ぜひ今日から使ってみてください。
- By Eric Koleda, G Suite Developer Relations