ひつじのにっき

mhidakaのにっきです。たまに長文、気が向いたとき更新。

エンジニアと地方とAndroidと。

ひつじだよー。

ついさっき、「金沢でAndroid開発者の交流イベントを開催したい! ABCD2015金沢」というクラウドファンディングに出資しました。このエントリをよんで同様に出資してくれるひとがいればいいな、とおもってかきました。

金沢でAndroid開発者の交流イベントを開催したい! ABCD2015金沢

motion-gallery.net

3口+αで20000円を出資しました。せっかくたくさん出したのでブログでPRしたくなりました。あと6日、目標金額の半分まできてます。1口1000円からなのでお財布に余裕がある人は一度検討してみてください。主催してるkinnekoさんを知っていますが、率直で誠実なひとです。

 

ひつじ(mhidaka)は、Androidの講演をしたり、ABCという日本Androidの会のイベントにでたり(毎回TechBoosterというサークル名でブースをおかりしてます)、今年の春はDroidKaigiというエンジニアのためのAndroidカンファレンスを主催しました。もともとエンジニアの技術共有やコミュニケーションに興味がある人種だと思うのです。

なんで出資したの?

わたし自身がすきなプログラミングやエンジニアという生き方について、興味がある人が多少でも触れることができ、なにか得られる機会が増えればうれしいです。

最近、総裁のブログを読んだのも関係してるかもしれません。

engineer.typemag.jp

腕の良いエンジニアはどこでも仕事できそうだなぁ、という思いとともに地方でもエンジニアになりたいひと、興味がある学生さん、開発者として成長するキッカケ、環境として、もうちょっと選択肢が増えたほうがいいな、とおもって出資しました。

このエントリは…

というわけで完全に宣伝エントリになったけども、たまにはいいかな、と思います。だれかがこうやって意思を表明することで目につくならそれがいいんじゃないかなー、と。

文末ですが、主催しているkinnekoさんは友達ですが依頼があったわけではなく、完全にひつじの個人的な行動です。と書いておきます。ステマとか、周りがやってるからやらなきゃ、みたいな同調圧力とかも好きじゃないですが、やる気を出して頑張ってる人たちに水を刺したくはないです(懸念があればアドバイスとして伝えるのがコミュニティのよい姿)。なので、地方(という言葉もあまり好きではないですが)でのこういう活動を応援したい、と思ってかいたよ、と念のため、自分がモヤモヤしないために書いておきます。

 

AndroidでもSORACOM Airを使いたい!

9月30日に発表されたSORACOMがとても面白そうだったので、友達といろいろ話したアイデアをアプリにしました。

さいしょにまとめ

SORACOM Air(IoT デバイス向けデータ通信 SIM "Air SIM")をAndroid端末で使ってみよう、従量課金なので不要な通信を全カットするユーティリティ「IoT Gateway」を作ったよ、というのがこの記事のざっくりとしたまとめです。

 

今回つくったIoT Gatewayを使うとAndroidで意図しない通信を止められます。バッテリ持ちも伸びるかも。

f:id:hdk_embedded:20151002113315p:plain

  • アプリ単位で通信を禁止/許可できます
  • 次のリリースではIPフィルタリングが入ります

ダウンロードは記事の一番うしろです。

f:id:hdk_embedded:20151002104717p:plain
アプリを作って遊んでる開発者のイメージ図(※簡単さを表現したかったのですが、出来上がってみると本文とはあまり関係なくなりましたがボツにするのも惜しいので唐突に紹介しておきます。ぺしぺし)。

IoTプラットフォーム SORACOM の概要

ソラコムさんの提供する IoTプラットフォーム"SORACOM"の詳細は、他に詳しいサイトが多くあるので省略です。サービス概要やメディア報道をよむと雰囲気がつかめて良いです。

 ざくっと言って、MVNOの回線網をプログラマブルにして提供する=IoTデバイスの課題である接続性とセキュリティをクリアできて更に柔軟だよ、がいいところ。

Androidの通信を制限するゲートウェイアプリ「IoT Gateway

つくったアプリでは次の図のようなことをやってます。

f:id:hdk_embedded:20151002113315p:plain

アプリでホワイトリストをつくって通信をコントロールしてます。

SORACOM Airで遊ぼうと思ったとき、次のような点でめんどくささがあります。

  • Arduinoやmbedなど電子工作機器は、SIMで接続する手段がない or 高額
  • Raspberry PiはUSBの3G通信ドングルが使える。良い。
  • センサーはハードを買ってきてつなぐハードルがある。組み込みの知識がいる。

こういう組み込み系の知識もあったほうがいいっちゃいいのですが(実際好きな分野なんだけど)クラウド側と組み込み、両方を求めるのは厳しい。そこでAndroidをつかえば楽できんじゃないの、というのが今回のアイデアです。

  • Android端末には沢山センサーついてるのでこれを使いたい。安上がり。
  • モバイルアプリと同じ感覚で作れるので楽。
  • 標準アプリとかが勝手に通信するのは避けたい(お金かかる)← これを解決

