ふたつの教室

ミクシィのスマホアプリの作り方

DroidKaigiの作り方

こんなイベントの運営をやりまして、昨日無事開催できました。

droidkaigi.github.io

昨日の話なので、まだボーッとしてるのですが、翌日早朝からhotchemiさんが圧倒的な当事者意識でブログ書いてたので、自分も忘れないうちに知見書いておこうと思い、筆を取りました。

運営メンバーになった経緯

同僚から声かけられて、slackにjoinさしてもらって、なんとなくMTGにも参加したら、メンバーぽい感じになってました。

あんた誰問題

メインのメンバーは20名弱なのですが、自分は面識がある人は4、5人くらいだったので、お互いに名前と顔が一致しない時期がMTG2、3回くらい続きます。

ちょっとした時に名前がわからなくて、気恥ずかしい思いをするので、会議のたびに、最初に発言する時は、最初に「こんにちは○○の××です」と名乗るようにするとコミュニケーションがスムーズになったかもと思いました。

休眠issue問題

DroidKaigi運営の大部分はgithubのissueで回しています。多い時で、30件くらいはopenなissueがありました。

週に1、2回、20分くらいで十分なんで、時間のある時にopenなissueを全部状況確認して、「いつまでに、誰が、何をする?」が明確になっているか、期限大丈夫かなどをチェックして、もしかしたら忘れられてる?誰やるの?@○○さんよろ、みたいなコメントをすると、ちょっと進んだりするので面白いです。

最初は代表のひだかさんやhotchemiさんが絨毯爆撃的に(issueの更新はslackに通知されるので、作業の翌朝見るとすごい勢いです)issueの交通整理してたのを見て、自分もたまにやるようにしました。

別の問題ですが、メンバーもやはり会社員が多いですし、週によって多忙だったり、時間があったりムラがあるので、役割は冗長化できるに越した事はないです。

タイムテーブルの作り方

(統計っぽい話が出ますが、技術的に精度を出したいとかいう目的ではなく、こういうやり方もあるよね、っていうただの紹介なので、あまり本気で読まないでください。)

いつものようになんとなく運営MTG出てたら、自分がタイムテーブルのたたき台作る事になったので、あー、タイムテーブルなんか作ったことねーわー、って悩んでたんですが、むかし参加した意識高い勉強会でピクシブのタグをバスケット分析したら、人気の高い組み合わせは「ロリ 腋毛 簀巻き」だって聞いた事を思い出したので、試しに活用してみることにしました。あんちべさんは偉大です。

バスケット分析ってのは、スーパーの買い物データを分析したらビールとおむつを一緒に買う人がすごく多かったから、近くに置いたら、売上がめっちゃ上がったよっていう、よくあるやつです。

今回は事前に参加予定者にアンケートを行っており、聞きたいセッション3つを選んでもらっていたので、その回答を集計し、バスケット分析を行いました。目的は、相性のよいセッション同士を同じ部屋の時間が続いたスケジュールにすることで、参加者はなるべく部屋の移動が少なくなり、見たいセッションを逃す確率が減るかもね、という2つです。あと、人気の組み合わせやセッションをまんべんなく配置することで、全日通して、来場者が楽しめるスケジュールにできるかもと思いました。

実際の集計はRの入門書とかでアソシエーション分析の章とか見ると、そのまんまな事が書いてあるので、書いてある通りやれば、計算できます。また、アンケート実施時にデータ公開の了承などは取っていないので、今回は公開はしませんが、意外な集計結果で、このセッションとこのセッションの組み合わせが人気なのかー、もしくはその逆、てのがあって面白かったです。

ただし、そればかりではなく、スピーカーによっては、セッションの希望時間帯などもあったので、色々な要素も加味された上で最終稿が出来た感じです。

司会進行役やりました

4月の最後の運営MTGがあり、次の予定があるから抜けるね、って途中で抜けたんですが、そのあと役割分担が行われたらしく、翌朝、議事録確認したら、hkurokawaさんと自分が各部屋の司会進行に割り当てられたので、2人とも会社名がちょっと似てるので、これはなんかのオヤジギャグですか?と思ったのですが、時計は巻き戻せないので、やることにしました。

こちらも当日に向けてissueでひたすら、司会が喋る事をメモしたり、他のissueからランチのセッティングなど細かい仕様を抜き出したりしながら準備して、当日までハラハラしてました。

