献血 10 回達成した

f:id:pika_shi:20161103213640j:plain

11/3 の献血でちょうど 10 回目だったようで,いろいろ記念品をもらった.学生の時に京都で初めて行ったのをきっかけに,東京に来てからも時間がある時に行っている.

献血すると抜いた分新しい血がつくられるので身体によいと言われているが,実際に献血に行くとしばらく体調がよくなっている気はしていて,それがモチベーションになっている.その結果として誰かの命を救えているなら Win-Win であるように感じる.

献血ルームによっても雰囲気は結構違っていて,個人的には吉祥寺の献血ルームが 1 番好きでよく行っている.渋谷とか池袋とかの献血ルームは混んでて待ち時間が多く,看護師さんも結構バタバタしている印象だが,吉祥寺は休日でも割と空いていて落ち着いた空気が流れている.

学生時代につくった 人生の 100 のリスト に書いてある「 献血 10 回以上する」をあっけなく達成してしまった (当時は 10 回というのはハードルが高かったのだろうか) が,今後も毎年 3 回 (全血献血は年 3 回まで) 継続して行き,30 回,50 回と達成したい.

f:id:pika_shi:20161103213511j:plain

過去にもらった けんけつちゃん グッズをあさったら結構出てきた.

【2016.9.23-25】八重山諸島へ

f:id:pika_shi:20161003000032j:plain
シルバーウィークに,Life is Tech! のメンバー4人で八重山諸島に行ってきた.沖縄本島は大学時代 3 回も訪れたが,離島は今回が初めて.今年は例年以上に台風が多かったが,ちょうど合間を縫って 3 日間とも晴れだった.東京は涼しくなってきていたものの,沖縄は3日とも30℃をこえる真夏日.海はどこも澄んでたし,星もめっちゃ見えて最高だった.

初日は那覇経由で15時過ぎに石垣着.宿 (Airbnb でマンションの一室を借りた) に荷物を置き,川平湾,ふさきビーチへ.18歳の時に免許を取って以来8年ぶりに運転したが,石垣島は交通量も少なく意外と何とかなった.2日目は西表島へ.一帯が緑で覆われており,まさに秘境といった感じ.マングローブが広がる川をカヌーで下っていった.そして最終日は竹富島へ.自転車で1時間もあれば1周できるような小さな島で,とてものどかだった.ポケットにスマホ (2台) 入れたまま浅瀬を歩いてたら,急に深くなって2台とも水没させてしまった.写真はほぼ消えてしまった.

日陰ルート検索アプリ inShade をリリースした

f:id:pika_shi:20160828203955p:plain
できるだけ日陰を通るルートを検索するアプリ,inShade をリリースした.

目的地までの複数のルートの中から日陰領域が最も大きいルートを検索する.現在時刻における太陽高度・方位角と周辺の建物の高さをもとに,ルートの各地点が建物の陰になっているかを判定している.この仕組みについては特許出願中.

建物の高さの取得がかなり大変だった.まだ東京 23 区内しか取得できてないが,順次エリア拡大していきたい.取得方法は以下の記事にまとめている.

また,建物の高さデータが膨大で,検索にかなり時間がかかってしまっているので,今日 ElasticSearch と戦っていたが,データの Indexing に時間がかかりまだ改善できていない…

リリース後,かなり反響があり,翌日にはフジテレビのニュースコーナーにも取り上げられた.
f:id:pika_shi:20160828211420p:plain

App Store ではナビゲーションカテゴリの新着やランキングに掲載され,人気検索にも出てた.

f:id:pika_shi:20160828211933p:plain

SNS でのシェアのみでここまでいったのはなかなかうれしい.これまで広告費 1 円も払ったことがないが,いいものを作ればプレスしなくても自然と広まっていくし,逆にいまいちであれば人目に大きく触れることもなく淘汰されていく.お金をかけられない以上「コンテンツのよさ」のみが勝負の全てであり,それが個人開発の醍醐味でもある.

Facebook アカウント交換アプリ「Hz」をリリースした

f:id:pika_shi:20160802004805p:plain

ボタンひとつ,たった 5 秒でその場の全員と Facebook アカウントを交換できる iOS アプリ 「Hz (ヘルツ)」 をリリースした.

アプリの概要

Hz では,5 人いても 10 人いても「誰か 1 人」がボタンをタップするだけで,その場の全員がお互いの Facebook アカウントを交換することができる.以下の動画を見れば,誰かがボタンをタップすると,タップした人のアカウントだけでなく,近くでただじっと待っているだけの人のアカウントまで取得できていることが分かると思う.

Facebook アカウント交換には大きく分けて以下の 2 つの問題点があると思っている.

1. 相手を探すのが面倒である

初対面の人と Facebook アカウントを交換するの,結構大変ではないだろうか.相手の名前聞いて入力し,検索結果に同じような名前の人がずらっと出てきてその中から探す… というアナログな手段が未だ主流となっている.「あっ,ローマ字で入力しないと出てこないかもです」とこれまで僕は何回言ってきただろう.最近は QR コードでの交換も提供されているが,知らない人も多い上に,カメラ立ち上げて撮影して… とこちらも結局面倒な作業が必要になる.

2. 1:1 でしか交換することができない

Facebook は基本的に 1:1 でしかアカウント交換することができない.つまり n 人いたら nC2 回の交換が必要になり,O(n^2) なので人が増えれば増えるほどコストがかかる.交流会や合コンなどで周囲の人とまとめてアカウントを交換したい時などはかなり面倒である.

Hz では,「誰かが 1 回」「ボタンをタップするだけ」でアカウントを交換することができ,これら 2 つの問題を同時に解決している.これ以上簡単にはできないのではないだろうか.


f:id:pika_shi:20160807093712p:plain

使用技術 (超音波通信)

Hz では,超音波通信を利用することで,スマートなアカウント交換を実現した.超音波通信では,人には聴こえない高周波の音に情報を載せ通信をおこなう.iOS では 20kHz くらいまでは出すことも聴くこともでき,Hz では 18kHz~20kHz あたりの周波数帯を利用している.

自分は超音波通信にかなり可能性を感じていて,近距離通信の中ではベストな通信手段だと思っている.近くの人と情報を共有するには Bluetooth によるペアリングや QR コードの読み取りなどが利用されることが多いが,決してどれも手軽とは言いがたい.また,LINE にはふるふるのような機能もあるが,GPS ベースなので精度は芳しくない.一方で,超音波は「音」なので Bluetooth のようなペアリングが当然必要なく,かつ QR コードのように 1 つずつ読み取る手間もかからない.さらに,超音波は周囲の人にしか届かないため,GPS と違って全然関係ない人に追加される心配もない.Hz は,超音波通信のこうような性質をうまく利用することで,従来より「簡単」でかつ「高精度」なアカウント交換を実現した.

ここに書いているような超音波通信への熱い思いは以前 Qiita にもまとめた.

超音波を用いた情報の送受信方法も↑の記事に書いているが,工夫した点は,iPhone の左右のスピーカーから別の周波数帯の音を出し,誤り訂正を容易にできるようにした点である.また,超音波が全ての情報の送受信を行っているのではなく,iPhone 同士がペアリングした後は WebSocket が情報の送受信を担っている.特許を出願するために弁理士と相談していたが,個人で支払うには高すぎて結局諦めた.

超音波通信が大きく普及しない理由は,標準のプロトコルが現時点で存在せず,サービスごとに規格を自ら考える必要があるからだろう.また,帯域がかなり制限されるため,普及したら普及したで超音波同士が干渉しあう気もするので,それも普及の妨げになっているのではないかと思う.ただ,LINE に超音波でアカウント交換できる機能が一瞬存在したり (すぐ消えたのでほとんどの人が知らない),JR の電車内ではずっと超音波が出てて,どの車両がどの程度混雑しているかを把握していたりと,徐々に利用事例が増えてきており,今後大きく普及する可能性は残っているだろう.

TechCrunch 編集長の西村さんも書かかれているとおり,ネットワーク外部性の強いアプリなので大きく普及することはないと思うが,超音波通信の可能性は示せたのではないかと思う.Facebook に公式でこのような機能が取り込まれてほしい.

開発に際して

週末にぼちぼちやっており,リリースまで 2 年くらいかかった.β 版は 2 年前の時点で完成していたが,そこから Swift に書きなおしたり,デザインを全面リニューアルしていたりするうちに,あっという間に時が過ぎていた.前職を退職してからは週末もあまり時間が全然とれずお蔵入りしかけたが,何とか世に出せてよかった.そして超音波通信自体も 2 年間で時代遅れになったりはしておらずホッとしている.以下の動画は 2 年前,アプリのレビュー時に提出したもの.機能自体は今と同じだがデザインが最高にダサい.


また,以前アイデア考案のデザインパターンをまとめたが,Hz は ② n-click を 1-click, 1-click を 0-click にする と ③ 最新技術や興味深い技術をサービスに落としこむ を用いている.

INTEMPO など,Adriablue で開発するプロダクトはアイデア先行でそれを技術に落としこむものが多く,一般のユーザにもウケがいいものが多いが,それ以外で作るもの,特にエンジニア同士で開発するものはどうしてもボトムアップでユーザに伝わりにくいプロダクトになってしまいがちであり,Hz もその一例である.ただ,エンジニアとしてこのようなテクノロジーありきのプロダクトを作るのがまたワクワクするのも事実.トップダウンボトムアップの両サイドから攻め,うまく融合することができた時に本当にインパクトの大きいサービスができると思うので,両者の視点から考える習慣を今後も続けていきたいと思う.

【2016.7.9-14】Hypertext2016@Halifax

カナダのハリファックスで開催された Hypertext2016 で学生時代の研究発表してきた.

Hypertext は 1987 年から開催されている,由緒ある国際会議.かつては名前の通り Hypermedia に関する研究がメインターゲットの会議だったが,最近は時代を反映して Socialmedia に関する研究も多く発表されている.

f:id:pika_shi:20160716225119j:plain

自分は Classification of Twitter Accounts into Targeting Accounts and Non-Targeting Accounts というタイトルで,Socialmedia Analysis のセッションで発表した.初日ということもあり聴衆は結構多かった.発表は無事に終えたものの,質疑応答はネイティブの英語全然何言ってるか分からなくて何度も聞き直してしまった.英語本当に勉強せな… (n 回目)

f:id:pika_shi:20160712090326j:plain

ハリファックスはカナダの東端で,日本とはちょうど真反対.時差も 12 時間でいつもより時差ボケしんどかった.気温はあたたかく,半袖で外に出れる感じ.小さい街で特に何があるわけでもなかったが,自然はかなり豊かだった.港町でシーフードがおいしかった.

f:id:pika_shi:20160711192249j:plain

カナダでは日本に先立ち Pokémon GO が配信開始されてて,やりながら歩いてる人いっぱいいた.30 匹くらい捕まえて,レベルも結構あがった.中毒性高くてやばい.

f:id:pika_shi:20160717001805p:plain

行きはニューヨーク経由で,少し時間があったので観光した.ウォールストリートやタイムズスクエアなど,映画でよく見るようなとこは 1 通りまわった.ワールドトレードセンターは新しいタワーが完成しており,めっちゃ高かった.テロで爆破された 2 つのタワーの跡地は滝になっており (下の写真),亡くなった人の名前が周囲に刻まれていた.

また,ニューヨークは東京なみに地下鉄が張り巡らされていて,どこへ行くにも困らない感じだった.切符買う際,クレジットカード入れて PIN 入力しても買えなくて戸惑ってたら,よく見ると "Please enter your ZIP CODE" って書かれてて,何で郵便番号やねん!って思いながら練馬のアパートの郵便番号入力したら買えた.

f:id:pika_shi:20160710020133j:plain

日本からニューヨークまでは ANA だった.esta 登録し忘れていて超ギリギリで飛び乗った.ANA の国際線初めてだったが,ごはん美味しいし,なぜかプレミアムエコノミーになって座席も広かったし最高だった.映画のラインナップも豊富で,ズートピアとコナンと僕だけがいない街の 3 本観た.ニューヨークからハリファックスのフライト (ユナイテッド) はめちゃめちゃ遅れて,ホテルに着いたの次の日の朝 4:30 くらいだった.帰りはボストンとシカゴ経由で日本へ.ボストンまでは先生 (大学院の時の指導教官) も同じフライトの予定だったが,乗り遅れたみたいでいなかった.