見出し画像

WWDC23 Swift Student Challenge Winnerになった

 2023年のWWDCで開催されるSwift Student ChallengeのWinnerに選ばれました.大会概要と過去の受賞作品,今回受賞した作品について書きます.そもそもSwift Student Challengeの日本語の受賞記事が少ないので,この記事が今後チャレンジに参加する学生の役に立てばうれしいです.


Swift Student Challengeってなに

毎年6月ごろに行われるWWDC(Appleのデベロッパーカンファレンス)で一緒に開催されるアプリコンテスト.

Appleは、これまでも長い間コーディングを愛する世界中の学生のみなさんをサポートしてきました。今年もぜひSwift Student Challengeにご参加ください。好きなトピックを題材に作成した、素晴らしいAppプレイグラウンドを提出して、コーディングへの情熱を披露してください。

https://developer.apple.com/jp/wwdc23/swift-student-challenge/

簡単に言うとAppleが「学生のみんな!Swift Playgrounds(iPadでもコーディングできるiOSアプリ(ざっくり説明))でおもしれーアプリ作ってくれよな!ついでに若いSwift Engineerの人口増えてくれ!」みたいなことです.

Swift Student Challenger Winnerと言っていますが,世界全体で350人程度とまあまあな人数が選ばれ(2022年),そのうち3人が優勝者としてWWDCでプレゼンの時間をもらえます.僕は今回は優勝できませんでした.

参加資格

詳細は公式ページの参照をお願いします.超ざっくりすると
・学生(いずれかの教育機関(大学・高校など)に直近で所属)
・フルタイムのエンジニアとしての活動の実績がない(つまりフルタイムじゃなければOK.僕自身はフルタイムのエンジニアとしての活動経験はない)
基本的に学生であれば参加できるものとして認識して問題はないでしょう.

提出物の内容

提出するのはアプリのzipファイルと応募フォームです.フォームはアプリの説明や自分の開発背景の説明,自由記述などがあり,それも審査対象です.

Appプレイグラウンドで、3分間以内で体験できるインタラクティブなシーンを作成してください。クリエイティビティを発揮しましょう。インスピレーションを得たい場合、提供されているテンプレートを活用すると、より高度な作品が作りやすくなります。グラフィックスやオーディオなどを追加して、独自のAppプレイグラウンドを構築してください。

Apple「3分で遊べてめっちゃワクワクするネットを使わないアプリ作って!」ということです.アプリを作る際の肝になるのは「インタラクティブなシーン」の解釈です.僕はここでめちゃくちゃ悩みました.

また審査はオフライン環境で実行されるため,WebAPIなどは使えません.まさにiPad”だけ”で体験できるインタラクティブなシーンを作ることを求めています.この制限は結果的にSwiftしか書けない初心者と経験者の差が小さくなります.もしもこの制限がなかったら自分でサーバー側も書ける人の方がアプリ開発の幅が大きく広がり,プログラミング初心者がそれに対抗するのは厳しいです.Swiftのコーディング能力とアイデアに絞ってチャレンジに挑むことができるというのは,初心者にとって有利に働き,新しくSwiftを学ぼうというモチベーションを与えます.特に2週間という短い開発期間ではアプリの作りこみの差も出にくく,Swiftをこの機会に勉強してみてチャレンジに参加してみたという初心者も多くいるでしょう.

過去の受賞作品

まず過去の受賞作品を見て見ましょう.インタラクティブなシーンというふわっとしたビジョンでアプリを作るのは難しいので,Appleのイメージするインタラクティブなシーンを過去の受賞作品から考えてみます.
過去の作品はローカル環境で実行できる必要がなかったり,2023年の条件に比べてゆるいため,自由度の高いアプリが多いです.

WWDC22 Swift Student Challenge

優勝者3名のアプリ
CoreMLを用いたガーデニング好きのおじいちゃんのための雑草検出アプリ
育児や住居や助成金の受給の手伝いをしてくれる機関と連絡をとるために翻訳してくれる人を地域で探したりするためのアプリ
自分の性自認に疑問を持つ人々がさまざまな代名詞を試すことができるアプリ

他のWinners

WWDC21 Swift Student Challenge

コロナ禍で,その関連と衛生面に関してのプロダクトが多いです.また,この年はジェンダーについても審査員からの言及もありました.

優勝者3名
・ボランティアと免疫的にリスクのある個人をペアにして、重要な商品を玄関先まで届けるアプリ
・消化器疾患を抱える人々が情報やリソースにアクセスできる手段を提供するアプリ
・ハッカソンの関連のアプリ(アプリの詳細不明?)

Winners

Apple's vice president of Worldwide Developer Relations and Enterprise and Education Marketing, Susan Prescott
"This year, we are incredibly proud that more young women applied and won than ever before, and we are committed to doing everything we can to nurture this progress and reach true gender parity,"

https://unstop.com/blog/indian-origin-teen-among-winners-of-apple-wwdc21-swift-student-challenge

WWDC20 Swift Student Challenge

優勝者3名
・性的暴行について生存者が安全で簡単かつ敏感な方法でリソースにアクセスできるアプリ
・パンデミックが人口をどのように移動するかをシミュレートしながらコーディングを教えるアプリ
・QRコードをスキャンするまで鳴りやまない目覚ましアプリ

Winners

インタラクティブなシーンの解釈

過去のSwift Student Challengeから僕個人の解釈です.Appleにとってのインタラクティブなシーンとは,「明確なアプリのユーザー像(ペルソナ)に対して,そのアプリがユーザーの問題を解決・または軽減する」と解釈しました.

