アプリジャパン2014 参加レポート

幕張メッセで行われてたAPPS JAPAN(アプリジャパン)に立ち寄る機会があったので覚えてる範囲で感想を書いておく。

 

アプリジャパンとは

スマフォ向けアプリの開発企業などが展示を出展するイベント。幕張メッセで行われているINTERPOPと同時開催的扱いで、面積的には1ホールの1/4くらいなのでそんなに広くはない。各出展起業はデスク一個分くらいのブースをあてがわれていて、だいたい70社くらい出展してたようだ。

 

出展企業の方向性

客層が一般コンシューマではないので、モバイル向けBaaS (Backend as a Service), アドネットワーク, スマフォアプリ開発受注などが多かった。スマフォ上でとった手書きメモが瞬時に同期されます、みたいなサービスを出してるブースも3つあったのだけど、流行ってるんだろうか。

モバイル向けBaaSはなんとなくParseとAzure mobile serviceしか知らなかったのだけど、日本のプレイヤーも頑張ってはいるみたい。ただこの手のサービスって結局利用者数に比例してサービスの質が上がっていくイメージなので、海外の強いとこにどうやって立ち向かうんだろう、という気はする。

 

日本Androidの会: ARとかVRとか

メガネ型ウェアラブルMiramaのデモ展示があった。大体以下の動画と同じ内容だったと思う。

視界に写ってる手で操作するタイプなので、Google glassよりはTelepathy Oneに近そう。あくまでプロタイプということだったけど、精度はまずまず。なんでも手で操作するのが正しいのだろうか、というのはよくわからない。メガネの横にいくつかボタンがついていて、それを操作するとかのほうが人間的な操作な気がする。なんだかんだいいつつも、やっぱりこの手のデバイスはわくわくした。

 

100均で売ってるもの+Nexus 7Oculus Rift的なVRデバイスを作ってみたFake Riftのデモがあった。Oculus Riftは試したことがないのでわからないのだけど、Fake Riftもすごい没入感 + 顔の向き検知で、未来を感じた。Oculus Rift向けに作られたコンテンツがほぼそのまま流用できるというのも、かなり良い点だと思う。

開発者としてすごく魅力を感じる、売ってたら買いたいという話を軽くしたところ「開発者なら自分で作ってください」と一蹴されてしまったw ぜひ作り方を公開してほしいと思う。

 

 Mozilla Japan

Firefox OSのリファレンス機Flameのデモ機が会ったのだけど、触らず帰ってきてしまった。悔やまれる。今年夏には開発者が手にできるとのこと。

 

Mozilla busというのもあってひときわ目を引いていた。電力供給が出来て無線が飛ばせるバスとのことで、被災時の支援を想定してるほか、いろんなとことコラボしてイベント時に利用してるらしい。移動図書館のように、あちこち移動して、情報教育支援とかもやっていきたいとのこと。

f:id:nkazuki:20140613105640j:plain

田舎出身として自分の故郷みたいなところの中高生に情報教育に触れる機会を提供したい、できればリアルな場をつくりたいというのは強く思っていて、Mozillaみたいな知名度のある会社がそういう活動をしてくれるならすごく良いな、と思った。

Emaki

Emakiという写真整理・共有アプリを作っています。Android / iOS向けのネイティブアプリとして公開しています。「アルバム」を予めつくっておけば撮影した写真が現在のアルバムに勝手に入ってくれる、というのが基本アイディアで、写真の整理や共有の手間を圧倒的に削減します。

前のエントリで書いたCutstoqというものの発展系として、いろいろ成長しています。筆をあらためてまた詳しく書きたいと思います。

2013年度に関わったアプリたち

年度末にかこつけて,2013年度に開発したあるいは開発に携わったアプリについて振り返ってみる.

はちこま: Android向け予定調整支援アプリ

(2013年5月〜現在,クローズドベータ)

Googleカレンダー等と連携し,誘いたい相手の都合の良い時間帯をいくつかサジェストしてくれる,ちょっと賢い予定調整支援アプリ.招待された側はアプリ内もしくはEmailから簡単に参加可否を返答できる.

LINEで飲み会の日を決めるのめんどくさい!という友人のニーズから生まれたアプリで,Android側の実装を担当した.チームでこの規模のアプリをゼロから作るのは初めてで,それなりに大変だった.並行してビジコンとかにも出していて,結果的に良い思いをさせてもらうことができたりした.基本的な部分がほぼ完成したタイミングでいろいろな事情が重なり結局リリースまで至れていないのが残念である.

 

Decopochi: Web上で簡単にポチ袋をデザイン

(2013年11月頃〜現在,公開中)

Web上で背景やスタンプを選択し,オリジナルのポチ袋を手軽に作成できる.ポチ袋は家庭のプリンタで印刷して組み立てられる.これはもともとTHE CLIPのお二人がCookpadの24開発コンテストで開発して優勝したもの.その辺りの顛末をホットエントリー経由で読んでて楽しそうだなあと思っていた.あと,なんとなくRuby on Rails独習したものの特に作りたいものないしどうするかなあと思ってたら,ちょうどDecopochiリニューアルのためのお手伝いさんをWebで募集してたので手を上げてみた.

機能拡張にあたり,24時間で作られたコードよりむしろフルスクラッチで書き直そうという話になり,既存のコードを参考にしつつゼロから作り直していった.Rails入門として良い経験になったと思う.元のソースに機能面で追いついたあとは,ゴリゴリ機能拡張をした.会員登録機能,画像アップロード,文字スタンプ,スタンプ拡大縮小など.いろんなgem触れて楽しかった.なんだかんだRailsよりごりごりCoffeeScript書いてた時間のが多かったような気はする.JSはそんなに好きでないのだけど,CoffeeScriptはさらっと書けて良いな,と思った.

 

プロ生ちゃんストップウォッチ (Firefox app)

(2013年9月,公開中)

Firefox OSというなにやら面白そうなものがあるらしい,と勉強会出たりしてみてたころに,ちょうどプロ生ちゃんの音声データ公開のニュースがあったので二日くらいで作ってみた.音声付きストップウォッチを作るには特にデバイスのAPIに依存する必要がなかったので,単体のWebアプリ(音声注意)としても動作する.Firefox OSアプリはエミュレータ含めてとにかく開発が簡単で,可能性を感じた.

 

Doyachat: 表情の伝わるメッセージングアプリ

(2013年11月,放置中)

Doyachatはおそらく世界初の顔認識機能付きチャットアプリである.顔認識によってチャット相手の表情を分析し,画面上のアバターの表情を変化させる.Techcrunch Tokyoのハッカソンで開発して,Appsocially賞をいただけたが,個人的にはいろいろ反省もあった.その辺りの顛末はここに書いた.

 

Intellij how-do-i-direct-pasteプラグイン: やりたいことからソースコードを補完

(2013年12月,公開中)

Intellijのエディタからgithub - gleitz/howdoiを叩けるようにしたもので,やりたいことを英語数単語で書いてショートカットを押すと,それを実現するソースコードが挿入される.実態としては与えられた単語をもとにStackoverflowを検索し,ベストアンサー中のソースコードを抽出してるぽい.そのへんの処理は全て上述のスクリプト任せ.

HackerNews経由でSublime text向けの同様のプラグインを見て衝撃を受け,数時間でIntellij版を作ったけど,思いの外バズらなくて悲しかったw

インパクト重視でソースコードそのまま挿入してるけど,精度はまちまちで,提案程度に留めるのが実用上は使い勝手がよさそう.ググったコード切り貼りすればなんだかんだ動くものが出来る世の中になってきてる気がしていて,試みとしては結構面白いのではないかと自画自賛している.いかに簡単にプログラムを作れるようにするか,というのは結構興味のあるテーマで,理想世界実現のために今後も何かしら模索したい.

 

Kamikikai.com: ポートフォリオ

(2014年1月〜,構築中)

