開発Daisukeビジネス界では有名?ミダスタッチ(マイダスタッチ)つい先日、「ミダスタッチ(マイダスタッチ)」という言葉を初めて知った。「ミダスタッチ」というのは有名なギリシャ神話の一つ。Touch)」という神話の主人公も「ミダス王」である。ロバの耳の王様と同一人物である。ミダスタッチは「ミダス王がタッチ(接触・触れる)する」ことに神話名は由来する。この「ミダスタッチ」という言葉は、海外でのビジネスの場や投資家などでは時折耳にする有名な言葉らしい。「錬金術」というような意味合いで。「ふーん、まぁよくある神話。」くらいに思ったのだが、もう一度読んでみると「システム開発」や「サービス開発」について重要な示唆があるのではないかと感じた。クライアント(もしくは社内の営業さん)など「非開発者」とやり取りする際に「考えてほしい逸話」もしくは「共有するとよい意識」として使えそうだと思った。いうことで、このギリシャ神話がどういう神話なのかまずは原典をサラッと流してみる。(端折ったり意訳もあり。昔々、あるところに「ディオニュソス(バッカス)」という神様がいた。ある日、ディオニュソスの「師匠」が困っていたところを、ミダス王が助ける。ディオニュソスは、師匠を助けてくれたお礼にどんな願いも一つ叶えようと申し出る。そこで、ミダス王は「触るものをすべて黄金に変える力が欲しい」と言う。ディオニュソスは少し戸惑ったが、ミダス王の願いを叶えることにした。ミダス王は「ミダスタッチ」と呼ばれる「触れるものすべてを黄金に変える力」を手に入れる。この素晴らしい力を手に入れたミダス王は早速この力を試してみたくなる。目の前の木の枝を触ってみる。すると、木の枝が黄金に変わった!木にリンゴの実が成っていたので、リンゴをもぎ取ってみる。すると、リンゴが黄金に変わった!素晴らしい力を手に入れたミダス王。強力な力を手に入れて大喜びな王様は、早速お城に帰り「今宵は大宴会だ!」と言い盛大な祝賀会を行う。ミダス王は嬉々として、最高級の食事を用意させ、まずはパンを食べようとする。パンに触れると・・・パンが黄金に変わった。手で触れてしまってはすべてが黄金に変わるので、今度はおいしそうなチキンを手を使わずに口だけで食べようとする。すると、ミダス王の唇に触れたチキンは黄金に変わる。ミダス王は、せめて喉を潤したいと思い、ワインを飲もうとする。ワインも口に含んだとたんに黄金に変わる。文字通り「すべてのものが黄金に変わって」しまい、ミダス王は飲み食いすらできず衰弱していく。飢餓に耐えかねたミダス王は、ディオニュソスにもう一度お願いをする。「触るものすべてを黄金に変えるこの力を消してくれ」と。ディオニュソスは、「分かった。ある川に行き身を清めよ。川の水が能力を洗い流してくれる。ミダス王はディオニュソスの指示通りの川に行き身を清め、ようやく黄金の力を取り去ることができた。以上、ミダスタッチの物語。その後、神話は「王様の耳はロバの耳」物語へとつながっていくのだけど、それは割愛。ミダスタッチの意味するところこの神話からどのような教訓を感じ取るか?おそらく、一般的な教訓としては人間の欲望には際限がなく、そして際限のない欲望は身を亡ぼす。いうことだろうと思う。(私の第一印象)神話や昔話では、非常によくある教訓である。読んでみると、IT技術者(エンジニア)の私はこの「ミダスタッチ」はシステム開発やサービス開発などにおいて非常に重要な示唆を含んでいるのではないかと思った。そこで、ミダスタッチ神話をシステム開発あるあるにアレンジしてみた。ミダスタッチ・システム開発あるあるverある日、クライアント(ミダス)が言った。「触るものすべてを黄金に変える機能(ミダスタッチ)が欲しい」と。エンジニア「可能です。時間をかけて丁寧に要件・仕様を詰める必要があります。」クライアント「なんでそんなに細かいところまでいちいち詰めなきゃいけないんだ、私が欲しいのはミダスタッチだけ。」エンジニア「できます。基本機能だけでは、きっと色々と困ること(例外など)も出てきます。」クライアント「単にミダスタッチが欲しいだけ。例外のために丁寧に要件を詰めていくなんて煩わしい。一刻もはやくミダスタッチを。」かくして、エンジニアはクライアントの意向に従い「触るものすべてを黄金に変える機能」を開発した。エンジニアがシステムを納品すると、クライアントは大喜び。クライアントは早速機能を試す。クライアント「すばらしい!木の枝が黄金に変わった。これだこれが欲しかったんだ!」クライアントは、大喜びで次々とミダスタッチを試す。クライアント「ちょっと待て、なんでパンが食べたいだけなのに、パンが黄金になるんだ!『食べ物』が黄金に変化するのは大問題だからすぐに修正して!」エンジニア「いや、触るもの『すべて』を黄金に変える機能なので当然ですが・・・」クライアント「ちょっと待て、なんでチキンが唇に触れただけで黄金になるんだ!?私が求めているのは『手で触れた場合だけ』。手以外に触れた場合は黄金にならないようにすぐに直して!」エンジニア「いや、『触れる』という要件定義しかしていないので・・・。」クライアント「ちょっと待て、なんでワインという『液体』まで黄金になるんだ!液体まで黄金にして欲しいとは頼んでいない!」エンジニア「いや、『触れるものすべて』という要件に沿って開発したので当然なのですが・・・。細かい例外を設けたいのであれば、しっかりと仕様を詰める必要がありまして。」クライアント「ええーい、煩わしい。そんなのはお前が自分で考えて『いい感じ』に決めて。」エンジニア「その『いい感じ』にするために、丁寧に仕様を詰める必要がありまして。そのためには私の考えだけでなくクライアントさんの考えが必要で・・・」クライアント「ミダスタッチ全然使えねー。コストかけて作ったのに!」ミダスタッチが共有されたら私個人的には、昔このような状況になることも多少経験しているが、今は幸いにして当たることがなくなって久しい。(自分の身の回りの理解あるクライアントさんには感謝しかない。)もしかすると、エンジニア側にもクライアント側にも「きちんと対話していくことの大切さ」「システム開発は一方的なオーダーではなく、一緒に作るもの」という感覚が徐々に広がってきているおかげかもしれない。(個人的にも強く対話を求めるが・・・)が、自分自身は経験しなくなったとはいえ、おそらく世の中にこういったやり取りはまだまだたくさん存在しているのではないかと思う。(ですよね?)そういった場合、このミダスタッチのギリシャ神話についてクライアントさん(もしくは自社の営業さん)に話してみてはどうだろうか。パンは黄金に変えますか?唇に触れたら黄金にしますか?ワインも黄金にしますか?「触るものすべてを黄金に変える」というだけの要件では、満足いくモノは得られないかもです。クライアントサイドも、この逸話を思い出すことで「本当に自分が欲しいモノ」を作るためには、しっかりとエンジニアサイドと対話し協力していく必要があると思えるのではないだろうか。パンはどうしよう?ワインはどうしよう?と考えることで、きっと経営のコアバリューやサービスのUXについて深く考える良い機会やきっかけにもなるんじゃないかなと思います。(UXデザインってそういうことですよね。)※他にもデザイナーさんなど対話が重要なクライアントワークでは活躍する逸話かも。(自分もミダスタッチでオーダーしているかもしれない。)どちらサイドにしろ、あ、それはミダスタッチかもですねー。丁寧に考えましょうか!とお互いに言えて理解し合えると、システム開発はもっと幸せなものになり、価値あるものを生み出せるようになるのではないかなと思ったり。少なくとも、ミダスタッチが少し共有されることで、クライアントワークが少し幸せなものになったのなら不遇なミダス王もきっと喜ぶに違いない。電子工作DaisukeAlexaの最新ライブラリが発表されたのに便乗して今や音声入力インターフェースが花盛り。アメリカさんでは一家に一台AmazonEchoなんて言われるくらい浸透してて、GoogleもGoogleHomeで追随中。iOSにはSiriさんがいるし、Windowsにはcortanaくんが。日本でもLINEが「WAVE(Clova)」という音声インターフェースを発表したことが話題になった。(先行申し込みした人にはそろそろ届き始めている頃かな。)そんなこんなで、音声入力インターフェースが「ポスト・スマホの最有力」なんて言われたりするものだから、世界中で巨人達が熾烈な争いを繰り広げている。そんなさなか、amazonが二週間ほど前に最新のAlexa用公式ライブラリ(SDK)を発表。Echoもどき」を作ってみようかな、動かしてみたいし・・・という軽い動機にて。Echo(Alexa)をラズパイで自作(DIY)してみます。SDKの勉強も兼ねて!)ちなみに。SDKのGithubリポジトリはこちら。Guide”を用意してくれているので、これをなぞるだけで、Alexaが動くよ!(らしいよ。)なので、コマンドラインを少しでも扱える人なら誰でも簡単にラズパイでAlexaが作れちゃう。)いや、コピペするだけなので、最悪コマンドラインが分からなくても作れちゃう!(らしいよ。)と思っていたら、結果的に「かなりの忍耐力」を要求されたことだけは先に言っておきます。(エンジニアなら知っているはず、「道を知ることと道を行くことは全く違う(モーフィアス)」。)もう一度言っておきます。「コピペ」するだけでラズパイを使ってAlexaを構築可能であることに間違いはない。コンパイルの待ち時間などが超長かったりドキュメントに不備があったりで、「忍耐」が必要という覚悟を持って臨むべし。前置きが長くなった・・・・。Pi2」があったのでそれを使用します。Pi3で、2よりも随分と処理能力が上がっています。ラズパイ3を使うと、もしかしたら「私が苦しんだAlexa構築時間」がラズパイ2の半分くらいの時間で済むかも。3)で楽しく格安ディスクトップPC構築ちなみに、Alexaはマイクから音声を拾って、スピーカーを通して返事を返すので、上記説明とは別にラズパイに繋げる1マイクと2スピーカーは必須です。私は、マイクとスピーカーをamaoznで激安で購入。(ちゃんと動いたよ)あとインターネットにも繋がる必要があるので、有線LANケーブルかUSBのWifiを用意。(ラズパイ3だと、WiFiが標準装備なのでWiFi子機は不要だね。1000円Alexa(AVS)動作までのステップを確認しておこうAlexaを構築作業に着手する前に、構築のステップを大まかに把握ね。SDKを動かすために必要なライブラリをインストールする。(これが時間かかる)Alexaの実行環境が整ったら、公式サンプルをダウンロードしてきてビルドする。ビルドしたアプリを立ち上げて、マイクに向かって”Alexa!”と呼びかける。Developerに登録する(以下の登録は、ラズパイでやってもいいし、PCで作業してもOK。私は普段使っているMacでやりました。Developerにアクセスし、ログインする(アカウントが無い人はアカウントを作ってログイン)。PRODUCT“を選択。これ、全部スクショとってたらアップしてたら記事がめっちゃ読みづらくなりそう・・・。あと、スクショ撮っても画面やUIって頻繁に更新されてすぐに参考にならなくなるしね、できるだけ文字で解説します。PRODUCT”をクリックすると入力フォームが出てくるので、各項目を解説しておきます。“Other”を選択。GitHub”と入力。プロダクトの簡単な説明。project.”とか入力。“Touch-initiated”と”Hands-free”を選択。プロダクトのアイコンね。