PHP Matsuri 2010終了。お祭りは夜通し行われた!

posted 2010-10-05 | written by mon_sat

こんにちは。@mon_sat です。
先週末の土曜・日曜の2日間。都内の晴海グランドホテルにて、PHP Matsuri 2010 が開催されました。

先日も記事にしましたが、このイベントは、昨年行われたCake Matsuri を大幅にスケールアップし、CakePHP以外にもSymfonyやLithium等、PHPのフレームワークを利用しているユーザーを対象とした、カンファレンス & ハッカソンです。

海外からCakePHPのコアデベロッパーGraham氏(@predominant)。今年はLithiumのコアデベロッパーとして参加するjoel氏(@jperras)、同じくLithiumのコアデベロッパーであるNate氏(@nateabele)、最後は急遽来日が決定したSymfonyのコアデベロッパーKris氏(@kriswallsmith)の4名がいらっしゃいました。
豪華すぎますよね!

今年は会場が自宅から近いということもあり、スタッフとして関わることにしました。
何かしらお手伝いできることもあるかと思い。

しかし、当日までほぼ全く手伝えることはなく、自身の未熟さを反省しつつも、当日は受付を担当。
まあこんなものです。私にできるのは。

というわけで当日8時に集合。 10時開始(9時開場)なので、おおよそ1時間程度で準備を。 詳細は省略しますが、他のスタッフのてきぱきとした動きに戸惑いつつ、まずはスタッフTシャツに着替えて気合いを入れました(笑)
何とか受付できるようにしたところで、続々と参加者の皆さんが到着。

お祭りスタート!

そんなこんなで、はじまりましたよ、お祭りが。
午前中こそ受付エリアにいたものであまり参加できませんでしたが、手のすき出した午後からは、開発しつつ、交流しつつと、徐々にペースがつかめてきました。

開発したWebアプリについては、別途開発の模様を記事にします。触りはこちらのまとめをご覧ください

会場後方から見ていると、セッションを聞いている方もいればワークショップに参加している方もいて、黙々と開発する方もいれば、他の人との交流を楽しむ方もいるという、それぞれがそれぞれのスタイルで楽しんでいるのが分かります。

契約の関係があり残念ながらUstreamによる中継はできませんでしたが、Twitterのハッシュタグ #phpmatsuri を見ているだけでも、その内容の濃さが分かると思います。(まとめてくれている方に感謝しつつ→ http://togetter.com/li/56219

夜は長いのだよ。夜は

そして夜。

突然ホテル脇に止まるこの車
会場に入ってきたのはこの二人。
Red Bull Girls
テンションの上がる参加者達(笑)

というわけで本格的な開発作業に入る夜へ向けて、栄養が補給されたのでした。

さらに、恒例のケーキ。

しかも今回は3つ。
CakePHP Lithium Symfony

SymfonyとLithiumのロゴをかたどったものも用意されました。
今度はテンションの上がるコアデベロッパー達。

※ケーキは、スタッフが・・・いや参加者が美味しくいただきました(笑)

JIREI NIGHT - 事例ナイト

その後 JIREI NIGHT と称して @slywalker さんがスターウォーズ的な何かになり、軽快なトークとともに、事例発表会がスタート。

CakePHPとSymfonyの選りすぐりの事例が、長時間にわたって紹介されました。
さすがに両雄とも言えるFW。どちらも豪華な発表です。

夜は続くよ。いつまでも

さてさて。 開発者が大好きな深夜(笑)を迎えます。

事前にアプリを作っていった私は、ここぞと、コアデベロッパー達との交流にチャレンジ。
ビールを片手に Joel や Graham を始め、Nate , Kris とお話ししました。

途中、Graham に声をかけて、作ったアプリのテストをしてもらいました。
はい。コアデベロッパーがテスターという、贅沢なアプリです(笑)
「面白いね。いつ作ったの?」「昨日です」「デザインも好みだ」と言ってくれて、いと嬉し。

気づいたら1時(業界用語で25時w)。
でもちっとも眠くありません。普段は12時回ることも少ないのに。

@cakephper さんに Joel がプレゼントしたカナダビールを飲みつつ語らいました。
「精のつく」ビールだそうです(笑)
あるの?そんなの。
でもラベルを見たら妖艶な女性がこっち見てる(笑)
寒い地方だからでしょうか、どれもアルコールが10%近くあります。 味もユニークでちょっと醤油っぽい。でも美味しいという(笑)

寝て、起きる。

2時を迎えてまだ30人以上いましたが、さすがに私はダウン。
部屋で速攻で横になったのですが、なぜか5時に目が覚めた。ぱっちりと。
Twitterを確認すると、みんな普通にやってるで。おい。

というわけで、5時半に再参戦。

すでにテンション低く皆黙々とやるなか、Grahamの横にはハイテンションガールが(笑)
Graham が必死にコミュニケートしようとしています。

Twitterで返事をしようとしているところのようですが、ハイテンションガールの説明では何に困っているのか分からない(笑) お酒をたくさん嗜まれているようです(笑)

結局「日本語で返信したいんだけど上手く行かない。Google Translate の訳を一文字編集したい(Grahamは日本語勉強しています)けど、『ば』を出せない。ソフトウェアキーボードの環境が今無くて」ということらしい。
じゃあAjaxIMEがあるじゃんと、サイトへ行ってみるも、使い方が分からん(笑)
最終的に「コピペしよう」と「ば」を探すも見つからず(笑)
手詰まりorz

この時間になると、黙々と開発を続ける猛者と睡眠欲を貪る方々がほとんどでした。
さすがに深夜、いや明け方ではねー。

ハッカソン2日目

そんなこんなで7時になり。朝食。
今回は計4回食堂での食事があり、そこで普段交流無い方ともお話しできた。
意外と会場での食事よりも(そういう意味で)良かったかも。

午前中は、プレゼン資料を書く時間にあてました。
「真面目に作ったネタアプリ」としては、ここで手を抜くわけには行きません(笑)

当然、英語。
せっかくコアデベロッパーにも伝わるようにアプリは国際化したのです。
文法めちゃくちゃでも、伝わればいいかと呑気に考えて、作ります。

発表の時間が4分と決まって、あら、困った。
4分じゃ収まりません。 (資料はWebで。要HTML5対応ブラウザ by Nerine which is one of excellent apps for me. thanks)

というわけで「ひとり作戦会議」をしました。
結果、「デモ中心」の発表をし、伝える内容を以下の3点にしぼりました。

  • 16時間+αで「アプリを完成させること」をテーマにしたこと
  • このアプリの特徴は「愛をつぶやく」アプリで「一定期間空けないと次がつぶやけない」ということ(機能概要)
  • 細部まで手を抜かずにつくったこと(国際化したり、バリデーションメッセージに凝ったり、HTML5+CSS3使っていたり)

おそらく普通は「What is this」を話してからデモだと思うのですが、これはネタアプリなので最初に落ちを持ってきては意味がありません。
というわけで「愛が重複したらつぶやけない」というところまでやってみせようと。
(時間がもったいないのでOAuth認証も事前に済ませることに)

そして最後のやつについては「なるべく語らずに」気づいてもらえるようにしました。
とくにHTML5+CSS3については単なる趣味なので、そこをアピールすることはさけました。
多分どこに使っているか分からなかったと思いますが(笑)

HTML5は、つぶやき内容のtextareaに使っています。
required属性をつけて入力が無かったら送信できないようにしているのと、placeholder属性をつけて例文を入れました。 (後者はtextareaにも使えることを知りました)
CSS3はもしかしたら気づいた方もいると思いますが。 ヘッダー等で「無駄に」ふわふわしているアレです。
他にもバリデーションエラーがふわっと表示されたりするのにも使っています。

以前ブックマークしたサイトを参考に修正しつついろいろ試すことができました。面白いですねCSS3 animation。
(もちろんほかにも角丸やグラデーションで使ってます)

JavaScriptは1箇所しか使っていません。
もしかしたらplaceholder等をJavaScriptで実装していると思った方がいるかもしれませんが、そこではなく、投稿後TwitterAPIが結果を返すまで画面が遷移しないので、submitボタンを無効にするために使っています。
本当はoverlayで画面をかぶせたかったのですがそれは失敗しました。
他にもつぶやきの結果は吹き出し風にしたかったのですが、CSSの技術が備わっていませんでした(笑)

発表!

そんなこんなで発表です。
順番はアルファベットの昇順ということで、ちょうど中間点くらいのベストな位置になりました。
なんせネタアプリです。初っぱなになっては滑ること請け合いです(笑)
肩肘張らずに聞いてもらいたいものです。

他の発表者が「みんな真面目」な中、奇しくも私と次の@mochizさんはネタ系で続きます。(I like MoreGoro!)
@nojimageさんの男前な発表のあと、いよいよ私。

>会場にいなかった方へ
Ustreamでは分かりづらいですが、オーディエンスの反応は大絶賛でした。
もうあちこちでスタンディングオベーション。拍手や笑い声で私の声がかき消されるくらいの。

>会場にいた方へ
正直、反応なんて確認する余裕ありませんでしたから(言い訳)
あと記憶違いってあるよね。過去を美化することもよくあること。

>結論
Ustreamは正直。

LT全体としてはすごいというひとこと。

Joelのこのつぶやきにも現れてますが、発表ベースで30人以上、おそらく発表しなかった方も含めると相当数の方々から、新たな何かが生まれたわけです。
2日間で。
日本のコミュニティのパワーは、すごい。

発表者の皆さんも聴講者の皆さんもお疲れさまでした。(トータル3時間の連続LT。途中休憩はあり)

発表

最後に各賞の発表があり、私のWebアプリ「愛の告白」は、まさか、まさかのCakePHP賞の次点入賞

景品は、CakePHP辞典Nifty Cloudの無料チケット!(MASA-PさんNiftyさん、ありがとうございます)
いやー有り難いです。
発表すること自体が自分を成長させるものと思って発表したら、もったいない評価を頂戴してしまいました。

よっぽどのことが無い限り削除しませんので、気が向いたら使ってください。
彼女の誕生日に1年分の愛をつぶやくというのもいいですよー。

正直「誰得?」ですが、本来の使い方をすれば、「愛をつぶやかれた方、得」です。
@hampomさんは使うといいですね!

他にも書きたいことはいろいろあり、半年後の自分へのメッセージとしてまとめたいところですので、いろいろと続きます。
とりあえず以上で。

得点入れていただいた方、ありがとうございましたー。

お祭りレポートの残りおよび周辺記事はまた明日。

プロフィール

@mon_sat

CakePHPをよく利用しています。

理解の浅かった半年前と、何も知らなかった一年前の自分への教科書として書いています。
当たり前のことも平易に。

RSS2.0

カテゴリ別エントリ一覧

タグ別エントリ一覧

アーカイブ