スマホ便利だけど紙も捨てがたい

当日は割とslackで「Aの席が足りないー」とか、「ピザ、どこ置く?」とかリアルタイムにコミュニケーションできてた一方、Google ドライブのタイムテーブルがスマホだと見れないとか、githubのissueはスマホだと編集できない、とか気付いた事があったので、絶対見れないとまずいやつは紙にしておいても良かったなと思いました。

運営のオープン化

運営開始当初から、メインで利用しているgithubリポジトリをpubicにしたいという話はありましたが、個人情報まわりのファイルのリンクとか、怪しげな情報などがちらばっていたので、最初からオープンでやるぜ、という前提で始めないと無理だという事がわかりました。

DroidKaigiメンバーでは何度か相談して、この状況をクリーンにするのは今の段階では難しいので、会が終わった後に内容をチェックしてあとに、publicにしようという話になりました。

このあと1ヶ月以内くらいには公開できるんじゃないかなと思っています。

 さいごに

こちらが当日の会場風景になります

f:id:punchdrunkerr:20150426113318j:plain

スマホアプリ開発勉強会始めてました

1年ぶりにブログを更新したと思ったらイベント告知かよ、という感じもありますが、しかも始めてましたというかなり時差のある告知になるのですが、mixi app training なるものを今年の1月からやっています。

app-training.connpass.com

 

奇しくもブログタイトルと同じくAndroid TrainingとiOS Trainingというふたつの教室をもつことになりました。開催に至った経緯についてはミクシィの広報ブログで紹介した通りです。

pr.mixi.co.jp

割と見切り発車で始めたところもあるので、実際に運用してから気付いたこと、反省したことなどあり、今後の研修などに活かせそうなところもあり、無料で開催するなりに収穫のある取り組みになったなぁと実感しています。この取り組みで得たものがいつかまた違う形で応用できる日もくるかもなー、など妄想したりしなかったり。

まだまだ未熟だなぁと反省する一方、通算600人以上の方に参加していただいたり、スクーさんから是非協力したいというオファーを頂いたりして、無償で毎週動画配信のサポートを受けたりするなど、僥倖としか言いようのない幸運にも恵まれました。録画したアーカイブも公開しています。

https://schoo.jp/search?q=mixi+training

アプリエンジニアがなかなかいないよねぇ、という業界全体での危機感はおそらくみなさま感じていることと思いますが、もし何かできそうな事があるかも、という方はほんの少し勇気を出して何かやってみてはいかがでしょうか。また、もし私達の理想や考えに賛同して頂ける方がもしいらっしゃいましたら、一緒に働く仲間を絶賛募集中ですので、是非ともご応募の方お待ちしております。

www.find-job.net

ちなみに私含め、ミクシィのエンジニア数名が実行委員を務めているDroidKaigiも是非お見知りおきを。(ほぼ定員埋まっちゃってますが。。。)

droidkaigi.github.io

などとほぼ告知っぽいエントリーになってしまいましたが、今年はちょっとブログで株式会社ミクシィの中の人として、ミクシィのエンジニアの社内外での活動紹介などをしていこうかなという気持ちでおりますので、引き続きどうぞ宜しくお願い申し上げます。

app道場始めました

大変ひさしぶりの更新で、少し戸惑いながらのポストです。前回の更新が2013/09/11だから、半年以上放置してしまいました。普段から何をしたとか、何食った、誰に会ったみたいな事を記録する習慣がないので、半年間もいったい何をしてたいたのか、細かくは思い出せないけれど、社内で勉強会を開いたり、 Aviary社 と一緒にHackathon やったり、月に数本映画をみたり、ダイエットをしたりして、気が付けば自分は33歳で、消費税は8%です。

 

本題はというと、先月の27日にapp道場というスマホアプリの勉強会を行いました。

app道場(スマホアプリ開発勉強会) : ATND

そしてその2回目を今月も行うので、そのお知らせです。

 

自分が知る限りではスマホアプリの勉強会というのはあまり多くは開催されていなくて、有名なのだとcookpadの方々がやっているpotatotipsという集まり( Home · potatotips/potatotips Wiki · GitHub )がありますが、そちらもすぐに枠が埋まってしまい、なかなか行けなかったので、だったら自分でもやってみようかなと思ったのが始まりです。

 

