ニュース
Swift Playgroundsが広げるiPadの可能性。ARも機械学習も指先一つで開発
2017年6月8日 06:15
アップルは、iPad向けに「Swift Playgrounds」というプログラミング学習アプリを無償公開している。子供がプログラミングを通して論理的思考を身につける、いわゆる「プログラミング教育」に関連するものである。
「なーんだ、自分には関係ない」と思ってブラウザを閉じようとした人、ちょっと待った。
WWDCでの取材により、実はSwift Playgroundsがさらに大きな可能性を秘めており、プロのクリエイターから個人にまで、非常に有用な道具になることが見えてきた。
秋のアップデートによって、ARや機械学習に伴うAIなど、広汎な機能を非常に簡単に扱えるツールになることがわかったからだ。
プログラミング学習をステップ・バイ・ステップで
冒頭で述べたように、Swift Playgroundsはプログラミング学習アプリだ。Swiftとは、アップルが現在提供しているプログラミング言語で、macOS・iOSなどのアプリ開発に使われている。Swiftは開発ツールとして「ガチ」に使うものなので、もちろん学習にはそれなりのハードルがある。Swift Playgroundsは、Swiftを言語として使いつつ、iPad上でより簡単にプログラミング(コード作成)の基礎を学べるように作られたものだ。
特徴は、学習のための「コース」が無料で大量に用意されていて、その場で結果を確かめられることにある。例えば最初のステップでは、白紙からコードを書くのはさすがに大変なので、「キャラクターを目的の場所に動かす」というゲーム的なところからスタートする。「キャラクターを前に動かす」というコマンドと「キャラクターを回転させる」というコマンドを順序良くつなげると、キャラクターを目的地まで動かすことができるわけだが、そうした「プロセス」がプログラミングである……と、遊びながら学ぶわけである。
Swift PlaygroundsはSwiftそのものを使っており、言語仕様は変わらない。ただし、本当にアプリを作る環境ではないので、そこからiOSアプリができるわけではない。それはMacの上で開発環境であるXcodeの領分だ。
ただし、Swift Playgroundsは、コードを書いたら「その場で動作を確認できる」という利点がある。「再生」ボタンを押せば書いたコードがすぐ動くのだ。コードを変えてみて挙動の変化を試す、というループを素早くし、遊び感覚で学んでもらうための工夫である。
秋にはARもAIも「その場で無料で」利用可能、個人の道具に
「それがどうしたの? やっぱり私には関係ない」
まだそう思うかも知れない。
でも、現状から未来へと順に見ていくと、その考えも少しずつ変わっていくだろう。
先週、アップルはSwift Playgroundsを「1.5」にアップデートした。このアップデートでは、外部のBluetooh機器をコントロールする機能が追加された。それはなんのためかというと、「ロボットを制御する」ためのものである。
現在市場には、おもちゃ・ホビーロボットとして、多数の製品がある。それらの多くは、スマホアプリなどからBluetoothで動かす機能を持っている。「ロボットを右に向ける」「手を上に上げる」といった命令をBluetoothでひとつずつ送ることで、ロボットをコントロールできるわけだ。
その特質を使い、Swift Playgroundsで、「ロボットを動かすソフト」を作れるようになった。この機能は、ロボットの側には一切変更が必要ない。スマホアプリが使っているBluetoothのコマンドを、そのままiPad経由でSwift Playgroundsが出すだけだからだ。そのためすでに、レゴ・マインドストームやSphero、Parrotのドローンなど、多数のロボットがコントロール可能になっていて、プログラミング学習のためのコースも公開されている。
物理的にロボットを動かすのは、ソフトを動かすのとはまた違った良さがある。それが無料のツールで、しかもBluetoothや組み込み機器の専門知識がなくてもできるのだから、子供だけでなく、そうしたものに興味がある大人にも魅力的な存在ではないだろうか。
そして、これが「秋」になるとさらに変わる。
秋には、Swift Playgroundsはさらに進化し「2.0」になる。
2.0では、同時期に公開される「iOS11」の機能のほとんど(具体的には、プログラミング学習では不要なプライバシー管理に関わる機能をのぞくすべて)の機能が、Swift Playgroundsの中から使えるようになる。
すなわち、iOS11の目玉機能であるARや、写真・音声・テキストなどの機械学習による認識機能なども、すべて使える、ということになるのだ。
これはなかなかにすごいことだ。
ARにAIにしろ、個人が簡単にその能力を活かすのは難しい。UnityやUnreal Engineなどの登場でハードルは下がったが、iPadの上で実際に動かしながらどんなことができるかを試せる、というのは非常に有用なものである。プログラミング学習の一環として使うこともできるだろうし、物理や生物、社会などの学習の道具として使うこともできるだろう。そして、クリエイターが自分のアイデアをとりあえず試してみる、プロトタイピングツールとして活かすこともできる。
特にARでは、どんなものが面白いか・有用なのかを理解するためにも、プロトタイピングを高速に回してやることが重要になる。Unityなどのゲームエンジンが必須とされるのはそのためだが、そのさらに前のレベルや、アプリ公開を目的としないレベルであれば、Swift Playgroundsが役に立つだろう。
本来、プログラミングは特別なことではない。
手続きに沿ってなにかをすることがプログラミング、と定義するなら、目覚まし時計をセットすることだって、ビデオの録画予約だってプログラミングだ。
ARやAIのようなものを道具として使うには、プログラミング能力は重要なものになる。その敷居を下げるものとして、Swift Playgroundsは使えるわけだ。
また、AIという観点で見れば、アップルの判断にはひとつ重要な点もある。
アップルはAIについて、クラウド側での処理を中心とはしていない。学習結果はネットでやりとりするものの、個人のデータから必要なものを抽出するAIの処理そのものはローカルで行なう。このことは、Swift Playgroundsのようなものからも容易にAIを活用可能にする一つの要素である。
子供のもの、と思われているSwift Playgroundsだが、実はここからも、アップルの戦略と方針が読み取れるのである。