2016年2月23日火曜日

DroidKaigi2016を支えたロジスティクス

2月18日・19日に開催されたDroidKaigi2016に、運営として参加してきましたmochicoです。
11月ごろCFPの公募とともに開始されたスタッフの募集に応じ、スタッフウェア調達とランチボックス搬入・搬出、アフターパーティの受付を担当していました。
先日主催の羊さんに「それ(調達)はロジスティクスだね」と言われてカッコいいのでロジスティクス担当ということにします。
(実際にはロジスティクスとは調達流通在庫管理や兵站管理のことですので、ここでは本来の意味と異なると思います。)
ここでは主にランチボックスのロジスティクスについて、またそれを支えたDroidKaigiの運営方法についてお話します。
これから技術系カンファレンスを運営する人の参考になればと思います。

プロジェクト管理とインフラ

DroidKaigiは運営もほぼ全員エンジニアなので、プロジェクト進行管理がすごくソフトウェア開発っぽかったです。
タスク管理は全てgithubのissue。
コミュニケーションはSlack
ドキュメント管理はGoogleDrive
2週に1回くらいの物理的な定例MTGはハングアウト参加者もいたり、週1でSlack上でissueをさらう遠隔定例MTGもありました。
実は、当日の連絡経路も全てSlackでまかなっていました。これには良い点と悪い点があったのですが後述します。

ランチボックス作戦


私がランチボックス担当に着任したのは年も明けた頃でした。
普段工数は見積もっていますが、参加者の数や配布率の見積もり、ランチのクオリティと予算の調整や搬入・搬出など初めての規模と経験でした。
なお、私は事前調査と当日のまとめ役はやらせていただきましたが、直接の業者さんとの交渉はもぐたそさんの機転と剛腕に支えられております。
ランチボックス作戦はこんな感じでした。
  • めしくるさんのコンシェルジュに相談。今回はお願いできなかったですが、とても丁寧なご対応で、ランチの予算感や業者で対応できることを教えていただき大変助かりました。
  • 東工大搬入実績のあるSushi&Beyondさんに教室までの搬入をお願いすることに決定。名前のインパクトからしばらく「ビヨンドする」がスタッフ間の流行語になる。のちにアフターパーティも含めこのSushi&Beyondさんにお願いしたもぐたそさんの英断をたたえることになる。
  • 前日に、連絡の行き違いがありSushi&Beyondさんから予定していた休憩時間の間に各教室内に搬入は難しいと判明する。講演中は絶対に音を立てない配慮が必要なため、講演中に運び込むことができない。止むを得ず予定を早めて基調講演からの移動時間中に間に合うようにすると決めたが、実際に教室に置いておくことができるかは正直賭けでした。
  • 当日、教室を見て先に搬入可能と判断
  • 担当5人で基調講演中に他の仕事から抜け、Sushi&Beyondさんと合流し、4教室にそれぞれランチ・お茶を搬入。12:00の午前の公演終了まで待機。
  • 12:00より、大きいA・B教室に2人、C・D教室に1人づつ+遊撃ヘルプの計6人の体制で配布開始。私は控え室とヘルプ要員として待機。A・Bの混雑が割と強かったが、Slackで連絡を取り合い、なんとか無事配布完了。様子を見つつ、13時までにSushi&Beyondさんの指示通りの方法でゴミを回収し、順次搬出。
  • 2日目、PDCAを回し混雑度から再分配を考えC・DからA・Bに2箱ずつ搬入をずらす。A・Bではあらかじめ箱を開けておき、手渡しをスムーズにできるよう改善 が、ゴミ袋の用意を忘れてたため、配布のために走り回る。(後にゴミ袋は前日に控え室に預けられ埋まってたことが判明)
  • 参加者のご協力とスタッフ、Sushi&Beyondさんの慣れもあり2日目の配布・ゴミ回収は割とスムーズに完了
実は当日一番難しかったのは、どうしても出てしまうあまりの廃棄の判断でした。
なんとか撤収までにきれいにお片づけすることができましたが、この辺は次回に生かせる知見の山でした。
また、経験値のない中でぶっつけな状況の多い当日を支えたのはSlackでの連絡でした。
部屋ごと、係ごと、話題ごとに分かれたchannelで文字ベースで現状報告やヘルプ要請を行っていました。
適度に分かれたchannelは情報の取捨選択をスムーズにし、手が足りない中で文字ベースのコミュニケーションはリアルタイムもタイムシフトも自由自在で助かりました。
ただ、これは今回なんとかスタッフ用のWi-Fiを確保できたからできたことであり、本来は無線などを使用するべきかもしれません。
また、スタッフがみんなスマホにかじりつく光景はどのように参加者のみなさんの目に映っていたのでしょう・・・
こんな感じで、至らないところもあったと思いますが、ランチの写真をTwitterにあげていただいたりとDroidKaigiのひとつのコンテンツとして楽しんでいただけたようで嬉しい限りです。


