Google Hackathon for Chrome Extensions in Fukuiに参加してきた

4/17, 24に行われた上記(書くのが面倒くさい)のイベントに参加してきた。
このようなイベントを主催してくださった京都GTUG@dddaisukeさん、@ofuku3fさん、@shoitoさんに感謝。
技術的サポートをしていただいた@os0xさん、会場のセッティングをしていただいた@rch850さん、別のメイン会場や司会進行などサポートをしていただいた、@shirokuroi331さんありがとうございました。

今回の目的

いつものように文章にすると面倒臭い長くなるので箇条書き

  • ハッカソンの雰囲気を楽しむ
    • TDDBC北陸は1日しか参加できなかったので自分の中ではワークショップのイメージが強い
  • Firefoxアドオンは挫折したのでChrome Extensionで本気出す
  • HTML5面白そう&身につけてみよう
    • 仕事で必要になるのは何十年も先な気がするけどw

14日に行われた、Ideathonでは某大学の院生の@itomoyasuとチームを組んでやる事になり、
テーマは英語辞書+アルファ(履歴管理、テスト機能etc)の拡張機能を作ろうということで、
14日以降に追加した目的は以下。

  • 継続的なアウトプット
    • 仕事早く終わらせて趣味のプログラミングにもっと時間を充てる
  • メンバーとのコミュニケーションを円滑に行う
    • 使えるものはすべて使え
  • コーチングスキルの向上
    • 6月ぐらいからチーフプログラマをさせられそうなので
    • 技術的・経験的にも大きな差があったため追加

今回の作ろうと思っていたもの

先述の通り、辞書機能を作ろうとなりIdeathonに出た盛り込む機能は

  • 単語検索
  • 検索履歴管理
  • 検索履歴からの単語テスト
  • 検索履歴からWebページの単語ハイライト
  • 調べた単語がWebページにどれくらい含まれているか表示する機能

だったけど上3つを中途半端に実装して終わってしまいました。

今回の開発スタイル。

今回はIdeathonで出した要求一覧から必要と思われる機能をさくっと洗い出し、優先順を決めて実装という流れで進めた。
んで、jQueryを使ったんだけど、@itomoyasuがJavaScriptもHTMLもほぼ未経験だと言うので、jQueryの使い方はとりあえずこっちがコードを書いてみて、じゃあ別の画面はこのコード参考にして実装よろしくという風な感じで開発する事に。
あと、タブを使った画面にするということにしていて、jQuery.ui.tabsを使って工数削減する方向に持っていったため、jQueryを使った事がある自分がUI実装、@itomoyasuが機能の実装という分担になった。

振り返り

KPT方式で

  • Keep
    • 割とコーチングはうまくできたと思う
      • 話し合って方針を決めれた
    • GoogleDocs、Twitter、メールと使い分けてコミュニケーションをとれた
      • ついったーとGoogleDocsマジ便利!
    • 1週間決まった時間に仕事を終えプログラミングの時間を確保できた
      • この1週間は結構楽しんでプログラミングできた
  • Problem
    • コミュニケーションをとっている中で一方通行になった感じがした点
      • フィードバックや復唱してもらうなど
      • そういった意味ではちゃんとできてなかった?
    • ガチの拡張機能作ってしまった
      • ここはアイディアが固かったなあと思う。
      • というのを福野さんのエクステンション見てちょっと反省した
    • コードレビューが適当になってしまったことがあった
      • 自分の機能の実装を優先させてしまい、適当になった事が2回ほど。今思うと本当に申し訳ない。
  • Try
    • 今回使わなかったHTML5の機能を使ったエクステンションの作り込み
      • CanvasとかWebWorkerとか
      • 福野さんのエクステンションのコードリーディング
    • 仕事で使うツールの作成
      • チケット発行とか事務作業とか

また何か書くことを思い出したら追加します。