f:id:hdk_embedded:20151002110058p:plain

このようにアプリごとに通信を許可します(ひとつも許可が入ってない→ネットワークから完全に遮断される、です)。

ダウンロードはこちらから

 今回の対応機種はAndroid 5.0以上です。今後、安価なAndroid端末でも使えるようにAndroid 4.0.3までサポート範囲を拡張する予定です。後述する免責事項もあり、Playストアに上げるほどのクオリティになってないためバイナリ提供です。自己責任でためしてみてください。

f:id:hdk_embedded:20151002110223g:plain

apkダウンロード もしくは上記QRコードから。

免責事項:夜中に作ったやつです。動作保証はありません。本アプリはAndroid OSのもつVPN機能(VPNService)を応用して、ネットワーク通信を制限しています。そのためAndroid OSもしくはメーカーが改変した機能でVPNServiceを迂回する通信があった場合、無力です。通信します(手元の端末でも大丈夫か検証してみてください。アプリをオンした状態でネットワーク状況を確認してみるなど)。

さいごに感想

SORACOM Airで遊ぶときに、とりあえず必要だったという理由でIoT Gatewayを作りました。じゃあ、どんなことを試せるの?という話になると難しい(思いついたものは他のSIMつかってもいいかも、というものがほとんどだったりします。企業として、またはバラ巻きたい、みたいな考え方だと色々でてくるあたり、SORACOMはB2Bで強いなぁ)。

 

それでも試行錯誤したり試作したり使えそうだったので(そこから更に次のアイデアが出てくるといいなぁ)熱が冷めないうちに、かたちにまとめてリリースしました。

 

おとといのSORACOMのリリースをみて、自分でサービス組めるのかぁ!すごいフレキシブルだ!楽しそうだなぁ、とおもったのが一番単純な理由です。誰かの役に立てば幸いです。

 

追伸:こんな機能がほしい、あんな機能がほしいなどあればTwitterとかコメントとかでご連絡下さい

 

追伸2:

f:id:hdk_embedded:20151002120357j:plain

先ほど我が家にもSORACOM Airがとどいた! 

 

DroidKaigiの裏側 〜当日運営のまとめ〜

2015年4月25日、DroidKaigiが無事に終了しました。このエントリでは運営責任者として関わってきた内容、特に当日の運営側の作業についてまとめます。深夜にまとめてるのでフランクな口調が出ているかもと思いますが、ご了承ください。

当日は満席、立ち見も続出、ハッシュタグTwitterのトレンドに入るほど活発に交流がありました。「DroidKaigiは参加者、スピーカー、運営スタッフ、みんなで作ったカンファレンスだったんだなぁ」というのが伝わってきた一日でした。この場を借りて、参加者、スピーカー、ご協力いただいた関係者の皆さんにお礼申し上げます。正直Twitterトレンド入りは驚いた!

実のところ、あまりの熱気だったので熱を冷ましてからブログを書くかー、と思って一週間寝かして、今まとめてます。結局あんまり冷めてないのですが。運営として関わった一日は、終わってしまうのがもったいなかったと言えばいいのか、ようやく終わったと言えばいいのか、それすらわからないぐらいに、すべてが予想を超えて、あっという間に過ぎてしまった一日です。せっかくなので運営(というより私)の視点で詳細にまとめておきます。


https://twitter.com/consomme72/status/591888965931675648 より。当日の様子です。これは当日「せっかくだから会場全体の写真がほしいなぁ、、」と控室でつぶやいたところ、FiresideChatの際に(yanzmがひろってくれて)撮れた写真です。大事にします。

以下は400人規模のカンファレンスを運営する側として経験した内容をそのまま書いているので読者の運営ノウハウの一部になれば幸いです。

運営側のタスクを中心に抜き出してるので俯瞰すると過不足があるかもしれません。また当日の感想がたくさんブログにあがってました。どれもエゴサして読んでます。たぶん「どんな雰囲気だったのか」は責任者にきくより参加者の生の声を読むほうがいいと思います。参加者&スピーカーのブログ記事をあらゆる手段でピックアップしておきましたのでそちらも読んでみてください(記事の末尾にまとめています)。

DroidKaigiは、エンジニアが主役のAndroidカンファレンスです

このブログを読んでいるみなさんならすでにご存知だと思いますが、DroidKaigiを説明するときに上記の言葉を使うようにしてます。運営スタッフもエンジニアを中心に構成されています。もちろんデザイナーさんもいて、Webやシャツ、ステッカー、パンフレット、アプリなど、自分たちで作りました。情報共有には、Slack、GitHubを使いました。改善点もあると思いますがメールでやりとりするよりは全然良かったです。

当日までのスケジュール