高校の友人達とポートフォリオサイトを作っている.初めて自分でドメインとるなどした.メンバーの一人が画面プロトタイプ作ってくれて,内容とか考えず作った感があるのでポートフォリオ以上の意味は現状ないけど,ここから何か産まれたら楽しい.デザイナ・エンジニア含めいろいろ人材が揃ってるので,なにかお話いただければ対応できるかもしれない.

 

Cutstoq: シンプル簡単写真管理・共有

(2014年1月〜,オープンベータ参加者募集中)

CutStoqはシンプル簡単な写真の共有・整理用スマフォアプリ.事前に誰とデータを共有するのか,というアルバムの設定さえしておけぱ,撮影した写真が自動でバックアップされ,共有相手からもすぐに閲覧可能になる.写真共有アプリは死ぬほどあるけど,まだまだ使い勝手良くないよね,と言うのが我々の共通見解であり,既存アプリのユーザを奪っていきたい.オープンベータテストを行っているので,興味のある方は上記リンクからお手伝いいただけると幸い.

 

Habik: サボると電話がかかってきて淡々と課金される習慣化アプリ

(2014年2月)

Yahoo! JapanOpen Hack Day Japan 2にTHE CLIPのお二人と参加して作った.残念ながら賞はとれなかったけど,Open Hack Dayは結構規模の大きいイベントで(たしか発表が80チームくらいあった),お祭り感が楽しかった.

 

最後に

今年はあれこれ個人プロジェクト的な活動が出来て楽しかった.とはいえ,ほとんどは土日一回でちゃちゃと作っちゃったものなので,来年度はじっくり時間かけて何か面白いもの作れたらなあと.あと,CutStoqのベータテスター募集中で,特にAndroidユーザの方は今日からご使用いただけるので,スマフォでの写真の管理や共有をめんどくさいと思ったことのある方はぜひご協力いただけると幸甚.

イケてるウェアララブルデバイス8選とその動画

ウェアラブルデバイスについて調べる機会があったのでこっちにも投稿しておく.ウェアラブルデバイスの市場は2016年までに60億ドルを超えることが見込まれてるんだとか.*1

 

面白いと思った8つの製品と,その動画を紹介する.内訳は,エクササイズ関連が3つ,ヘルスケア関連が2つ,ライフログ関連が2つ,セキュリティ関連が1つだった.

 

エクササイズ

両手がふさがっている状態でも使用できる,という意味でウェアラブルデバイスはスポーツ・エクササイズなどと相性が良い.

Fuelband (発売中)

FuelbandNikeが発売しているリストバンド型のデバイスで,あらゆる運動を独自単位Fuelによって測定する.ユーザは運動目標をデバイス上で設定することが出来たり,運動した結果を友人達とシェアできたりすることで,ユーザがよりアクティブになる手助けをしてくれる.

Run-n-Read (Waiting list)

Run-n-Readはユニークな形でエクササイズを後押ししてくれる.ヘアバンドに装着されたデバイスがランニング中の頭の揺れを測定し,iPad/Androidと通信をすることで,デバイス上の文字をユーザの揺れに対応して動かすことができる.これによって,ユーザはランニングマシンに乗りながら電子書籍やインターネット上の記事を読むことが出来る.

MOD Live (発売中)

Recon MOD LiveはAndroid内臓のスキー用ゴーグル.天気予報・マップ・ニュースのようなコンテンツを閲覧出来ることに加えて,スキー中の速度やジャンプの高さなどをリアルタイムで測定することができる.

 

ヘルスケア

ウェアララブルデバイスによって24時間365日体温等の情報を集めることが出来るため,健康管理や健康状態の記録などへの応用がいくつか提案されている.

 

OMsignal (Waiting List)

OMsignalはザ・ウェアラブルとでも言うべき,センサー付きのアンダーウェア.心拍数や呼吸などから,装着者の感情も分析することが出来,大切な人がストレスを感じた時にまわりが気づいてあげる,みたいな使い方もできるっぽい

 

Whistle (Pre-order)


ヘルスケアが必要なのは人間だけではない.Whistleは犬向けのウェアラブルデバイスで,首輪に小さなデバイスを取り付けておくだけで,大切な犬の健康状態をトラッキングしてくれて,携帯端末などから確認することができる.

 

 ライフログ

いつでもどこでも身につけているウェアラブルデバイスは,ライフログと相性が良い.

Narrative (Pre-order)

NarrativeはTシャツなどにクリップで挟める小型カメラ.身につけているだけで,1分間に2回,ジオタグとともに写真データが保存される.一日に1000枚以上の写真がライフログとして記録される計算だ.

 

Kapture (Pre-order)


Kaptureはあなたの身の回りの音声を録音する.普通の録音機と違って,Kaptureには停止ボタンがない.起動してる限り,周りの音を常にレコードし続ける.ユーザがKaptureをタップすると,直近60秒の音声データがスマートフォンなどに転送される.

 

セキュリティ

Nymi (Pre-order)


指紋などと同様に,心臓の鼓動も人によって違うらしい.Nymiは,脈拍を測定することで個人の認証を行うデバイスである.ユーザはもう鍵をあちこち持ち歩いたり,長ったらしいパスワードを覚えなくても良い.ただNymiを腕に巻いて,ドアに手を近づけるだけだ.さらにNymiにはモーションセンサーもついており,腕の動作と連動してドアを開ける,と言ったようなことが出来る.

 

参考リンク:

今後流行りそうな最先端ウェアラブルデバイス9個のプロモーションビデオまとめ | スマートフォンアプリ開発会社ディレクターブログ

【これからのハードウェアは装着型】注目のウェアラブルデバイス10選 | freshtrax | btrax スタッフブログ

 

複数のクレジットカードを統合できるwalla.by

複数のカードをひとつのカードにまとめることができるCoinに関する記事*1*2*3に対するはてブが盛り上がっている.同じくクレカをまとめる系のWallaby CardがHacker Newsで話題になっていた.

 

Wallaby Product Video

 

持っているクレカを予め登録した上でwallaby Cardを使えば,決済ごとに最適のカード(ポイント還元率が高いとか)に決済を自動・無料で振り替えてくれるというもの

 

どうやって儲けるつもりなのかはよくわからなかったけど,昔はユーザに対する課金(50ドル/年)を検討してたっぽい. 決済額多くなってくると年50ドルくらいの価値はあるのだろうか.有料でも使いたいかはいまいち実感がわかないけど,自動で一番良いカードを使ってくれるというのはスマートな感じでよさそう.

Techcrunch Tokyo Hackathonに参加した話 / ハッカソンでエンジニアが考えるべき3つのこと

11月の11, 12日に行われたTechcrunch Tokyo・Mashup award併設のハッカソンに参加してきた.我々のチームは,会話中の表情をPUX画像認識APIを利用して解析し,アイコンの表情が変わるようなメッセージングアプリを開発した.発表直前にGCMが機嫌を損ねたりしてテンパったが,Tatsuoさんの圧倒的な発表により,AppSociallyさまから賞をいただくことが出来た.せめてもの恩返しとして記録を残しておこうと思う(AppSociallyの堤さんブログ書くべしとおっしゃってたし)

 

Andoridクライアント: daisy1754/DoyaChat · GitHub

サーバ: yutopio/DoyaChatServer · GitHub

発表資料

 

 

チーム紹介はTatsuoさんの記事にあるので割愛する.Yuto氏とは最近一緒にプロジェクトをやってるので,本当は同じチームになりたくなかったのだけど,チーム組む相手を探すときに自分と興味の方向が被りそうな人が見つからなかったし,企画出来る人・デザイナ・サーバ側エンジニアが揃ってるチーム構成が良さそうだと思って加わった.

 

チームは明るい人が多く,ブレストは盛り上がったけど,決定打はなかなか出なかった.初日の15時頃に全体に作るものを発表する時間があったのだけど,結局そのとき発表したものとは全く違うものを作ることになった.初日は8時に会場が閉まるとのことで,ほとんど作業時間がとれなかった.関係者の方がもしここを見ることがあれば,来年は夜通し使える会場を手配していただけると良いかもしれません.

 

画像認識のAPIが使えるということで,最終的に「会話中の相手の表情を画像認識で解析し,アバターの表情が変わるようなメッセージングアプリ」というアイディアに落ち着いた.チームの中でAndoridアプリの開発経験があるのが自分だけだったので,自然と自分がAndroidクライアントの実装を担うことに.良かったこと・良くなかったことあわせて「3つのこと」としてまとめておく.

 

個人プロジェクト等で"貯金"を持っておくべき

前述の通り,とにかく時間がなかったので,1日目の夜中にチャット機能や,カメラ画像のアップロード,サーバからのpushをもとにアバターの表情を変更するなど,クライアント側の機能を突貫工事でつくった.最近別のプロジェクトでGCMを使ったpushの扱いや,volleyを使ったネットワークまわりの処理を書いてたので,一晩でそこそこ動くものを作ることが出来た.短い期間でものづくりをするにあたり,普段やってきたことを流用出来るとだいぶショートカットになるし,エンジニアとして実装の貯金を持っておくことが大事なのだということを実感した.

 

デモを意識して開発すべし

せっかく動くものを作れたにもかかわらず,発表の前後で結構トラブルが出てしまった.プレゼンのために他人のマシンのエミュレータ上でアプリを動作させる必要があったのだけど,開発時は実機でやっていたためエミュレータ特有の問題に気づかなかったりだとか,優先度低いと思って放置してたバグをデモ中に踏んじゃったりとか.実装的には80%くらい完成させることが出来ていたのに,発表的には20%くらいの完成度しか見せることが出来なかった感じで,情けなかった.最後にデモをやるということを意識して,それにフォーカスした開発や,優先順位付けをするべきだった.

 

優先順位を意識すべし

上と同じ話だけど,2日という短い時間であれもこれも作るというのは難しい.なので,今回はチャット機能をとりあえず作って,そこの洗練に時間を使った.おかげでそれっぽいアプリが出来て開発のモチベーションは保てたけど,Mashup Awardという観点でいうと,チャット部分を作りこむ必要は薄かったようにも思う.むしろMashup部分である画像認識まわりを作りこむべきだった.デザイナさんがAndroid開発初体験だったこともあって,デザインの調整とかにエンジニアリソースをけっこう割いてたけど,結構アドホックに時間を使ってしまった感じはある.あるべき完成像から時間配分を決めてれば,もっと魅力的なデモができたかも.

 

 

上でいろいろ反省してる通り,本来あるべき姿を完全に見せきることが出来なかったのは悔しかったし,今後別のハッカソンとかでリベンジしたい.ただ,チームに恵まれたおかげで賞をいただくことが出来て良かったし,2日でアイディア出しからデモ出来るところまで作るスピード感は楽しかった.もし似たイベントがあればまた参加してみたいし,Techcrunchのハッカソンももっと盛り上がっていくと良いな,と思った.

第二回 渋谷Javaに参加してきた

第一回渋谷java まとめ - Togetter

第二回 #渋谷Java まとめ - Togetter

 

7/27にビズリーチで行われた渋谷JavaというJava関係のLTイベントに参加してきた.

参加者のうちで学生は自分だけだった.若者のJava離れが叫ばれる.あと,自己紹介で好きなWebサービスを聞かれたので,はてなブックマークを挙げておいた.はてなブログもまあまあ好きです.Tシャツください

 

16人くらいの参加者のうち,8人がLTをしてくださった.

Final狂の詩  @numa08さん

不変な変数は最初からfinalで宣言しましょうね,という話.メンバの値を変えるときは,新しいインスタンスを作りましょう,みたいな話をしてて,関数型っぽい考えだなあと思って聞いていたら,案の定Scalaのステマだったw8/3に麹町でScalaの会があるらしいです.

 

Apache commonsに関する話 @mystelynxさん

Apache commonsという便利ライブラリ集の,特にlangパッケージに関するお話.別の人の発表で「自分が欲しいとおもうものは他の誰かも欲しい,だから探せばある」みたいなことを言ってたけど,まさにその実例だと思う.自分は便利ライブラリ系だとGoogle guava推しだけど,Apache commonsもどういうクラスあるか見てみよう,と思った.

 

昔のJavaの話 @iwaminさん

Javaユーザ歴12年ほどになる(!)Iwaminさんによる,Javaの昔話.自分は下手したら小学生とかである...

「200*年ごろ〇〇が登場 → パフォーマンスに問題」みたいなつらみのある話が多かったwそんな時代が…!という感じでとてもおもしろい話だった.あと,今普通に使われているものも,出現自体は結構昔だったりするのだなあと思った.

 

Eclipseプラグインを作った話 ルウシィさん

実際にEclipseプラグインを作ってみてあれこれ,という話.Eclipseプラグインの作り方,というよりは,問題にぶちあたったらこうしましょう,というノウハウ集みたいな感じだった.Eclipseプラグインは昔自分も作りかけたけど,ドキュメント少ない(公式のドキュメントも必要な情報が探しにくい)し,世の中の情報はバージョンが違ってたりするし,で思いの外大変だった記憶がある.「とりあえず動くものを作って,後でその意味をしらべる」というのは,なるほどなやり方だと思った.

 

Javaアプリサーバ とりあえずの監視 @chonasoさん

Javaのアプリサーバを運用・監視するお話.監視の基本はやっぱり可視化なのですねえ.綺麗な解決は必ずしも必要なくて,とにかくサービス継続を念頭におかれているところが,現場からの生の声という感じだし,あるべき姿であると思った.

 

なんでもタイプセーフリーンスタートアップ @jfluteさん

Javaってゴテゴテしてるように思われがちだけど,IDEは良いのがたくさんあるし,型から自明な記述を自動生成したり,あるいは必要な変数もフレームワーク側で自動生成することで,型安全性を生かした「コンパイルが通れば実行時にコケない」ということはやりやすいよね,という話.ある程度当たり前の話ではあると思うのだけど,流れるようなライブコーディングもあいまって,とても説得力があった.

 

わかる!ワイルドカード総称型 @yubaさん

ワイルドカード周りの話は,わかるようなわからないようなで,毎回プログラム書くときに混乱するので,どこかでちゃんと整理したい.C#とかでこのへんの話がどう扱われているか知らなかったので勉強になった.ライブラリ作る側の視点からするとC#みたいな共変性の宣言のほうが良さそうな感じがしますな…

 

じっくりコトコト煮込んだJavaのスープ @seri_kさん

スープをソースに空目していて,秘伝のソース的な話かと思ったら全然違った.あるURLから必要な情報もってくるにはJsoupというHTMLパーサ(+HTTPクライアント)が便利だよ,というお話.同じ状況だったら自分はWebDriverを使ってたかな,と思うけど,単にURLから情報引っこ抜くだけだったらJsoupのほうが良さそう.

JavaのHttpUrlConnectionがイケてないという話があって,完全に同意するのだけど,なぜ標準にもっとベターなものがないのだろう.JavaScriptも状況が似ていて,標準のXMLHttpRequestはとても使いにくく,普通の人はjQueryとかの提供するラッパーを使っている.言語側は最低限のビルディングブロックだけ提供して,あとは勝手に拡張すべし,ということなのだろうか.兎にも角にも通信する世の中なので,HTTP通信まわりくらいもう少しまともな標準クラスがあって良いように思う.

 

 

諸般の事業が重なって,LTしない・かつ終了後逃げるように帰る,という感じになってしまったけど,楽しかった.LTイベントに参加することが初めてだったので新鮮だった.次回も都合が合えば行きたい.話すほうが楽しそうなので,機会があれば発表もやってみたいな,と思った.