Swift playgroundで、少しずつ世界を変える

今年、世界中の学生たちがWWDC20 Swift Student Challengeに参加し、Swift playgroundのプロジェクトにその創意と情熱を注ぎ、強い意志を持って取り組みました。60の国と地域の学生がその才能を持ち寄り、3分という制限時間の中で想像力を駆使し、Appleのテクノロジーとフレームワークを追究しました。そして350名のSwift Student Challenge入賞者が、AR体験、機械学習を使ったプロジェクト、教材、ヴァーチャル楽器、8-bitゲームなど、さまざまなアイデアを生み出しました。

スワイプで広がる可能性

2019年、Henrique ConteはブラジルのポルトアレグレにあるApple Developer Academyでわずか1か月間勉強した後、初めてSwift playgroundのプロジェクトを提出しました。その年はWWDCスカラシップを獲得できませんでしたが、その経験は、彼が自分のコードをさらに探求し、洗練させ続ける原動力となりました。 「さまざまなAppleフレームワークについて読み、学んできたので、今年は、WWDC19のメインテーマである『コードを書こう。世界を動かそう(Write code. Blow minds.)』を実践してみようと思ったのです」。こう語るConteは、それを実行しました。彼の受賞作は、MacBook ProのTouch Bar向けにデザインされた3分間のゲームで、技術性と創造性の両方において優れています。

プレイヤーはplayground内で、若き開発者Eleanorが洞窟から脱出するのを助けます。新機軸は、「洞窟」のレベルがTouch Bar内にあるという点です。「珍しいフレームワークを選んだのは、すごいことができると見せたかったからです」とConteは語ります。「(Touch Barには)未知の可能性がたくさんあり、その一部を示したかったのです」

Henrique Conteの受賞作「ESCape, Eleanor!」

これまでmacOS向けに開発した経験はなかったものの、Conteは迷わず挑戦しました。新たな開発コンセプトを学ぶ時の常として、初めはいくつかの障壁に直面しました。「『UIKitというモジュールはありません』というメッセージが(これを課題作品に追加しようとした時に)出た時、面白くなりそうだぞと思いました」。そう冗談めかして言うConteですが、彼はMacのプログラミングの基礎を瞬く間にものにし、AppKitとSpriteKitを使って、タップ、スライド、キーボード統合、マルチスクリーンのストーリー進行を含む完全双方向型の体験を構築しました。Conteはデザイン面にも多大な注意を払っています。デザインは彼にとって非常に重要なものになりつつあります。

Conteは次のように語ります。「私は、デザイナーではありません。しかしここ数年で、AppleのHuman Interface Guidelinesに則って素晴らしい体験を提供するには、デザインが非常に重要であることがわかってきました。いくら完璧なコードを書いても、Appの使用に問題があっては意味がありませんからね」

App Storeには、Conteの作品がほかにもあります。昨年は、自閉症の子どもたちのコミュニケーションを支援するAppを含む、4つのAppを制作しました。現在は次のプロジェクトに取り組んでいます。iOSとmacOSの両方に対応した、食品廃棄物の問題をテーマにしたもので、macOS版にはTouch Barを用いた機能を搭載することになったとConteは喜んでいます。

逆さまの世界

フランスのリヨン出身、21歳のLouise Pieriは、幼い頃からコンピュータサイエンスに夢中でした。やがて彼女は、フランスの実業家Xavier Nielが設立したプログラミング学校であるÉcole 42に進学しました。Pieriの受賞作「Meep」は、科学誌で読んだ並行宇宙の可能性と、トランスジェンダー女性である彼女自身の経験からインスピレーションを得たものです。

「『Meep』は2つのレベルを持つゲームです。1つは上下が逆転する世界、2つ目は正常な世界です」とPieriは語ります。「これは、最終レベルに到達してピンクになりたいと願う、小さな青いトランスジェンダーのモンスターの物語であり、トランスジェンダーの人生への美しい暗喩です」

Louise Pieriの受賞作「Meep」

SpriteKitやAVKitの使用経験はなかったものの、Pieriは、Swift playgroundのプロジェクトとしてゲームを製作したいと思っていました。彼女は2日間でアイデアを練り上げ、「Meep」のコンセプトにたどり着き、すぐにフレームワークとインターフェースに着手しました。初めは、「Meep」の2つの宇宙を1つの画面に表示したいと考えましたが、最終的には、レベル全体を逆さまにするなどのマルチレベルの体験を作り上げることにしました。

ゲームのデザインやコーディングに加えて、Adobe Illustratorを使って、各レベルで用いる独自の2Dアートワークを製作し、ストーリーも創作。そのすべてを2週間足らずで行ったのです。

今年のWWDC20にフランスから参加したPieriは、特にAppleプラットフォームの将来に強い関心を抱き「iOS 14を学ぶのが楽しみです」と述べています。これは、彼女の次のプロジェクト、「Meep」のApp Storeでのリリースに大いに役立つでしょう。

考えるロボット

Devin Greenの開発への熱い想いは、思考装置に対する深い興味から始まりました。「私は常に人工知能に畏敬の念を抱いています」と彼は話します。そのアイデアから誕生したのが、18歳の彼の受賞プロジェクトである、「Stanny」という名前のAIボットでした。