公式アプリへのContribute

DroidKaigi2016のアプリは@konifarさんが作ったアプリをベースに、オープンソースで公開され、開催中も(3日たってこの記事を書いている今も)コミットが飛び交うこの上なく生きのいいリポジトリでございます。
実は、最終MTGであるパンフレット類の袋詰めの日に、@teshi04とカフェでDroidKaigiを眺めて気づいたバグを、帰って見直したらさっくり直せそうだったので、ちょっとpull-requestを送ったら@konifarさんが一瞬でマージしてくれました。
ほんの小さな修正でしたが、Contributorに乗せていただいてちょっと(かなり)嬉しい。

DroidKaigi2016を終えて

こんな感じで当日は水とお茶とランチボックスを持って駆け回っていたためほとんどセッションを見ることができなかったのですが、タイムキーパーで @konifar さんのセッション北村さんのセッション中西さんのセッションだけ参加させていただくことができました。
どれも本当におもしろくて学びがあって、本当にこのカンファレンスを開くことができて、少しでも貢献することができてよかったと思いました。
正直、運営として参加するのは自分の時間を削ることも気を使うこともかなりあり、無条件にオススメはできません。
ですが、コードを書く以外でもAndroidのために何かしてみるというのは案外おもしろいです。
全部終わった後@tnjさんの作ったオープニングを見て、ちょっと泣きそうになったのは内緒です。
最後になりますが、全ての参加者、講演者、スポンサー、スタッフ、業者のみなさま、控えめに言って最高でした!ありがとうございました!

2015年6月16日火曜日

GoogleI/O 2015@SanFrancisco参加記

例年Extendedで画面越しに見ていたGoogleI/Oですが、
今年は本会場SanFranciscoで参加してきました。

Registrationの前日にSanFrancisco入りしてMosconeCenter並びのThe Mosserホテルにチェックイン。


SanFranciscoの朝は寒い。

Registration当日はBadge pick-up開始の1時間前、朝8時にスタバに寄って会場に向かうも長蛇の列。

登録開始から1時間足らず、無事完了。

その日は聖地巡り。



I/O 1日目

当日Badge pick-upの人と朝ご飯待機とkeynote待機列とがごっちゃになって迷子になるも、
I/Oベテラン勢に助けられ無事待機列へ。(朝ご飯は待機列で配られてた。)
たいきれつなぜか始まるビーチバレー。

IntelのTシャツもらった。

keynote


壁3面超巨大スクリーンを使った開始前アトラクション

AndroidMの発表。正式コード名発表にはならなかったかー。

展示
2回のメイン会場。奥の壁の向こうではsession、
窓際のブースやダンボールのオブジェクトの内側ではSandboxが行われた。

日本からexiiさんも出展、握手してもらったよ!

AndroidChorusの展示もありました。

こちらGoogleJapanが作ったとか。

Nestの展示も。

AfterParty
1日目の終わりにはMosconeWestのもう一本向こうのMission Street沿いの
Yerba Buena Gardensでアフターパーティがありました。

木綿焼き豆腐とちゃんぽんっぽい麺が入ったなんか解釈が違うみそラーメン。

生演奏や

BigKaraokeなど、お楽しみもたくさん

I/O 2日目
I/O中朝ご飯と昼ご飯は会場で提供されます。

一番大きいSession会場で、360°スクリーンを使って行われたATAP(元Motoloraの研究機関)の発表。
割と地味で実用的な発表に終始したkeynoteに代わり、先進的で夢のあるプロダクトが次々に発表されました。

Soli
指を使ったジェスチャーによるコントロールを、1円玉大のチップで実現

Jacquard
金属繊維を使ったタッチセンサーを服に織り込む

The Vault
microSDベースのマルチプラットフォームセキュリティシステム

Spotlight
モバイル特化のコンテンツや360°映画をつくるよ

ARA
パーツカスタマイズが可能なAndroidスマートフォン。年内にプエルトリコでマーケティング開始。

いくつかSessionやSandboxにも参加したけれどそれは別途。

I/Oの後
夜はまたNightCapというパーティがあったけれども、そちらには行かずに蟹食べに行きました。

帰国日
オススメの朝食はユニオンスクエア近くのCafeMasonのエッグベネディクトです。