ただ、パブリックな勉強会をやるのは初めてということもあり、あまり頑張って告知することもせず、こっそりやりました。atndで募集ページを作り、会社の設備を利用するための手続きをいくつか行い、当日は18時半に開場の設営を始めて、19時に受付を開始。人手はやはり必要で、急遽チームのメンバー1人に手伝ってもらいました。当日の様子は写真を何枚か撮ったけれど、色々あって今ここに貼れないので、かいつまんで話すと、みんなでお酒を飲みながら、githubに上げたライブラリの自慢をしたり、iPhoneで波動拳を出したりしました。

 

iOSもAndroidもまぜて、勉強会開くなんて、マイルス デイヴィスとオーネット コールマンが一緒のステージに立つみたいで、ちぐはぐな内容になったりしないか不安だったけれど、なんとなく一体感はあったように感じます。たまたまandroid wear勉強会と重なった事もあり、あまり沢山の人は来なかったけれど、少人数なりの楽しさがあって、全員がお互いに会話できたし、懇親会途中で急に参加者の人が持ちネタを発表しだしたり、気がつけば22時。

 

だから次もあまり沢山の人は呼ばずに小さな勉強会をやろうと思い、こんな回りくどい紹介記事になってしまったわけです。最後まで読んで頂いてありがとうございます。第2回はこちらで参加を受け付けています。よろしくお願いします。

app道場 #2 : ATND

iPhoneの新しいやつまとめ

Androidじゃない方の携帯電話の新作が出るというので、夜更かしして見てました。

In Japan, NTT Docomo will be getting the iPhone for the first time. 

というくだりが頭から離れませんが、ひとまず速報。

iPhone 5C

  • 9/13予約開始
  • 9/20発売
  • 16GBモデル:$99 / 32GBモデル:$199
  • 5色展開(青、白、ピンク、黄色、緑)
  • LTEちょっぱや
  • 802.11 a/b/g/n対応
  • Bluetooth4.0
  • カメラは8メガピクセル
  • チップはA6で32bit(iPhone5と同じ)
  • 4inch Retina
  • ポリカーボネートボディだけど、中身は素敵なサムシング

iPhone 5S

  • 9/20発売
  • 16GB: $199 / 32GB: $299 / 64GB: $399
  • 3色展開(黒、金、銀)
  • チップはA7で64bit(初代iPhoneの40倍とあるが、何を比較したのか謎だし、グラフに縦軸がない)
  • モーションプロセッサーはM7(初代iPhoneの56倍とあるが、何を比較したのか謎だし、グラフに縦軸がない)
  • CoreMotionのAPIアップデート
  • カメラのスペックアップ(センサーとかレンズとかフラッシュが良くなった)
  • ホームボタンで指紋認証

iPhone 4S

  • 8GB:無料

 

※5S/5Cの発売国はひとまずアメリカ、オーストラリア、カナダ、中国、フランス、ドイツ、日本、シンガポール、イギリスで、年内までに100カ国で発売予定

 

個人的に怖いのは、64bitなCPU、Objective-Cでお行儀よく書いてる分には大丈夫だと思うけど、Cのライブラリとか色々問題起きそう。。。

 

でも仕事絡む用途でiPhone使ってるので、ホームボタンで指紋認証は助かります。

Android4.4 KitKatの新機能を予想するための11のヒント(適当訳)

いよいよKey Lime Pie(Android 5.0)が発表されるかと思いきや、まさかのKitKat(Android4.4)が発表されましたね。グーグル社内では"K-Release"として語られていたとリーク情報がありましたが、まさか、KitKatのKだったとは。。。

 

KitKatの詳細情報はまだ公表されていませんが、とり急ぎ海外のサイトなどで噂になってるになっている情報を漁ってみました。

 

ひとまずこちらのサイトが情報量的には多かったので、かなり適当ですが日本語訳して紹介しておきます。間違ってたら教えてください。。。

Google Reveals Android 4.4 KitKat OS: 11 New Features and 6 New Technical Specifications Added - International Business Times

 

11のヒント

主にはkttkat.comでの説明やkitkat 4.4 PR動画の引用のようです。11個とは言え、kitkat.comの説明と見比べると、ちょっと重複する内容もチラホラありますが。。。

