ハッカソンJunction2019優勝チームから学んだ事

先日11月15~17日にフィンランド・エスポーで行われたJunction 2019というハッカソンに参加してきました!

YouTubeでも似たような内容をフィンランド語で喋っています。興味のある方はこちらも見てみてください。


ハッカソンとは?

まずそもそも、ハッカソンとは何かを聞いたことがない人もいるかもしれないので少しだけ説明を。

ハッカソン(Hackathon)とは、ハック(Hack)とマラソン(Marathon)を掛け合わせた造語です。この文脈ではハックは「プログラミング」を意味するので、「プログラミングマラソン」と表現した方がイメージしやすいかもしれません。

ハッカソンは大抵週末に2~3日かけて行われるイベントで、今回はフィンランドのヘルシンキから電車で30分弱のエスポ―に世界各国から参加者が集まりました。この限られた時間内にほぼぶっ通しでプログラミングし続け、急ピッチでアプリ開発をする、という内容です。僕も2日目の夜は3時間しか寝れなかったw

ハッカソンはチーム戦形式の競技会でもあるので、上位入賞チームには賞金与えられ、さらにはIT企業とお近づきになるチャンスもあります。

優勝チームのメンバーとのやりとり

で、ひょんな事から僕は今回のハッカソンの優勝チームのメンバーとつながりがあります。僕は元々このイベントには個人でエントリーしたのですが、「現在メンバーが4人で5人目を探している」というチームに大会前に入れてもらう事ができまして、このチームのメンバーと優勝チームのメンバーの1人が大会前の時点で既に友達同士だったのですね。

なので、僕は彼らが優勝する前から顔を合わせていましたし、連絡先も交換できていたのでハッカソンが終わった後でもやりとりができた、というわけ。

僕も個人的に今回優勝を勝ち取ったアプリは素晴らしいと思ったので、Facebookで友達になったメンバーにこのアプリの事をネット上で公に話してもOKか聞いてみました。すると、

OKという返事だったので、今回の記事のテーマはこれに決定。

僕がどういう経緯でハッカソン参加に至ったのかとか、ハッカソンでの僕の個人的な体験談などについては次回の記事でもう少し詳しく書きますね。

優勝チームのアプリ、Tassu Passuの概要

今回のハッカソンで優勝を勝ち取ったアプリの名前はTassu Passu

子供でも簡単に覚えやすくて安全なパスワードが作れるアプリです。

そもそも、従来のアルファベットや数字を組み合わせる方式だと何がいけないのでしょうか?まずは従来型パスワードの2つの問題点を見てみましょう。

1つは、”abcd”, “12345”, “password”などのあまりにも簡単すぎるパスワードを設定してしまう人が多いという事。これらのパスワードはたしかに覚えやすく忘れにくいのですが、その反面簡単すぎるが故に破られてしまいやすいという致命的な弱点があります。

一方で、大文字と小文字と数字を組み合わせた、例えば”FuKu2atsuAnG0u”みたいなパスワードは、「あれ、どこを大文字にしたっけ?」とか「どこに数字を入れたっけ?」とか、そもそも部分的に忘れたとかではなくパスワードそのものを完全に忘れてしまう、という事も珍しくありません。安全度は上がる反面、覚えにくく忘れやすいという事です。

Tassu Passuが従来型のパスワード生成と大きく異なるのは、文字や数字ではなく画像を組み合わせるという事。動物や食べ物や乗り物など、多種多様なアイコンが用意されており、この中から好きな者を選ぶ事で自分だけの「話の流れ」ができあがるのです。

画像の組み合わせのパターンは膨大で、その数は数十億にも上るのだそう。なるほど、あてずっぽうに入力するだけで誰かのパスワードを破れる確率は極めて低いですね。

なぜTassu Passuは勝てたのか?

さて、ここで何故このアプリがこれほどまでに高い評価を受けたのか、考えられる要因を以下にまとめてみました。

まず1つ目は、「複雑な問題をシンプルにしている」という事。

今回のハッカソンJunction2019には「セキュリティ部門」、「ゲーム部門」、「Eコマース部門」など、いくつかの部門があったのですが、Tassu Passuをリリースしたこのチームは「セキュリティ部門」での参加でした。

セキュリティというと、なんだか複雑な事をたくさんやって、完成したアプリのプレゼン内容も難しくてよくわかんないものになってしまうイメージがあるかもしれません。実際、2位となったチームはそういう「いかにも難しい」イメージの事をやってました。「半径〇㎞以内のネットワークにハッキングして、誰がどのPCやスマホで誰を相手にどんな会話をしているか全て記録に残すシステム」みたいなやつです。これはこれで確かに「おぉ、SUGEEEEE!」とはなるんだけど、一般市民の目からしてどう見えるかというと、やっぱり「難しくてよくわかんないもの」と認識されてしまうのではないでしょうか。

その一方で、Tassu Passuは凄くシンプルにしてある。もちろんプログラム内部ではいろいろと複雑な処理をしているんだろうけど、少なくともユーザーの目に見える表面的なレベルでは「誰でもわかる」ぐらいにシンプル。これって、「売れる商品」の多くが共通して備えている特徴なんですよね。

例えば、iPhoneとかiPadとかってみんな使ってるぐらいのレベルで浸透してますけど、あれだって操作方法ってメッチャシンプルですよね。指で触ったりはじいたりつまんだりするだけ。余計なボタンはついてない。

そして2つ目の点は1つ目と多少被るのですが、Tassu Passuは「1つの問題を解決する事に集中」できているという事。アプリ開発の場でついやってしまいたくなる事の1つが「いろんな機能をつける事」なんですけど、これは特にハッカソンみたいな時間が限られた状況ではやらない方がいいですねー。それに、機能を1つに絞った方が、「このアプリはこういう問題を解決するアプリなんですよ!」というメッセージが伝わりやすくなり、プレゼンでも有利になると思います。Appleのスティーブ・ジョブズも、

The beauty is in the simplicity(簡素である事こそ美しい)

と言っていますしね。

3つ目は、Tassu Passuというキャッチーな名前と、子供も気に入ってくれそうなデザインですね。

これはアプリの機能とは直接は関係ありませんが、ユーザーに支持されるかどうかで言えば決して軽視できない部分でもあります。

機能が優秀でも、表面的なデザインがしっかりしてないとやっぱりユーザーはなかなか引き込まれてくれないんですよね。ユーザーはプログラミングの知識のない人が大半で、裏側で起こっているロジックなんて意識してなくて、表面的に見えるものしか見てないんですから。だから表面の見た目が悪いとアプリ全体の印象も悪くなっちゃうわけです。

それから、名前は短くて覚えやすくて、尚且つどんなアプリなのかを言い表してるのがいいですね。Tassuはフィンランド語で犬や猫の手の事で、これをPassuと組み合わせてTassu Passuにする事で「動物のアイコン+パスワード」のイメージを作り出しています。韻を踏んでいるのもいいですね。

これがもし、長ったらしい名前だったら覚えられないわけです。例えばこれが

寿限無寿限無後光の擦り切れ… みたいに長ったらしい名前だったら、

10ゲーム10ゲーム後藤の振り逃げ… みたいに間違って覚えられちゃうかもしれないでしょう?w

ハッカソンはプログラミング+αの学びの場!

今回のハッカソンは僕のチームは残念ながら特に何の賞も獲得できませんでしたが、それでも収穫は多々ありました。

ハッカソンには今回紹介したTassu Passu以外にも優れたアプリを作っていたチームがいくつもあり、最終日のプレゼンを見てまわるだけでもかなり参考になりました。純粋に技術的にレベルが高い所もあれば、技術力単体で見ればそこまで難しくないけど、プロジェクトの根本的な発想そのものが面白くて「ああ、そういう考え方もあったのか!」と思わず膝を打つ場面も。

それから、こういう場所に集まると自分に何が足りないのかが見えやすいですし、奮起するきっかけにもなりやすいので、必ずしも技術力の高いプログラマーでなくても参加しちゃうのはアリだと思います。

そういえば、以前書いた記事

で、高校時代にボウリングで国体に出たと書きましたが、これだって最初から国体に行けるレベルだったわけではなかったですからねー。ボウリングで初めて全国大会に出たのは中学3年の時でしたが、この時は最終順位は下から数えて15番目ぐらいという惨敗だったなぁ。そこで初めて全国の同世代と自分のレベルの違いを肌感覚で思い知らされ、さらに練習に励み、高校3年で一応国体5位入賞したのでした。

プログラミングも当時のボウリングぐらいガチれれば「国体入賞」相当のレベルにまで持っていけるだろうか。あ、でも、ボウリングは中3から高3までで3年間あったのに対して、大学のプログラミングは卒業までもうあと1年半切ってるから、もっとペース上げないとイカンかも。

さて、記事の始めらへんでも書きましたが、次回はハッカソンでの僕の個人的な体験談です!お楽しみに!(^^)!

%d人のブロガーが「いいね」をつけました。