「今、世界中で起きていることを踏まえ、人々が孤立している状況下では、高性能なAIの友だちとの会話が、精神的健康を向上させるのに役立つのではないかと考えました」と彼は言います。この秋、コンピュータサイエンスとエンジニアリングを学ぶためスタンフォード大学に入学するGreenは、約1週間をかけてplaygroundのプロジェクトを開発しました。ほとんどの時間は「Stanny」の「知性」を生み出した機械学習モデルの改良に費やしました。

「このモデルは『Stanny』に向かってユーザーが言いそうな言葉を集めたデータファイルを用いてトレーニングされています」とGreenは語ります。チャットボットのトレーニング事例を研究した後、GreenはTensorFlowで独自のモデルを作成し、Core MLコンバータを使ってXcodeに基づくplaygroundに取り入れました。

Devin Greenの受賞作「Stanny」

機械学習モデルの実験に慣れているGreenは、このプロジェクトを利用して、Appleが提供しているMLをより深く知ることができました。「データから使用可能な人工知能への移行を可能な限りシンプルにしたかったのです」と彼は話します。NSLinguisticsTaggerを使ってワーキングモデルを構築し、次にクエリをもとに人の意図を予測する生成Core MLモデルを作成し、SwiftUIで独自のplaygroundを設計したのです。

Greenは、Swiftに機械学習とAIの活用の未来を見いだしています。「Swiftは言語の使用をシンプルで簡単にしてくれるだけでなく、拡張性に富んでいます」とGreenは語ります。「何でもできるような形に設計・追加することが可能なのです」

「Stanny」の機能はまだ未完成です。冗談好きなこのAIは、63種類の意図にしか対応できません。しかしGreenは大きな計画を抱いており、WWDC20で発表されたテクノロジーの一部を採り入れるのを心待ちにしています。「自然言語フレームワークは驚くべきものです」と彼は言います。「機械学習にSwiftを使うことに対する疑念も、自然言語処理アプリケーションが5行ほどのコードでテキストを理解しているのを見ると、すぐに消えてしまいました。私が作った『Stanny』のようなプロジェクトは、100倍よくなるはずです!」

デザインとしてのコードデザインとしてのコード

初受賞となったRenata Pôrtoにとって、このチャレンジは自らの自信喪失と向き合う機会となりました。「デザイナーとして、複雑なアイデアをコード化する自分の能力に、私はいつも不安を感じていました」と彼女は言います。ブラジルのレシフェにあるペルナンブコ連邦大学に通う21歳の彼女は、過去に2度、Swift playgroundの課題に失敗した経験がありましたが、再び提出することを決意しました。しかし、数日作業した後、彼女は手掛けていたそのプロジェクトを中止しました。

「私は、『安全な』アイデアでそのまま進めていくことに納得していなかったのです」と彼女は振り返ります。その代わりに、彼女はやってみたいとは思ったものの、まだ手をつけていなかった、ジェネラティブアートなどのコンセプトを検討し始めました。「私がいつも、プログラミングの魅力の一つだと思うのは、コードの行を視覚的でインタラクティブな体験に変換できるということです」と彼女は言います。そして、わずか6日後、彼女は「Polar Patterns」というSwift playgroundを作り上げました。これは、ユーザーが数学のバラ曲線について学び、独自のビジュアルアートを作ることができるというものです。

「SpriteKitを使って、バラ曲線の極方程式をSKShapesに変換することができました。処理結果を公式から視覚要素に変容させたのです」と語るPôrto。彼女が作った画像は2つだけで、それ以外はアルゴリズムのコードといくつかのUIKit要素に頼り、全体のビジュアル体験が生み出されています。

Pôrtoにとって、完全にプログラム化したアートインターフェイスをデザインするというのは、今までにない経験でした。「私はプログラミングの前にプロトタイピングをすることに慣れています」。しかし、このプロジェクトで生み出される体験は、playgroundでのユーザーの行動によってダイナミックに変化します。そのため、Pôrtoにとってはインターフェイスを完成させるために視覚化と実験を繰り返すことが重要でした。

Renata Pôrtoの受賞作「Polar Patterns」

その結果、バラ曲線の美しさと複雑さがSwift playgroundに現れ、Pôrtoの作品の受賞へとつながりました。「デザインを学ぶ学生でありながら、開発について学ぶことができたのはとても嬉しいです」と彼女は話してくれました。「デザインの勉強をすることで、人々への共感を実践できるようになり、より良い結果を得るためにはどのようなリソースを使い、どのように彼らと協力していくべきかを知ることができました」

彼女は引き続きこの共感の実践を行っており、地元の開発者グループと協力して、自身のコミュニティで新しい開発者のための教育ツールを作成する取り組みにも生かされています。彼女は次のように語ります。「私はいつも自分のデザインの知識を開発者に伝え、開発の知識をデザイナーに伝えるようにしています。そして、いつか彼らが人々の生活に変化をもたらす製品を作ってくれることを願っています」


Swift Student Challengeの入賞者についてさらに詳しく

未来を担うSwift Student Challenge入賞者が決定

View now

App Store: Meet the Swift Student Challenge winners