ヤフー主催の学生ハッカソン「HACK U 2021」の最優秀作品2点発表、傾向の変化も解説

ヤフー主催の学生ハッカソン「HACK U 2021」の最優秀作品2点発表、傾向の変化も解説

2021年8月、ヤフー主催学生ハッカソン「Hack U 2021」が2回に分けて開催された。いずれもオンライン開催で、合計54チームがエントリーしたが、チームのメンバー同士も集まることが禁止された完全オンラインの状況での参加となった。ヤフーは10月5日、その最優秀作品2点を紹介するとともに、2020年と2021年の参加者の傾向を分析し、ブログ記事「学生たちがハッカソンで使う技術トレンドは半年で変わったか?」で発表した。

ヤフーは、Hack Uを「夏の風物詩のようなものにしたい」と考えつつ毎年開催を続けているとのことだが、今回は両日とも1日で申し込みが埋まってしまうほどの人気だったという。小学生以上の学生なら誰でも参加でき、サポート役としてヤフーのエンジニアが付くという親切なイベントになっている。審査基準は、新規性(オリジナリティー)、技術性(技術の高度さ)、発展性(将来性や波及効果が期待できるか)、再現性(実現可能なアイデアか)の4つ。ブログでは、最優秀賞を獲得した2つの作品が紹介された。

「スローターム」(チーム名:この素晴らしいコードに祝福を!)

開発時に発生するプログラミングのエラーをワンタップで共有してくれるVisual Studio Codeのプラグインと、共有先のSNS両方を作り上げた作品。コード制作中にエラーをハイライトするだけで、GitHubでの質問文が簡単に作れる。さらに、その質問にうまく答えてくれそうな人を自動的に選んでつなげてくれる。コロナ禍で人に質問がしにくくなった問題を改善してくれる。

3pt Manager(チーム名:OAO)

バスケットボールの3ポイントシュートをiPhoneで練習できるアプリ。シュートするごとにiPhoneがボールの軌跡を取得し、角度のデータを蓄積する。毎日の練習結果がグラフ化されるので、効率的に練習ができるというものだ。

参加者が使用しているプログラミング言語と開発環境の傾向

同ブログでは、2020年と2021年のHACK Uで、参加者が使用しているプログラミング言語と開発環境に違いがあるかを分析している。使用言語は、どちらもJavaScriptとPythonがトップと変わらないが、2021年はRubyが上位に入ってきた。2020年はRubyを使うチームは1割に満たなかったのに対して、20201年はPythonに次いで3位に上がってる。その理由は、大学の年次に関係があると、筆者であるヤフーCTO室Developer Relations Hack Uプロデューサー中村友一氏は書いている。参加学生は大学3年生が中心だが、去年2年生だった学生は、授業などで手軽に始められるRubyを使う機会が多くなったからだとの分析が面白い。

  1. ヤフー主催の学生ハッカソン「HACK U 2021」の最優秀作品2点発表、傾向の変化も解説

開発環境については、Flutter、React Native、Xamarinなど多くのOSに対応できるクロスプラットフォームフレームワークを利用するチームが増えたのこと。iOS、Android、ウェブのすべてに対応するソフトウェアの開発を目指すということは、チームが継続開発やサービスの公開を考えているためだと中村氏は分析した。

また同氏は、Dockerの浸透を挙げている。今回、Dockerを使いサービスのデプロイまで考えて作ってきたチームが大幅に増えたという。Dockerが学生にも浸透し始めていることがうかがえ、今後ハッカソンにおいても環境構築におけるメインストリームになるかもしれないと指摘している。

この2年間はオンライン開催のため、参加者同士の交流が制限されたが、「今後ハイブリッド開催になった時にどのように変化するかが楽しみです」と中村氏は話している。

江戸時代のくずし字をAIにより文字認識し現代の書体に変換(翻刻)するアプリ「みを」をCODHが無料公開

江戸時代のくずし字をAIにより文字認識し現代の書体に変換(翻刻)するアプリ「みを」をCODHが無料公開

データサイエンス共同利用基盤施設(ROIS-DS)人文学オープンデータ共同利用センター(CODH)は8月30日、江戸時代の版本に書かれているくずし字を現代の書体に変換(翻刻)するアプリ「みを」(miwo)を無料公開した(Android版iOS版)。開発者は、カラーヌワット・タリン氏。共同開発者は北本朝展氏とMikel Bober-Irizar氏。共同研究者はAlex Lamb氏、Siyu Han氏。

AIくずし字認識については、CODH開発の「KKuroNetくずし字認識サービス(AI OCR)」および「Kaggleくずし字認識コンペ」1位のtascj氏が開発したくずし字認識モデルを用いている。また両AIモデルの学習には、同センターが開発し国文学研究資料館が公開している「日本古典籍くずし字データセット」を利用。Flutterを活用したクロスプラットフォーム開発により、Android・iOS対応アプリを作成した。

みをでは、カメラでくずし字を撮影し、画面下中央の「認識ボタン」をタップすると、ほぼ瞬時にして画像の個々のくずし字の上に、対応する現代の書体が緑色で示される。画面下のスライダーを動かすと、翻刻されたレイヤーを部分的に隠せるので、原文との比較がしやすくなる。まだ完ぺきではないとCODHも言っているように、実際に使ってみると、たまに文字が抜けたり違っていたりもするが、まったくくずし字が読めない人間にすれば、かなりの助けになる。

原文または翻刻された文字をタップすると両方の対応する文字にマーカーが付く。また画面右上の四角形のアイコンをタップすると、認識したすべての文字が四角形で囲まれる。四角形は色分けされ、どの文字がどれに対応しているのかがわかるようになる。

