SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

価値を生む開発に集中しつづける現場インタビュー(AD)

「エンドユーザー自らシステムを構築する時代」を卓越したJS技術で現実化するマッシュマトリックスのクラウドサービス

価値を生む開発に集中しつづける現場インタビュー【第4回】

  • このエントリーをはてなブックマークに追加

 JavaScriptのスペシャリストとして、ノンプログラミングでアプリケーションを作成するためのフロントエンドエンジン(2007年度の「IPA 未踏事業」に採択)などを開発してきた冨田慎一氏。「業務に合わせてエンドユーザー自身が構築できる」という理想のシステムを提供するため、2008年マッシュマトリックス社を設立してJavaScriptの腕を振るい続けている。本稿では、冨田氏がその理想に考え至った経緯や現実とのギャップ、クラウドサービスの将来像などを聞いた。

  • このエントリーをはてなブックマークに追加

本記事の目次 →シリーズの特集ページ

1か月で数万ダウンロードのエンタープライズ向けnpmパッケージを開発

――未踏事業で採択されたのはどんなプロジェクトだったんですか?

冨田:「今後、エンドユーザーが業務アプリケーションを自ら作る時代が来るだろう」という、僕が当時抱いていたイメージを実現するためのソフトウェア開発です。未踏事業の採択前、僕は日本オラクルでアプリケーションサーバーを販売していたのですが、セットアップや運用中の保守作業などとにかく面倒が多い。エンドユーザーがアプリケーションを作るには、もっと簡単ですぐ使える環境が必要だと感じていました。

 考えて出た結論は「WebブラウザでJavaScript」という環境。けれども、エンドユーザーがJavaScriptを使ってアプリケーションを書くのはやはり敷居が高い。そこで、「データなどをこういうふうに取得したら、こう動く」という動作をブロックの組み合わせや宣言的な指示で実行できるJavaScript製のエンジンの開発を始めました。それが、未踏事業のPM(プロジェクトマネージャ)をされていたサイボウズ・ラボの畑慎也さんの目にとまり2007年度の未踏事業に採択されました。

マッシュマトリックス 代表取締役 冨田慎一氏
マッシュマトリックス 代表取締役 冨田慎一氏

――Ajaxが盛り上がっていたころですね。

冨田:ええ。実は、未踏事業でプロジェクトをやっていた時期は日本オラクルを出て、セールスフォース・ドットコム(以下、セールスフォース)に在籍していたのですが、転職した理由の1つは、セールスフォースがAjaxの仕組みを利用した開発ツール「AJAX Toolkit」をリリースしていたからです。そのころ、エンタープライズアプリケーションをJavaScriptのツールキットでカスタマイズできる製品は、他にありませんでした。SalesforceはSOAP APIでアクセスできるようになっていて、JavaScriptでUI(ユーザーインターフェイス)を作れば何でもできてしまう。開発ツールの一部なのですごいと思っている人は少なかったのですが、僕の目には魅力的に映りましたね。

 また、Salesforceのことを「SaaSでCRM(顧客関係管理)を行う箱」だと思っていたんですが、実際には「用途はほぼ無限なデータベース」で、しかも、クラウド上にあるからセットアップも不要です。今ではセールスフォースが当然のように言っていることですが、当時はかなり革新的だと感じました。これもセールスフォースに移った理由の1つです。

 ただ、セールスフォースは「Visualforce」というもっとリッチな開発ツールに軸足を移していて、AJAX Toolkitは広げていかないようです。それでというわけではありませんが、「JSforce」という、AJAX Toolkitの後継に当たるライブラリをOSS(オープンソースソフトウェア)として開発しています。JavaScriptでSalesforceのAPIを呼び出せる点はAJAX Toolkitと同じですが、Webブラウザ以外でも使える点が異なります。最近はNode.jsなど、JavaScriptをサーバーサイドで動かすシーンが多くなってきたので、Webブラウザとサーバーサイドのどちらでも動くものにしました。

JSforceのサイト
JSforceのサイト

――JSforceの配布はどこで?

冨田:GitHubでやってます。GitHubのページを使って宣伝サイトも作成しました。プルリクエストも結構届きますし、何個もたまっていますが時々イシューにコメントを返しています。GitHubがなければJSforceの公開はできなかったでしょうね。

 JSforceは、まあまあ使ってもらえているという認識でいます。「npm」というNode.jsのパッケージ(npm)を配布するサイトの中の人が、セールスフォース・ドットコムの開発者ブログへ2014年に投稿した記事には、JSforceが1か月で3000以上ダウンロードされたとありましたが、現在は1か月に2〜3万ダウンロードに達しています。

――利用者数は海外のほうが多いですか?