1.Beautifully immersive and multi-sensory experience similar to the KitKat bar perfection.

美しく没入型・多重知覚の体験

 

2. Full improvements on battery, performance and security features which served by the near perfection of KitKat's symmetry.

省電力、パフォーマンス向上、およびセキュリティ改善

 

3. Definitely for everyone as with KitKat's unbeatable taste.

誰が食べてもめちゃウマ

 

4. Famous in the inside as the outside: KitKat's exceptional feel and taste.

見た目はイケてるし、中身はサクサク(キットカットみたいにね!)

 

5. Possible tri-core CPU support just like KitKat's wafer design.

キットカットのウエハー設計のような、3コアCPUサポート

 

6. Adjustable orientation which works perfectly in portrait or landscape for panoramic taste experience.

パノラマ風体験のための縦画面、横画面で完全に働く、調整可能なオリエンテーション。(画面回転まわりが改善する?)

 

7. The Cloud for unbelievable taste sensation.

クラウド連携のさらなる強化

 

8. Wider global coverage so you can take it literally anywhere.

グローバル展開の強化(主に途上国のマーケットを視野に入れているかと)

 

9. No contracts, no small print. With our operating system, you're not tied down to just one KitKat.

契約も、わかりずらい注意事項もありません。私たちのオペレーティング・システムで、単に1つのキットカットに縛り付けられません。

(すいません、ちょっと意味がわからなかったですが、おそらくキットカットを電波表示になぞらえて、電波が1本になったりしない、電波効率の良いOSという意味?)

 

10. Perfect second screen companion and compatibility with all liquid accessories via Android 4.4 KitKat.

セカンドスクリーンとしても完璧で、様々なアクセサリ製品との互換性もバッチリ。(kitkat.comの説明では、どんな飲み物とも相性抜群という駄洒落でした。)

 

11.  Refined software, crisp hardware and unique unibody, just like KitKat.

キットカットのような、洗練されたソフトウェア、ぱりぱりのハードウェアおよびユニークなユニボディ筐体。 

6つの技術仕様予測

この記事の中ではその他にも技術仕様( kitkat.comでの技術仕様説明ページ )について、6つの推測がされています。あくまで上記サイトに記載の仕様から推測したものなので、あまり真に受けないでください。

  1. より薄い筐体、より押しやすいキー?
  2. より軽量なボディ?
  3. 4K解像度の対応?
  4. クラウド連携とマルチデバイス対応の強化?
  5. スタンバイ時の省電力化?
  6. 512MB RAMのサポート?

 

甘い提携?

今回のタイアップで、ネスレは世界で5000万個のドロイド君キットカットを生産するのだとか。ケタが違う。。。実際の商品写真はこちらの記事で紹介されています

droidultimate » Android KitKat: sweetest moonshot idea ever?

 個人的な感想

個人的に楽しみなのは、待機時の省電力化とセカンドスクリーン(テレビや映画をみながら、補助的に使うデバイスの事)を含めたテレビとの連携です。昨年のGoogle I/Oで発表されたNexus Q(去年I/O行った人なら持ってますよね!)から一転、Chromecast(こちらはChrome OSですが)が発売されましたが、Android OSとテレビの組み合わせで、どんな面白いものを出してきてくれるのか、今から楽しみです。

 

ちょっと話は逸れますが、先日「貞子3D 2」という映画を観てきまして、まあ内容については詳細控えますが、要は映画館で映画の上映中にスマホで面白い事できるんじゃね?という企画色の強い作品でして、事前に自分のスマホに貞子3Dアプリをインストールし、上映中にそのアプリを起動しておくと、本編と連動して、電話が掛かってきたり(あくまでアプリの挙動でそう見せてるだけです)、モーションセンサーを活用したり、マイクを利用して音に反応したりして、アプリ+映画が楽しめる、というものです。エンドロールを見るとカヤックさんがアプリ開発されてたそうで、流石といった感じです。そんなわけで、スマホ + α で生まれる価値には結構期待しています。

映画『貞子3D2』スマ4D特設サイト

映画館では、スマホの電源をONに! 「貞子3D2」のスマ4D専用アプリを共同開発|ニュース|面白法人カヤック

 

[参考にしたサイト]

