ラノベ日記

ラノベの感想用

先日公開したごろ寝リモコンは、GCM(Google Cloud Message)を利用して
Android→PC用Chromeブラウザの通信を行っています。

ただ、パフォーマンスに難があるんですよね…
(一秒に一回とか、ユーザー毎の回数制限があったりとか

で、調べたところChromeではWebRTC(Web Real Time Communication)に対応しているとのこと

WebRTCはHTML5で対応された新規格のP2P通信技術。
NATやファイアウォールを越えて、ブラウザ同士でP2P通信ができるプロトコルです。

これならAndroidアプリとPCを繋いで、自由度の高い通信が実現できそうです。

ただ課題もあるんですよね。

FWが無い環境では、STUNによりNAT超えができるようなのですが
FW環境では、サーバー経由のトンネル通信になります。

1ユーザーあたり数MのRAMが消費されますから、サーバーのRAMにユーザー数が依存してしまいます
無料アプリですからね、サーバーも無料で無いと赤字になってしまいます

WebRTCによる接続に成功
→高レスポンスの制御が可能

WebRTCによる接続に失敗
→現状通りGCMで通信

これでしょう

ってGA文庫の編集さんがTwitterで呟いてた。

そりゃそうですよね。

今後20年間で生涯未婚率は40%代に上昇。
生涯未婚率は、50歳時点で一度も結婚していない人の割合だから、今の20代が50歳を迎える時には4割が独身です。

今の20代・30代はパートナーを必要としていません。

生活インフラが充実したからか?
ITの発達が常時接続型のコミュニケーションを可能にしたからか?

理由は分かりませんが、同世代の友人・同僚では、一生一人で良いという考えの台頭が顕著です。
(生涯未婚率は5%以下だった高齢者世代が独身者をバカにするのは、現代の事情が見えていない証拠です)

弟が居るから分かるのですが、「家族」という関係はとても良いものです。
雇用関係や、フォロワーではない、永続的な関係です。

夫婦は、親子・兄妹という関係と違って離婚によって破棄できるのですが、それでも他の人間関係と比べれば、遥に強固でしょう。

ラブコメの根底にある「好き」という感情は、とても強い感情です。
「怒り」「憎しみ」よりも、感情の振れ幅としては大きいと思います。

怒りや憎しみで、生涯に渡って粘着するなんて話し、まれですよね。
離婚率が3割だとしても、まだ7割の人は生涯夫婦の関係を維持しています。
(惰性や、世間の空気ってのもあると思いますけどねw)

好きという感情は、もっと重視されて良いと思いますし
そうすれば、ラブコメの復権もあるのではないでしょうか

駅前で、癌に関する健康アップキャンペーン。

市から補助が出るそうで、2000円程度の費用で、予防検診を受けられるとのこと。
(よくよく聞いてみれば、40歳以上限定とかで、30代では駄目でした@川崎市)

大腸がんや肺がんの説明も聞いたのですが、乳癌の説明が印象的。

おっぱいの模型があって、これが正常、これが乳がんという説明
で、この硬さをよく覚えておいてくださいと。

いやいや……
乳繰り合ってるリア充カップルならともかく、私のようなキモヲタが、おっぱいの硬さを思い出す機会があるとお思いで!?

まぁ、知識があれば、癌を早期発見できて命を救える事もあるかもしれませんから、損はないです。


てか
おっぱいって柔らかくないんですね…
アニメだと、ものすごく柔らかい部位として描かれていますが、あれ嘘です。
力を抜いた状態のふくらはぎより硬く、太ももより柔らかい。

永遠の謎の一つが解決してしまいました。。

しばらく書いてなかったけど、やる気が戻ってきたので書く!

Chrome拡張、以前調べた時はPythonで作るとか書いてあって、ちょっと厳しいかなぁと断念したのですが……
改めて調べてみればHTML5で作れるとの事。

チュートリアルもあり、これはいけそうと確信
https://developer.chrome.com/extensions/getstarted

manijest.json
アプリ名や、ソースコードの一覧を書きます

popup.html
Chrome拡張のアイコンをクリックした際に表示される画面。
(普通のHTMLを表示してるだけなんですね……)

あとは、制御用のJavaScriptやCSSファイルです

で、とりあえず作ったもの

○ごろ寝リモコン
スマホでニコニコ動画を再生しているPCを制御しようというアプリです。
だって、布団に入ったまま動画みたいじゃないですかw

Androidアプリ
https://play.google.com/store/apps/details?id=com.esp.nrmo

Chrome拡張
https://chrome.google.com/webstore/detail/ogelmamdoaimikojgpebacnllicemdjb

Bluetoothがなかなか普及しない理由の一つに「ペアリング」があります。

赤外線やUSBが「向き合わせるだけ」「挿すだけ」なのに対して、検索して→PIN番号を入力してと面倒ですよね。
流行らないのも納得です

勤務先で作る新製品にBluetoothを使う事になったので、面倒な手順を無くす方法を考えてみました。

・検索して
 検索が必要なのは、複数のBluetooth機器が通信可能範囲にある状況が考えられるからです。
 (赤外線やNFCに「検索」が無いのは、そもそも複数の機器と同時に通信する事が考えられないからです)

 NFC・QRコードで
 これは、通信相手のMACアドレスか製造番号を、NFCやQRコードで通知すればよいでしょう。
 (じゃあNFCで通信しろって思われるかもしれませんが、NFCでP2P通信ができるようにR/Wを搭載するのと、激安のNFCタグを貼り付けるだけでは、コストに大きな違いがあります。更に安いのはQRコードです。)

 スマホ・周辺機器のどちらから接続開始するかにもよりますが(セントラル・ペリフェラル)
 アプリの作りを工夫すれば、Bluetooth機器の通信ボタンを押すだけで、接続・通信までできると思います。


・PIN番号
 BluetoothにPIN番号の入力が必要なのは、Bluetoothが暗号用の鍵をディフィーヘルマン方式で交換しており、ディフィーヘルマン方式には「中間者攻撃」の危険があるからです。

 NFC・QRコードで
 中間者攻撃への対処といえば、鍵値への署名です。
 NFCやQRコードにMACアドレスを入れておくのであれば、合わせてDSA署名の公開鍵を入れておけば良いのです。
 暗号化鍵の交換では、ディフィーヘルマンの公開鍵をDSAで署名して署名値を合わせて送ります。
 受け取った側は、予め入手しているDSA公開鍵で検証できます。

これでペアリングやPIN入力は不要ですね!!

このロジックは勤務先の製品に採用する予定のものですが、特許性も無いと思われますので公開しておきます。
(用途を特定して申請されると困ってしまうので、上記のロジックに関して、錠前、電気錠システム、出入管理システム、Bluetoothを鍵媒体とするセキュリティシステム、において公知とします)

iPhone6の発売が近づき、勤務先でもNFCが搭載されるかも?
っていう話題がちらほら出ています。

でも、今更NFCを搭載する意味があるのでしょうか?
(もちろん、弊社が出荷しただけでも数十万台のNFC機器が稼働しており、それらの遺産を利用できると考えれば素晴らしいことですけどね)

1.実装面積
NFCは比較的低い周波数の電波を利用した通信です。(13.56MHz)
周波数が低ければ、大きなアンテナが必要になります。
ハードウェアチームがかなり頑張って小型化したのですが、3cm程度の大きさが必要でした。
(10円玉程度の大きさのアンテナもありますが、ほぼ密着させねばならず、自動改札機のような使い勝手にはなりません)

Bluetoothは2.4GHzと高い周波数の電波を利用しているため、アンテナも小型化です
アンテナだけであれば2x4mm角程度。制御用ICとアンテナを一体化したものでも7x8mm程度のものがあります

2.価格
NFCモジュールは制御IC+アンテナの合計となるため800円程度です
Bluetoothモジュールは300円程度です

3.普及
ガラケー時代であれば、搭載率89%というおサイフケータイには大きな可能性がありました。
しかし、スマートフォンが一般化してから、特に国内ではシェアの6割を握るiPhoneはBluetoothのみの対応です
(一般化できるかを考えた場合、価格や技術面よりもこれが大きいです)

4.用途
NFCには「翳す=通信+ボタンを押す」
という2つの動作を同時にできる利便性があります。
Bluetoothは、アプリを起動して通信を開始しなければならない煩わしさがあったのですが、今のiPhoneは大幅な省電力化に成功しており、NFC同様翳すだけで通信を開始することも可能です
(常駐型のアプリを利用し、常に待ち受けしておく。この状態でも電池消費への影響は5%以下です)

5.カードメディア
NFCが優っている点は、カードを利用できるところです。
十分に普及しているとはいえ、老若男女問わずスマートフォンを所持してるわけではありません。
実際、維持費が高額であることを考えれば、この先もお年寄りや児童にまで普及する可能性は低いと思われます。
維持費を考えると、Suicaのようなカードの方が普及には有利です。(電池が不要である点も大きいです)
FeliCa:300〜500円
FeliCa-Lite S:100円
Mifare:50円

Bluetoothドングル:600円(電池別)

海外で圧倒的に普及しているのはMifareです。(製造枚数では10倍以上の差があると思われます)
技術面ではFeliCaが優っているのですが、結局普及の鍵を握ったのはコストでした。
コストを無視して、技術だけに目を向けていても、普及は難しいのが現状です

(FeliCa LiteSは、Mifareに対抗するために、最近になって作られた機能縮小版の派生規格です)

コンピューターの相手ばかりしてたから思考が二極化(0か1か)したのだと思っていたのですが、どうやら孤独な状態が続くと現われる、よくある症例だそうです。

私の場合は、会社と社員寮の往復のみという生活を7年近く続けていて、寂しい状態を脱するには結婚しかないと思っていたのですが、このような考え自体が精神異常だったようですね。
(大変有難いことに、マブダチと呼んでくれる親友ができて、孤立状態が解消されました)

■二極化した思考
0.死ぬ
 まぁ、寂しさからは確実に脱却できるはずです。

1.結婚する
 まぁ、もっとも精神的な結びつきが強い状態だと思います

会社と社員寮の往復を続けていた頃は、この0,1だと思っていたわけです。
「結婚する」は完全に不可能なわけですから、死ぬしかないという思い込みが発生します。
(バカな話しだとお思いでしょうが、他の可能性は全く思い浮かびませんでした)

■第三の選択肢
改めて考えてみると「死ぬ⇔結婚する」以外の選択肢が無数に存在しました。
例えば、友人が居れば、それは孤独ではありませんよね。
社会福祉に打ち込めば、家庭を持つよりも有意義な人生が送れるかもしれません。

■結婚できなくても
結婚すれば幸せになれると考えている人も多いと思いますが、結婚自体が幸せと直結しているわけではありません。
「結婚は自分のためのものではない」(gigazine 2013/11/11)

「結婚は結婚相手の為のものであり、互いが相手を幸せにする事で、幸せな家庭になる」

つまり、結婚するから幸せになるのではなく、結婚相手によって幸せがもたらされるという事です。
少し強引な言い方をすれば、自身の幸せは自分ではどうにも成らないもので、相手の幸せに尽くせば良いということになります。

これなら、結婚していなくてもできますよね
幸せにしたい相手が見つかったなら、できる範囲で尽くせば良いのです。
(ストーカーみたいになる事もあるので、あくまで相手の同意が必要になりますが)

短いながらも盆休みが取れたので帰省した。

田舎にある実家に帰ると

・まだ結婚できないのか?
・近所の家は皆結婚して子供も居るのに、オマエは東京に出ていって結婚もしない。
 なんて親不孝なやつなんだ!

適齢期の人間にならともかく、私の年齢であれば諦めに入る頃なのにですよ(笑

私の場合は結婚したくてもできないというものですが、結婚したくないと言ってる友人も多数居ます。
ですが、私も彼らも、親不孝したくてして結婚しないわけではありません。

子供は親の所有物ではありません。
ましてや成人していれば、保護者ですらありません。

あたりまえの事が分かっていれば、責めることなどできないと思いますよ?
その上、今年は都議会のセクハラが問題になったばかりですから、世間一般の常識があればそういった発言すら憚られるものでしょう。

勤務先がBLE(Bluetooth Low Energy=Bluetooth4.0)搭載製品の開発に沸いてる。
てか、一件中止になって、別案件が発生。

NFCはAndroidだけだけど、BLEならiPhoneも使えるから良いよねー
という判断からの採用だったのですが……

ま、そう都合よくはできませんね

●Android4.3はPeripheralになれない
iPhoneはCentral・Peripheralの両方になれる

●iPhoneのCentralはGATT Serverになれない
iPhoneはCentral、Peripheralの両方になれるものの、GATT Server/GATT ClientはPeripheral/Centralで制限がある

●iPhoneはWriteWithoutResponseは、送信完了が分からない
Androidは送信完了時にCallbackされる

●AndroidのAutoConnectは高速に接続できない
 5秒くらいかかります

ま、特に2番めに違いは辛いです

プログラマの立場からすると押し寄せるバグ報告は悩みのタネなのですが、発見困難なバグの解決にはユーザーからのバグ報告が欠かせません。

Androidアプリではレビューやメールアドレスが公開されており、ユーザーがバグ報告をするのも普通の事になっています。
今回、企業の提供しているアプリでも柔軟な対応が行われるのか、ユーザーの立場でバグ報告をしてみました。

バグ報告したアプリ
BOOK☆WALKER
(角川グループの提供する電子書籍アプリです)

バグの内容
電話を着信すると、表示していたページの位置が、読み始めた位置まで戻ってしまう

バグ報告
今回はメールで行いました
7/30

返信(1回目)
7/31

一日で返信がありましたが、さて、ここからが対応の見せ所ですね。
たらい回しだったり、開発しているのが外部の委託先だったりで、早々に解決しないのが企業様のアプリです。
何日で解決に至るのでしょうか??