冨田:はい。日本国内での採用もありますが、まだ比較的少数です。そもそも、JavaScriptを使ってSalesforceアプリケーションを開発している人、特に製品レベルでやってる人は少ないのではないでしょうか。海外では、JSforceを製品に組み込んで使っているといった話をよく聞きます。一番メジャーなところでは「MavensMate」というプロダクトがあります。Sublime TextやAtomといったテキストエディタのプラグインで、SalesforceのForce.com[1]に接続可能にし、エディタをForce.com向けIDE(統合開発環境)にするんです。Salesforce開発者の間ではMavensMateを使うのが、最近デファクトスタンダードになってきています。

MavensMateのサイト
MavensMateのサイト

[1]: セールスフォースが提供するWebアプリケーションプラットフォーム。開発者がサーバーやミドルウェアなどの環境構築を行う必要がなく、ブラウザ上で画面やデータベース、ワークフローなどを定義(あるいはそのソースコードをアップロード)すればアプリケーションが動作するため、インフラの構築・運用の手間がかからない。

Force.comは「無料」で試せます!

 簡単なご登録ですぐにさわってみることができます。ご興味のある方はForce.comの下記ページから。

本記事の目次 →シリーズの特集ページ

システムの調達・構築にITエンジニアを介さなくてもよくなってきている

――セールスフォースは1年ほどで退社され、現在経営されているマッシュマトリックスを設立されました。それはなぜだったんですか?

冨田:先ほど述べたように、業務に使われるシステムは、これからエンドユーザーの主導で構築されていくという流れを感じていました。それを推し進める、いわば布石となるアプリケーションやサービスは、僕から提供できるのではないかと考えたんです。大勢のユーザーさんが共通で欲している機能はセールスフォースに提供していただき、僕は業務に使うシステムを個々のエンドユーザーさんが自分で作れる環境を提供する。この組み合わせは、社会にいい影響を与えるに違いない。そう考えたのが起業のきっかけですね。

――やはり、エンドユーザーが使いこなせる環境の提供が柱なんですね。

冨田:僕がそう思っているというよりも、客観的な事実として、システムはボトムアップ的に作られるようになってきている気がするんです。エンドユーザーや業務部門が積極的に主導していて、例えばSalesforceの導入でも、営業さんなどが「これ必要だよね」といっていつの間にか使っている。システムの調達や構築に、IT部門やSIer、専門家などを介さなくてもよくなってきてるんですよ。実際に業務を行っている人が目利きして導入する。

 クラウドの普及がこうした傾向を強めていますが、最も顕著だなと思ったのはモバイルアプリです。今はもう、業務の効率化をスマホの中で済ませてしまう時代です。業務に必要なアプリを自分で見つけてきてインストールする。そうして業務を効率化している人が周囲の人に「このアプリ、いいよ」といって勧める。それが連鎖して「営業のメンバー全員が使っています」となり、「じゃあ、会社で購入して全社的にやりましょうか」となる。そういう流れはもう、少なからずあると思うんですよね。

――システムを「作る」だけでなく、アプリを「選ぶ」こともエンドユーザーにとってはシステム構築であると。

冨田:ええ。ただし、現在選べるのはGoogleの各種サービスなど、パブリックに開発・提供されているものばかりです。エンタープライズ系のアプリケーションに対応したものはほとんどありません。Salesforce向けアプリも多いとはいえませんが、サードパーティが開発し提供することは比較的簡単です。

 簡単である理由の1つは、SalesforceがOAuthという、APIへのアクセスを認可するときに使われるプロトコルに対応していることです。OAuthは「自分はこのサービスにアクセス権限を渡しますよ」という処理を手順化しているようなプロトコルです。Salesforceはエンタープライズ系のサービスにしては比較的早くから対応しています。

 また、もう1つの理由は「Salesforceにどういうデータが入っているか」という情報がメタデータとして整備されている点にあります。メタデータを読み取ることにより、いつどの端末からアクセスしても同じように利用できるアプリやサービスを構築できるからです。弊社が提供している「Mashmatrix Dashboard」や「Mashmatrix Sheet」というサービスは、どちらもSalesforceのメタデータをフルに使っています。メタデータにより、ユーザーさんがSalesforceに保管しているデータを認識できるので、「これらのうち、表示するデータを選んでください」とプロンプトを出して尋ねることなどが可能になっています。こうしたプロンプトを作成するためのAPIが公開されていて、我々サードベンダが利用できるというところは、Salesforceのユニークな点だと思います。

Mashmatrix Dashboard
Mashmatrix Dashboard
Mashmatrix Sheet
Mashmatrix Sheet

イメージは執事のような自分専用サービス

――ちなみに、Salesforce以外のクラウドサービスを利用されることがあるのですか?

冨田:ええ、AWSを使っています。ただし、EC2は使わないですね。それならHeroku[2]を使いますし、EC2って結局仮想マシンのサービスですから、ある意味、将来性を感じないんです。僕が将来性を判断する基準は「あらゆる人が1つはそのサービスを使う状態になりうるかどうか」です。仮想マシンであるEC2を、全世界の人が少なくとも1つは使うなんてありえないじゃないですか。一方で、AWS Lambdaは全世界の人が1つは利用することがあり得ると思っています。

 クラウドサービスに抱いているイメージ、特にスマホなどのモバイルアプリから利用するサービスのイメージはやっぱりユーザーが主体です。ユーザーが「これやりたい」と言ったら、ささっと解釈してやってくれる自分専用のサービス。これは、AWS Lambdaのようなイベント駆動で動くシェアリングリソースがあれば実現可能だろうと思っています。そうなれば、誰もが1つずつAWS Lambdaあるいは同様のシェアリングリソースを利用する世界もあり得るわけです。