飛行機が少し遅れてましたが、無事帰国できました。


2014年11月7日金曜日

第二回 iPhone x ロボットハッカソンに参加してきました

Romoとは?
Romo(ロモ)はiPhoneなどで動く「体感型のエデュケーショナルロボット」で、誰でも動かすことが可能です。
SDKが公開されており、キャラクターの表情や、モーターの動きを制御するアプリを作ることができます。



http://everevo.com/event/15958

今回はこのRomoの1日ハッカソンの第二回目で、クックパッドさんにお邪魔してきました。
第一回目の様子はこちら
今回の公式レポートはこちら

初めてRomoを触ってみて、SDKは非常に簡単で使いやすかったですが、
ちょっと久しぶりのXcodeで端末がiOS8なのでXcode6にアップデートが必要だったりと
いらないところで時間を食ってしまったのが反省点です。
開発の参考にした非常になるわかりやすい日本語解説記事はこちら

開発環境

  • Xcode6.1
  • iPhone5s / iOS8.0.1

開発中にSDKでハマった点のメモ

  • RMCharacterを表示した状態でPush遷移を行うと落ちる

原因は不明です。Modalは大丈夫でした。

  • LEDのAPIは使用できるが、角度・タイヤの制御が使用できない

自分でCreateしたプロジェクトではできませんでしたが、
SDKに同梱されているサンプルプログラムをベースにしたら制御APIが使用可能でしたので
おそらくプロジェクトの設定が原因だと思いますが定かではありません。

作成したアプリはhttps://github.com/mochico/OtetsudaiWithRomoに上げてあります。





2014年10月6日月曜日

第16回Androidデ部の!Androidなメモ

タイトルの"!"はノットと読みます。

開催概要と発表資料
http://connpass.com/event/8381/

togetter
http://togetter.com/li/727466

メモ

  • インライン関数
  • 拡張関数 カテゴリーっぽい
  • 演算子オーバーロード
  • NULL安全 "val b: Int? = null にするとbは関数を呼べません。ぬるぽの危険があるので。b?.toString()という記述なら書けます。bがぬるぽならnullを返します"
  • 関数型並列超実践的言語
  • 超シンプルで関数型言語の習得に適している
  • 並列処理が超簡単
  • 飛行機本 E本
  • 強い動的型付け
  • 数値に誤差がない
  • spawn でプロセスを起動(OSのプロセスとは異なる)
  • receiveを定義する
youtenさん OculusRift + Unity + MMD
  • サイドバイサイド動画 左右の目に別の画像を送ることで3Dを実現する
  • ステレオグラム
  • BowlRoll「コンテンツツリー」文化がしっかりしている。作者の気持ちが重要視されている
  • MMD4Mecanim
  • UnityにMMDのプラグインを入れてモデルデータを持ってきてモーションを適用し音楽に合わせて踊らせてOculusで見れるようにするまでで10分少々で可能だった
  • Dockerの複数コンテナの管理や死活管理やクラスタリングなどを行うツール
  • Goで実装されている
  • sourcegraph GoogleCloudPlatform コード読むのによい
ともきー peco

  • https://github.com/peco/peco
  • ファイルや行の選択をCUIでできる
  • .zshrcなどにadb unistallのコマンドを登録しておくと便利
kabayanさん
  • タブレットを物理的にぶん回してマルチアングルディスプレイ


2014年8月2日土曜日

タンスの肥やしになっていたラズパイはiBeaconになりました

おもちゃ箱の奥で眠っていたRaspberryPIをiBeaconにしてきました。
BLEビーコン手作り+α会
https://note.mu/kabayan/n/nde340bd977ed


やったこと

①RaspberryPIにSDCardとbluetoothドングルを挿す ②https://note.mu/kabayan/n/nde340bd977ed
 の通りにライブラリ類をインストールする
 (ワークショップではすでにインストール済のSDカードが配布された)
③/etc/rc.localでUUID、major、minorを書き換える
④再起動するとiBeaconとして起動する←ここまで3分!?


Passbook連携テスト

①RPBeaconのUUIDをサイトの対応しているUUIDに書き換える
②Passbook自動生成サービスにアクセスし、majorその他情報を登録し、そのpassbookをダウンロードする
③RPBeaconを起動し、iPhoneを近づけるとpassbookがプッシュされる

iBeaconほぼ初めて触ったんだけど導入は思ってたよりすごく簡単なのですね。
というかラズパイの万能さとPassbookの思ってたより自由さにびっくり。。。
iBeacon単体でできることは結構やってるとこあるので、なんか組み合わせで面白いことしたいな。