Google Reveals Android 4.4 KitKat OS: 11 New Features and 6 New Technical Specifications Added - International Business Times

droidultimate » Android KitKat: sweetest moonshot idea ever?

Android announced Android 4.4 kitkat operating system | Techzost iWeb. 

KITKAT

 

にーよんろぐを使ってみた

最近、仕事中何してるんですか?って言われるので、サイバーエージェントさんの「にーよんろぐ」でひとりごとブログをやってみました。1日24回しか投稿できないひとりごとブログです。

 

スクショはこんな感じ。

 

f:id:punchdrunkerr:20130903003007p:plain

 

1日分をまとめたアメブロはこちら↓

 

2013/08/30のログ|punchdrunkerrのブログ

 

振り返ってみると、やっぱミーティングが多い。。。あと相談。

 

補足すると、自分の職種はエンジニアなのですが、役割としては何を作るかを決める仕事が多いので、コード書いてリリースに乗せる事は月に1,2度しかなく、つまりほぼコード書いてないのですが、技術仕様について相談/質問を受けた際は、時間が許す限りなるべく自分で実装を確認するようにはしています。

 

もちろん間違った回答してしまうと困るので、ちょっと複雑なやつはチームのエンジニアにも確認して裏は取るようにしてます。何でもかんでも丸投げしてると、何にもわかんない人になっちゃうのが怖いので、ちょっと時間かかっても実装は確認するようにしてます。

 

で、「にーよんろぐ」を使ってみて面白かったのが、1日24回しか投稿できないのと、1回30文字しか投稿できないこと。なるべく言葉は絞って、写真でわかるよねっていうところはあると思います。残念ながら弊社のオフィス内は撮影禁止エリアが結構あるので、仕事中はなかなか写真撮れないのが困りました。。。

 

あと驚くほどのフィードバック数。自分の投稿はデフォルトで全てパブリックなタイムラインに乗って、そこに「みたよ」ボタンってのがあるんですが、朝10時に初めて、昼食までに200くらい「みたよ」が付きました。タイムラインの更新頻度の高さによる盛り上りの演出と、フィードバックでユーザーの心をキャッチ。さすがです。

 

あと1日分をブログにまとめてパブリッシュできるのが楽しいですね。タイムライン型のサービスだとノイズが気になるので、良い解決策になるような気もします。ちなみにパブリッシュ時にコメントは反映されないので、補足説明をコメントしても無駄。

 

以上、体験レポートでした。

Opener 1.3をリリースしました

2年ほど前に勉強がてら作って、その後1度だけ手直ししたMac用アプリのOpenerというのがあるのですが、先日同僚のkanekoaと飲みに行ったら、目の前でプルリを送られたので、帰宅した後、マージしてリリースしました。ダウンロードはこちらになります。

Opener - Browse Files at SourceForge.net

 

Openerについては随分前の記事ですが

OS X は判ってくれない - mixi Engineers' Blog

の方で説明してます。IRCとかでwindowsの人からエクスプローラーのファイルパスを渡されたMacユーザーが、簡単にFinderで指定のファイルを開くだけのアプリです。

 

リリース後、社内でMacユーザーが結構増えた時期があり、その時に自動でsambaマウントしてほしいという要望があったので、マウント機能(NetFSMountURLSyncするだけ)の実装を行い、そのまま更新が止まっていました。

 

今回の差分はMacのサービスメニューにファイルパスを開く機能を登録できるようにしたものです。起動しただけだと使えないですが、

システム環境設定 > キーボード > キーボードショートカット

のサービスの項目のところで、「Open Selection」のチェックを入れると登録できます。ショートカットも割り当てる事ができるので、自分はShift + Cmd + O を割り当てました。これで、ブラウザ上などのファイルパスを選択した状態でショートカットキーを押せば、即座にFinderを起動できます。

 

f:id:punchdrunkerr:20130828211950p:plain

本件の差分はこちらになります。

Add support for Services · b900e15 · punchdrunker/Opener · GitHub

 

ぼんやりとした今後の展望としては、Webベースな社内ツールを簡単に開くとか、コピペプログラミングを加速する便利機能とかを乗せられたらいいなー、とボンヤリ考えております。

 

Windowsのファイルパスでお困りのMacユーザーのみなさまにおかれましては、何卒お見知りおきの程、宜しくお願い申し上げます。