僕は発展途上技術者

クックパッド「開発コンテスト24」に参加しました - その2

追記


開発コンテスト24 結果が発表されました。


» 第2回「開発コンテスト24」受賞作品発表 | クックパッド株式会社


残念ながら Team 3meter として参加して開発した、Help Me Tutor は受賞できませんでした。いい線行ってたと思うんだけどなあ、残念。


» Help Me Tutor


受賞作品はそれぞれ素晴らしいアイデアで問題を解決できている作品だと思います。受賞された方々、おめでとうございます。


Help Me Tutor は、最初の出来上がりのこれはいけるんじゃないかという印象を信じて、完成度をあげて、App Store に申請、プロダクト化するところまでがんばってみたいと思っています。


追記ここまで


» クックパッド「開発コンテスト24」に参加しました - その1 : 僕は発展途上技術者


の続き。


その1は長々書いてしまったので、その2ではサクッと、開発の Tips 的なことを列挙していきます。



  • 開発に参加したメンバーは3人。サーバー側と、Chrome Extension 版担当が@bluerabbit777jp さん、iPhone アプリ版担当が僕、デザイン担当が つくる社 で一緒にやっている

    @monoookiでした。開発期間中一度も会うことなく、@bluerabbit777jp さんにいたっては奥様の実家に行くという私用をこなしつつ完成させるというスーパーマンぶりで、問題なくコミュニケーションができたのは Skype のおかげ。通常はチャットで、込み入ったときには通話しつつ、必要なファイルを送ったり、画面共有も使ったりと大活躍でした。

  • 役割が3人ともかぶることなく完全に独立していたのもスムーズに進んだ理由だったと思います。

  • iPhone 版の進捗があるたびに、Adhoc 版をビルドして三人で共有していたのですが、それには Adhoc 版を瞬時に配布できる Test Flightが超便利。バイナリをアップロードする必要があるので神経質な人や組織では使えないかもしれませんが、そうでない iPhone アプリ開発者だったら絶対使ったほうがいいです。面倒だった Adhoc 版のやりとりを格段に楽にしてくれる TestFlight という紹介エントリーを以前に書いているのでよかったら参考にしてください。

  • 24時間という短い時間内に開発するのではまることは許されない。それぞれが得意な部分から逸脱しないように、未知な部分には手をつけないようにしました。 @bluerabbit777jp さんは Google App Engine のスペシャリストで、ATND Notifyearthquake Notify(緊急地震速報) といった Chrome Extension をいくつも開発しているので、サーバー側と Extension 担当、僕は最近 Titanium を使っていくつか iPhone アプリを作っていたので、iPhone 担当になりました。デザイン担当は @monoooki、これは言わずもがなです。

  • Titanium の開発、途中少しはまりました。どう考えても動くコードなのに動かない… ふと思いついて、変換された Objective C のコードを全消ししてリビルドしたところ問題なく動くようになりました。「なんなんだよ!!」と Titanium に対して若干怒りを覚えましたが、Titanium なしでは24時間で iPhone アプリを作ることは僕には到底無理、大変良いツールなので許します。

  • ライバルでありリスペクトしている FJORD, LLC のデザイナ @machida さん、プログラマ @komagata さんが進めている KUROIGAMEN(黒い画面) という運動があります。デザイナもシステムやプログラミングの知識をある程度身につけてサービス・プロダクト開発にもっと密に関わろうという趣旨だ、というのが僕の理解なのですが、つくる社のデザイナの @monoooki ももともと PHP や Flash もかける人で、最近 git もお手のもの。今回も作っている途中で Titanium のソースを github で公開し、git レポジトリの URL を伝え「あとはよろしくお願いです」状態。数時間後、git pull したらアイコンも画像も勝手に綺麗になっていて大変心地よい。開発者にとっては大助かりです。こちらももっとデザインや UI の勉強をしないといけませんね。


こんなところですかね。


こうしたコンテストに個人では何回か参加したことがありましたが、チームで参加するのは初めて。とても恵まれたチームで、終わったときはやり遂げた感たっぷり、充実した経験をさせていただきました。


コンテストの存在にまったく気づいてなかったところを誘ってくれた @bluerabbit777jp さんに感謝。


休みの日の突然の招集に「おもしろそう」と答えてくれ参加してくれた @monooki に感謝。


また「(普段の生活で)半径3m以内にいる人が困っていることを解決する」というコンテストの課題テーマは、良く考えられているテーマで、ネットサービスが威力を発揮するのは遠く離れている人に対してであり、3m以内にいる人が困っている場合、なにもネットのサービスを使わなくても「直接聞けばいいじゃん」で済んでしまうケースがほとんどであるところを、あえてサービスを使う必然性が求められるところにチャレンジがあったんだと思います。そんなクックパッドからの挑戦状に、まあうまく応えられたかと評価されるかどうかはわからないのですが、現時点の僕の力では、結構いっぱいいっぱいに応えられたかなと思っています。そんな素敵な機会を与えてくれたクックパッドに感謝です。


クックパッド「開発コンテスト24」に参加しました - その1

(サービスの設計の話だけですっかり長文になってしまったので、予期せずエントリーをいくつかに分けることにします)


24時間で課題に沿う「生活をより便利にするサービス」を開発するクックパッド主催の「開発コンテスト24」に参加しました。


» エンジニア向け「第2回 開発コンテスト24」開催 | クックパッド株式会社


サービスの設計・開発・デザインなどプロダクトをリリースするためにやらなければいけないことをすべて24時間以内にこなさなくてはいけないので、3日分くらい働いた感覚です。


課題提出後はすっかり疲れて何もできなかったのですが、一夜あけ、せっかくなので貴重な体験のなかで得られた知見を残しておこうと思いブログを書くことにしました。


具体的なシーンを思い浮かべることができるサービスを


@bluerabbit777jp さんから「コンテストに参加するので手を貸してほしい」という Twitter の DM を受け取っているのを確認したのは、金曜日22時頃、Startups 2011 に参加し、懇親会の後ほろ酔い気分で家に帰り着く途中のことでした。


Startups 2011 がどうもスマートフォン上のソーシャルゲームなどゲーム系に比重を置いている印象を受け、僕的にはどうも違うなあ、と思っていたところ、開発コンテスト24の方は、


(普段の生活で)半径3m以内にいる人が困っていることを解決する


というテーマで「生活をより便利にするサービス」という課題だったので、「生活を変え便利にするものづくり」を心がけている僕としては、ぜひ参加しておこう、ということになりました。まあ、たぶん酔いのせいもあったんだと思います。


帰宅途中の電車で Skype チャットで相談しながら、駅からの徒歩区間では Skype 通話に切り替えつつ、サービスの内容を二人で練り上げました。


@bluerabbit777jp さんからの最初の提案は、おてつだいロボ 的なサービス、でした。けれど、僕が「おてつだいロボ」を知らなかったのもあり、具体的に半径3メートル以内の助けてもらいたい人とそれを助けるサービスがイメージできず、@bluerabbit777jp さんも「10秒で伝わらないアプリはだめぽ。。」ですねということで別のサービスを考えることにしました。


@bluerabbit777jp さんのところでは新しい家族が増えたばかりで、赤ちゃん向けなど困っている題材はたくさんありそうで、困っている例をいろいろと聞いていたのですが、「仕事ではまってて声をかけてほしいときがある」という話から発展し、


Skype
Uploaded with Skitch!

という「10人くらいのハンズオン形式の研修」で困っている例を聞き、これを解決するサービスを作ればいいんじゃないか、ということになりました。


こうした勉強会は僕も参加することがあり、容易に使うシーンを想像することができたので、自然とどういうサービスを開発すればいいかイメージできたのです。


例えば、



  • 見知ったメンバーだったら別だけれど、知らない人が集まった勉強会とかで誰がどこに座っているかチューターの人はすぐには覚えられない。 -> ならば座席表がすぐにみられるといい

  • はまっている人は自分では自覚できていない。 -> 自分がどんな作業をやっているか簡単に報告できるようにして、長時間同じ作業をしている人 = はまっている人 ということでチューターの人にわかるようにしたらいい

  • 「助けが欲しい」という意思表示ってなかなかしづらい -> Help Me ボタンみたいなのがあって押せばチューターに伝わるようにしたらいい

  • コードラボのような場合はメインの作業は画面全体を使っている。わざわざこのアプリのためにウェブページ一枚開けておくのはきっとじゃまだろう -> 生徒側のアプリは Chrome Extension のような邪魔にならないものがいい

  • チューター、先生役の人はたぶん席をあちこち渡り歩いている -> チューター、先生側のアプリは iPhone アプリのように手元で確認できるもののほうがいい


といったことが、実際のシチュエーションを想像することで次々と決まっていきました。


実際に困っている人、具体的なシーンを想像し、それらに対する解決する方法を考えると、その解決方法は結構自然な形になります。


次に参加するコードラボや勉強会で実際に使えるアプリをつくろう、と思えば自然と力も入ります。


(サービスの設計の話だけですっかり長文になってしまったので、いったんここで切ります。日曜日でこれから外出の予定があるので…帰ってきたらツールの話など、続きを書きます)


プロフィール

株式会社まちクエスト代表、つくる社LLC代表。

Raspberry Piではじめる どきどきプログラミングを書きました。

Amazonから図書館検索 Libron、iPhoneアプリ ひらがなゲーム かなぶん を作っています。

Twitter @jishiha

最近のエントリー

アーカイブ