2014年7月20日日曜日

DevFest GoogleI/O2014報告会メモ

I/OExtended当日はすっごい眠かったしちゃんとフォローしてなかったから、
「へーこれできるようになったんだー」っていうネタ集めって感じですごく役にたったかも。

GoogleMaps GeoJSON

PlacesAPI

MobileAPI

MaterialDesign

http://www.google.com/design/spec/material-design/introduction.html#

AndroidPreview

  • Z軸。Shadow。
  • WebViewでDevToolが使えるらしい
  • WebAudioAPi
  • WebRTC
  • ProjectVolta
  • JobScheduler 条件をいろいろ決められる
  • BEAMがアプリから使えるようになる
  • Notificationのベースがlightカードデザイン
  • ロックスクリーンのNotificationのPrivate/publicレベル決められる
  • ART

Wear

  • Glancable
  • Packing
  • スマホアプリと抱き合わせ以外提供方法は今はない
  • WebKit,AppWidget,usb,print,backupなどは使えない
  • NodeAPI でバイス感の接続を検知
  • DATAAPI Node間でデータのやり取り。KV。Assetでバイナリ可
  • WearableListenerService
  • Notification yanzmさんの記事見た方が早い
  • RemoteInput
  • DesignForWear
    http://developer.android.com/design/wear/creative-vision.html
  • 通常の通知とコンテキストな通知の使い分けを理解する????
  • GoogleFit(詳細不明)

課金

  • 海外市場38%伸び
  • 単純に為替レートでなく、その国で売れそうな価格帯に調整
  • 香港ではキャリアとプリペイド決済、ロシアではキャリア決済開始により大きな伸びが!
  • ☆3は☆2の数倍の売り上げ
  • タブレット用のアプリデザインで売り上げ10倍に
  • タブレットユーザーの一人頭課金額のが大きい
  • 日米は8割、中4割、印1割ネット接続率。人口だと中印はすでに上回る。
  • 中国の英語できる率1%、印10%。ローカライズしよう。
  • カルチャライズもしよう。
  • この辺から本格的にゲームの話
  • ゲームアプリの画像が5割。png。Googleさん気に入らないらしい。
  • DXT1とかPVRとかETC1使ってほしい。(と言われてもなぁ・・・)
  • SavedGamesを使ってほしい

Polymer

Chrome DevTools

  • DeviceMode
  • MediaQueryEditting
  • RemoteDebugging
  • ScreenCast モバイルの実際の画面を表示して操作可能
  • Timeline tracing mode

ServiceWorker

https://github.com/slightlyoff/ServiceWorker/blob/master/explainer.md

  • オフライン時のWebのなんやかや
  • Webページを閉じても動作し続ける
  • Webページ上の通信を完全に制御可能
  • 柔軟なオフラインキャッシュ
  • 別ドメインへの通信も制御できる
  • https必須
  • navigator.serviceworker.register(‘sw.js’).then(success,failure);
  • Push

Dart

  • セッション数によるとGoよりはGoogleも注力してる
  • Ploymerとpaper_elementパッケージでMaterialDesignを実現できる
  • モバイルからクラウドまで
  • DevEditor
他、Chrome、GAE系のセッションは割愛。。。

2014年6月7日土曜日

GoogleI/O2014の予習・情報収集メモ

今年もExtendedで参加です。もちこです。

GoogleI/O2014の事前予習&情報収集メモ。随時追記。
https://www.google.com/events/io

予想記事
http://firespeed.org/diary.php?diary=kenz-1711

AndroidOS
http://developer.android.com/index.html
http://android-developers.blogspot.jp/
6月頭にNexus7、Nexus5に4.4.3のアップデートが来ましたね。
この次の4.5もしくは5.0が発表されるのではないかと予想されてますが、
Androidに関して大きな変更のリークもないし4.5じゃないかなぁと思っています。
最近のGoogle+アプリのアップデートから察するに、デザインガイドラインに大きな変更が来るかも。
WearやGlassに引っ張られてカードUIを今より推して来そう。

Wear
http://developer.android.com/wear/index.html?utm_source=ausdroid.net
https://moto360.motorola.com/
6月は夏に入りますか。何かしら発表はあるはず。

ProjectTnago
https://www.google.com/atap/projecttango/
Tango搭載のタブレットが夏の終わり頃までに開発者に向けて販売されるとの発表がありました。

ProjectAre
http://www.projectara.com/
http://japanese.engadget.com/2014/02/28/google-project-ara-2015-50/
さすがにまだ販売はないか。

Chrome
まだ