締切ベースでの時系列を紹介します。カンファレンスから逆算した大体の日程感で記述しています。

  • 4ヶ月前:実行委員会の発足
    • キックオフ&役割分担
    • 会場探し
  • 3ヶ月前:CFPの募集を開始
    • Webサイト公開
  • 2ヶ月前:CFPの採択
    • スピーカーさんへの連絡
    • セッションの公表
    • Webサイトリニューアル
  • 1ヶ月前:カンファレンス申込の開始
    • タイムテーブル確定
    • 懇親会申込の開始
    • Twitter公式アカウントなどで逐次告知

今回のスタンスとして、セッション内容を確定させてからカンファレンスの申し込みを始める方針だったので、このようなスケジュールになりました。中身を見て興味を持って来てほしい、という気持ちでした。
感想として、4ヶ月はわりとギリギリだったなぁ、と思います。2セッションを平行して実施する形式のため会場の選定が一番のポイントでした。東京とはいえ大きな会場は限られており、土曜、日曜の空きが少なく埋まっていることが多かったです。
(会場関係では無線LANと電源も課題でしたが、無線LANの設備があり、電源についても半分の席で供給できました)

余談

DroidKaigiとDanKogaiゲシュタルト崩壊先にDanKogai氏がいる事実に、実行委員会の誰も気づいてませんでした。

当日の配布物の準備

会場系のタスクは比較的(作業量が)重いものが多かったとおもいます。当日の準備物については以下の感じです。

  • 4週間前:Tシャツ準備
    • デザイン入稿
  • 2週間前:配布物の準備
    • ステッカー入稿
    • パンフレット入稿
  • 1週間前:フード、会場備品系の準備
    • 会場での案内表示、腕章、ペン、名札など備品の発注
    • 懇親会でのピザや飲み物の発注
    • ランチ(軽食)の発注

上記以外にもDroidKaigiでは怪我、機器破損などのトラブルに備えてイベント保険にも加入していました。使わないに越したことはないので、行使せずにすんでホッとしています。

7:45に集合!

当日スタッフは25人程度、準備のために7:45に会場に集合しました。どうみても通常の出社時刻より早いです。みんな、気合いれてきてました。

9:00開場にあわせて座席、椅子、受付の準備にとりかかります。会場となるセミナールーム(ルームA、ルームB)の外では業務を行っていますので、ピーク時に廊下にはみ出ないことを念頭に受付を設営しました(参加者のみなさんが早めに来場してくれたおかげで杞憂に終わりました)。

こちらの図は設営のためのスタッフ資料から拝借。ちょうどこのような感じでレーンを作り、名札、パンフレットを配布しました。事前のお願いで紙で参加証を持ってきてほしいとアナウンスしたことを覚えてる人がいるかもしれません。これは受付に人が滞留しないようにという配慮でした(やっぱり紙が早い、という結果ですが…)。

開場後の仕事

スタッフはそれぞれタスクが割り当てられてて、ルームごとに司会と受付を用意していました。


基調講演とランチ、懇親会のタイミングで扉の開閉があるため、手があいているスタッフで対応します。


おかげさまで立ち見のセッションもあり席が不足した場合は予備の椅子を追加する&入口付近で埋まってしまわないように誘導する、など細かく様子を伺ってました。この写真では後ろのほうは椅子のみです。


ランチ、懇親会ではテーブルを動かしてフードを並べます。30分ぐらい前に到着するので事前に受け取っておいて、時間になったら並べるなどセッションの裏側でこっそり作業してました。さすがに重いので搬入は台車を活用してます。

全体を通して午前中が忙しく、午後になるとすこし落ち着きます。その間にささっとみんなご飯食べたり休憩したり。

費用面

DroidKaigiの会場は、サイバーエージェントさんにサポート頂きました。打ち合わせの中でランチについても負担いただけることになりました。またTシャツについてスタッフ、スピーカー分をリクルートさんにサポート頂きました。両社にはDroidKaigiの趣旨に賛同いただき、当日会場では宣伝などはありませんでしたが、ありがとうございました。

またTシャツの通販/当日分は、最終的に116枚が販売されており、こちらもイベントTシャツとしては驚くほど売れています。Tシャツの販売価格2000円のうち、500円がDroidKaigiの運営費に当てられています(事前の告知通り)。ご協力ありがとうございました。
その他、寄付、募金などの問い合わせは、実はたくさんいただきました。しかし、金銭を扱うタスクは非常に神経を使うため、その分、良いカンファレンスになるように力を注ごうという主旨で今回はお受けしませんでした。お気持ち、たいへん嬉しく思っています。

DroidKaigiの費用面では実行委員会の負担分が軽減されて残りが手弁当となる予定です(反省会をまだやってないので未確定)。負担は当初考えていたより小さく、そう大きな額にならなさそうです。
大きなイベントだと運営の負担が話題に上がることも多いですが、この辺りがなかなか難しいのだろうなぁ、と思いました(こなみかんですが)。

まとめ

めっちゃたのしかった!

実は、当日のアンケート結果もあるので追って統計データを紹介できれば、と思ってます。

運営スタッフの記事とか

実のところ、大体の内幕は、メンバのみんなが書いてくれてます。まとめでは省略したところが多いので興味があれば合わせて読んでほしいです。