またCODHのくずし字データセットと連携し、認識結果に疑問を抱いた際には、くずし字の用例を確認できる。

江戸時代のくずし字をAIにより文字認識し現代の書体に変換(翻刻)するアプリ「みを」をCODHが無料公開

CODHによれば、くずし字が読める人は、日本の人口のわずか0.01%程度(数千人程度)だという。歴史的資料は大量にあるものの、くずし字を読める人が少ないために翻刻には大変な時間がかかるのが現状だ。そこで、AIを使った翻刻システムを開発しようと考えたとのこと。アプリ名の「みを」は、「源氏物語」の第14帖「みをつくし」に由来する。航路を示す標識「澪標」を意味するが、「人々の水先案内となるように、「みを」アプリがくずし字資料の海を旅する案内となることを目指しています」とCODHは話している。

グーグルがFlutterツールキットをバージョン2に、デストップとウェブアプリをサポート

Googleはオンラインイベントでモバイルアプリ構築のためオープンソースUIツールキットのリニューアルを発表した。Flutterは2年前にモバイル分野をターゲットとしてスタートしたが、今回のバージョン2ではウェブとデスクトップのアプリをサポートするようになった。これにより、FlutterのユーザーはiOS、Android、Windows、MacOS、Linuxに加えてウェブでも同じコードベースでアプリを構築できることとなった。

Flutterの開発責任者であるTim Sneath(ティム・スニース)氏は私のインタビューに対してこう述べている。

バージョン番号が2にアップしたわけですが、これはウェブとデスクトップがサポートされるというピボットに対応したものです。1つのジャンルで確立しているプロダクトがこのように大きな機能追加をすることは滅多にありません。

 

画像クレジット:Google

スニース氏は「オープンソースであるということから、Flutterはコミュニティによってしばらく前からウェブとデスクトップのサポートが開発されていたので、こうしたエンドポイントが今回正式に追加されたことは驚くべきものではありません」と述べている。2.0のリリースでは新しいプラットフォームにおけるパフォーマンスを従来のものと同等にするためには困難な作業が多数あった。

しかしFlutterのデスクトップサポートで注意すべきなのは、これがまだ安定版ではないという点だ。公式リリースチャンネルではデスクトップサポートにはアーリーリリースのフラグが立っている。Googleのエンジニアは「ベータ版のスナップショット」的機能と考えてもらいたいとしている。一方、ウェブサポートはベータ版から安定版に移行しており、Flutterを使ってアプリを構築するための正式なターゲットになっている。

画像クレジット:Google

スニース氏はウェブプラットフォームについて「チームは標準化を強く意識して伝統的なDOMベースのアプローチで開発を始めました」と述べた。それは正常に作動したがパフォーマンス、特に高度な機能のパフォーマンスが大きく低下した。そこでの1年ほど前からチームはCanvas Kitの開発を始めた。これはバイナリにコンパイル可能なWebAssemblyをベースにしたプロジェクトで、AndroidやChrome自体を動かすのと同じSkiaグラフィックエンジンを採用し、ウェブアプリから利用できるようにした。スニース氏はこういう。

簡単にいえばウェブアプリがHTMLをバイパスできるようになったということです。HTMLはウェブアプリの中でテキスト処理を中心とする部分です。WebAssemblyを利用してさまざまなテキスト処理、入力の自動補完、パスワード、認証などインターネット独特のさまざまな作業が従来どおりできます。

画像クレジット:Google

デスクトップでは、GoogleはCanonicalがFlutterを全面的に支持し、今後のデスクトップおよびモバイルアプリのデフォルトの選択肢としてFlutterを採用することを発表した。

MicrosoftもFlutterのサポートを拡大し、Googleと協力してWindowsの Flutterサポートを進めていいる。MicrosoftがAndroidに強い関心を寄せていることを考えればこれは驚きではない。実際、MicrosoftはAndroidが折りたたみ可能なデバイスをサポートするためのFlutterエンジンへの貢献を発表している。

GoogleによればAmazon、Microsoft、Adobe、Huawei、Alibaba、eBay、Squareなどの主要テクノロジー企業からFlutterとDart用のパッケージが1万5000以上提供されているという。

通常どおり、2.0へのアップデートにはマイナーな修正や改良が多数加えられている。

スニース氏は、Flutterチームは組み込みデバイスやその他のやや伝統的ではないプラットフォームのフレームワークとして、Flutterにもっと多くの時間を割く予定だと述べている。また、Flutterがアンビエントコンピューティング体験の強化にどのように役立つかにも興味を持っていると述べた。

将来の展望についてスニース氏は「Flutterチームは、組込みデバイスその他の主流からやや外れるプラットフォームのフレームワークとしてFlutterを拡張するために時間を割く予定です」と述べている。またFlutterがユーザーが操作を意識することなく実行できるアンビエントコンピューティングの強化にFlutterが役立つかのではないかとしている。

スニース氏はこう説明している。

アンビエントコンピューティングの世界の背景にはいくつなの条件があると思います。アプリは簡単に検索できるか?作ったアプリで金を稼げるか、それらが責任ある方法でできるかなどです。我々は、アンビエントサービスへのサポートも構築しています。アナリティクス、広告のフレームワーク、FirebaseやGoogle Cloudなどへの接続性なども改良し、Flutterの機能を利用するだけでなく、Googleが提供する幅広いエコシステム全体が利用できるようにしていきたいと考えています。

カテゴリー:ソフトウェア
タグ:GoogleオープンソースFlutter

画像クレジット:Google

原文へ

(文:Frederic Lardinois、翻訳:滑川海彦@Facebook