シーンのアプローチについてですが,その方法は様々です.別にARやVR,物理演算,AIなどの技術を無理に使ったりする必要はなく,シンプルな1画面構成のアプリでももちろんOK.昨年の優勝者のアプリも画面構成などもかなりシンプルであり,シーンの内容に重点が置かれていることが伺えます.

Swift Student Challengeに挑戦するぞ

Swift Student Challengeに挑戦するまでの流れを含めて記載します.

提出までの流れ

4月初め頃 Swift Student Challengeの審査詳細発表
4月初め頃 Swift Student Challengeのアプリ開発
4月中頃 詳細発表後2週間でSwift Student Challengeの締め切り
5月初め頃 Swift Student Challengeの審査結果発表

上記のように,Challengeの詳細が判明してから2週間で提出し,1か月後には結果が出ます.2週間でアイデア出し,実装,デバッグなどを行うので思ってるほど時間はないです.

開発環境Swift Playgrounds

前述の通り、iPadでもプログラミングできるようになiOSアプリです.当然Macでも使うことができ、作成したコードは基本的にはMac, iOSの両方で実行可能です.審査はiPadで行われるため、(たぶん)iPadのSwift Playgroundsで審査されます.

ちなみにiPadのSwift Playgroundsで書くと補完などが少し弱く、またキーボード入力の最適化がXcodeより微妙なので使いにくいです.そもそもコードを書くのにiPadだけで書くのは不便です.不可能というわけではないので,iPadしか持っていなくてもこのチャレンジに参加することは可能です.
実際の開発ではXcodeのApp Playgroundを選択し,プロジェクトを作成すれば .swiftpm のファイルをMacで作成・編集するほうが便利です.この作成したファイルはAirDropなどでiPadに共有すればiPadのSwift Playgroundsでも実行できます.

提出したアプリ

ARのピンポン玉のリフティングアプリです.
コードはGitHubに上がってます(提出時間ギリギリまでコードを直しており,ブランチも作らずにmasterにpushしまくっているのは気にしないでほしい)

実際の実行している動画.

なぜこのアプリにしたのかというと,僕の90歳くらいのおばあちゃんの運動機能が衰えており,さらに認知症を発生し始めており,そのリハビリとして考案しました.これで遊べば多少はバランス感覚と反射神経の訓練になるのでは,ということですね.

提出したフォーム

自分の開発背景の説明,自由記述については色々書きましたが,だいたいこんなことを書きました.

Tells us about the features and technologies you used. 350words
・アプリの想定ユーザー
・アプリが想定ユーザーに起こす影響
・アプリのインスピレーションを受けた要因
・アプリに使われている技術(今回はAR)
・アプリの使い方

Beyond WWDC23 (optional) If you've shared or considered sharing your coding knowledge and enthusiasm for computer science with others, let us know.
・自分がプログラミング教室で中高生にプログラミングを教えるという普及活動に取り組んでいることについて
・自分の簡単なSwiftのコーディング経歴
・ハッカソンに自分のテックコミュニティなどに参加している経歴

Apps on the App Store (optional) If you have one or more apps on the App Store created entirely by you as an individual, tell us about them. This won‘t influence the judging process.
・個人だけでリリースしているものはなかったのでなし

Comments (optional) Is there anything else you‘d like us to know?
・今回のWWBCめっちゃ楽しみだ!
・Appleのアプリデザイン好きだ!
・SwiftUIのドキュメントもう少し充実出来ねえかな!?

ここで「Apple Parkに招待したら来る?」的な項目があるのですが、これはWinnerだけで選考されるため、通常のApple Parkへの出席応募とは別にチャンスがあります。僕は両方ダメでApple Park行けませんでした。残念。

結果

Swift Student Challenge Winnerに選ばれました.時間になったらSwift Student Challengeのページにアクセスし、応募したiCloudアカウントでログインするとこんな感じで表示されます。

WWDCのパーカーとAir Pods ProがもらえてSwiftの認定試験を無料で受けられるなど色々な特典がもらえます.うれしい.

内容
・おめでとうレター
・AirPods Pro
・WWDC23パーカー(サイズでけえ)
・ピンバッジ(Winner用の非売品らしい)

WWDCパーカーは背中の文字が微妙にダサいのとサイズがデカかった.Mサイズで日本のLくらいありそう.箱がいいつくりのせいで捨てるのに手間取った.

他の受賞者について

昨年も受賞していた大学の研究室から2人の受賞がありました。(大学の研究室でアプリ作って受賞すると記事になっていいな…僕は数学科でこの開発は完全に趣味なので)内容は両方とも日本の伝統に関するものです。昨年の受賞者も同様に日本の文化に関するものを選んでいます。
次回のアプリ開発の際にはこの方針も選択肢していこうかなと思いました。

おまけ ボツにしたアイディア

ボツにしたアイディアとアプリたち.いくつか作りかけがGitHubに転がってる.

紆余曲折したせいで結局提出したアプリを作るのに2,3日しか取れなかったです.マジで計画性って大事ですね.「面白いかも!」で実際にほどほどに実装してみて「やっぱこれ面白くねーわ」って言って進捗を捨てることを上のスクショのアイディアだしの数だけやりました.

受賞後にあったこと

Today At Apple

受賞後にはApple様よりToday At Appleのイベントにご招待いただき、開発についてお話しさせていただく機会を得ました。

日本のWinner同士で会う機会や交流の機会を頂けたので非常に素晴らしいイベントでした。めっちゃ楽しかった。

この記事が参加している募集

この記事が気に入ったらサポートをしてみませんか?