[2]: 米Salesforceが2010年に買収したPaaSクラウド。JavaおよびJVM上で動作する言語、RubyとRails、Node.js、Pythonなどを使ってアプリケーションを開発できる。

Force.comは「無料」で試せます!

 簡単なご登録ですぐにさわってみることができます。ご興味のある方はForce.comの下記ページから。

本記事の目次 →シリーズの特集ページ

サービスは自由度と理解のしやすさのバランスが肝心

――冨田さんがサービスやアプリを開発する際、何に一番配慮していますか?

冨田:自由度と理解のしやすさのバランスですね。ここまでに話したことをひっくり返してしまうようですが、現実問題として、エンドユーザーさんが自分でUIなどをカスタマイズしたいと望んでいるかというと、実はそうでもありません。エンドユーザーさんには「よろしく頼む(うまくいけばラッキー)」というスタンスでいる方が多いです。だから、SIerに丸投げとかになってしまう。自分が何を望んでるか定義すらできない方も大勢いらっしゃいます。

 ただ、そういう方たちのことも考えたサービスは必要で、それが「こういうのが一番いいんですよ」と言って出すSaaSタイプのアプローチなんです。残念ながら、今のところは、SaaSタイプのアプローチが受けられる可能性のほうが高いと思ってます。

 一方で「俺はこういうのがいい。そんなんだったら自分でやる」という人たちもいる。そういう人たちに向けて考えられたのがPaaSタイプのアプローチです。エンドユーザーが自分の判断でスマホにアプリを導入し、1つの業務システムにして使うっていうのが今、起こっていることです。それができる人は業務を効率的に回せるし、実績にも現れてくる。こうした人を中心に、PaaSタイプのアプローチが受けられていく土壌も大きくなっていくでしょう。

 ただ、何でも自分でできますっていう方向でやり過ぎちゃうと、ユーザーにちょっと引かれてしまう。Mashmatrix Dashboardの反省点なのですが、「いろいろUIをカスタマイズできるのはいいけれども、パッと見たときに何ができるのかがわかりづらい」というフィードバックをたくさんいただいたんです。マスに提供するプロダクトとしては、受け入れるのが難しかったようです。だから、その後にリリースしたMashmatrix Sheetに関しては割り切って「これができます(これしかできません)」というのを、最初に見せてしまうようにしました。いろいろ考えた結果です。

――自由度と理解のしやすさの間でバランスをとるのは難しいですね。

冨田:難しいです。長年提供されてきたSalesforceも、カスタマイズできるところがすごく多いと思いますが、「最初に何をしたらいいのかわからない」という声がユーザーさんから寄せられているのはないでしょうか。だから、Salesforceの導入コンサルタントがいらっしゃるんでしょうけれども。カスタマイズができる、こうやっていけばいろいろできるっていうことと、最初に始めるときに「ああ、これこうしたらいいんだ」ってすぐにわかること。これはトレードオフなので、ちょうど良いバランスに持っていきたいと思っています。

エンドユーザー・開発者・コンシューマ・エンタープライズの境界がなくなれば最高

――最後に、今後の抱負をお聞かせください。

冨田:繰り返しになりますが、僕はエンドユーザーさんに寄与するかどうかにサービスの価値を置いているので、ただ単に開発者が楽になるだけのサービスだったら、あんまり興味を持てないですね。もちろん、開発者が楽になるだけのサービスでも、それはもちろん有用だと思うんですよ。でも、開発者レベルから落ちていかないとすると、僕自身がやる、頑張って推す意味がないかなっていう気はしています。

 開発者だけを相手にしたサービスが、いつの間にかエンドユーザーも使うようになり、エンドユーザー向けのサービスだといわれていたものが、いつの間にかコンシューマも使うようになっていた――そういう状況になりうるサービスっていうのはすごく楽しいと思います。逆に、コンシューマ向けに提供されていたサービスがどんどんエンタープライズのほうに攻めてきて、業務レベルでも使えるようになるというシナリオも、かなり面白いと思います。そういう流れの中に自分が石を投げ入れ、波紋を広げることができたら最高ですね。

素敵なインキュベーションオフィスで開発を続ける冨田氏。エンドユーザーのためのサービスを開発するまなざしに迷いはない
素敵なインキュベーションオフィスで開発を続ける冨田氏。エンドユーザーのためのサービスを開発するまなざしに迷いはない

Force.comは「無料」で試せます!

 簡単なご登録ですぐにさわってみることができます。ご興味のある方はForce.comの下記ページから。

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9420 2016/05/25 15:17

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング