ラノベ日記

ラノベの感想用

カテゴリ: Android

新規加入は端末0円でキャッシュバック3万円なのに、機種変更は6万円掛かると言われてしまっては、流石に辞めたくもなります。
(10年以上AUを使ってきたのですがね…)

ドコモ/ソフトバンクと聞いてみたのですが
基本的に7020円で横並び
(通話定額+データ通信)

Yモバイルだけ少し安くて、4000円
(通話が定額ではなく、月300回まで)

皆さん、通話が無料です!
とアピールされてました。

え……
そんな通話しないし……

ということで格安スマホ
2GBのLTEデータ通信と、従来の電話番号が使えて1680円

何でそんなに安いの??
と思ったのですが、端末0円も無し、キャッシュバックも無し
なら、これくらいで運営できるって事なのでしょう。

他の格安スマホも検討したのですが
AUの端末を継続して利用できるのはUQモバイルとmineoだけ。
どちらでも良かったのですが、ヨドバシカメラの店頭ですぐに開通できるということで、UQモバイルにしました。

変更作業
AUに電話してMNP番号を取得する作業から開通までで1時間程です
SIMカードを受け取って、電話番号もそのままに、移行完了。
(余っていたAUポイントは、BOOK☆WALKERでラノベを買うのに使いました)

ただ、何故かいつまで待ってもデータ通信ができず、店員さんもクビを傾げる事態に……
改めて調べてみるとAPNの設定が必要だったようです
UQモバイルのHPを参考にAPNを設定する事で、データ通信も可能になりました。

感想
今回、端末をそのまま使ってるので、大きな変化は感じられません
(@ezwebのメールアドレスが無くなったのは、そのうち困るかもしれませんが…)

先日公開したごろ寝リモコンは、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で通信

これでしょう

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に対抗するために、最近になって作られた機能縮小版の派生規格です)

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

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

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

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

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

返信(1回目)
7/31

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

「リスト型アカウントハッキング」
聞きなれない言葉に感じられるかも知れませんが、9割の人が抱える脆弱性と言われています。

難しい名前が付いていますが、下記のようなものです
1.複数のサービスでユーザー名(メールアドレス)・パスワードを共有
2.管理の甘い会社からパスワードが漏洩
3.漏洩したユーザー名・パスワードで、セキュリティ対策のしっかりしたサービスまで乗っ取り

LINE、ニコニコ動画等の大手インターネットサービスや、オンラインバンキングで多数の被害が出ている模様。
ニコ動や、LINEからは警告が出てますよね。

てか、セキュリティ業界的には、騒がれ始めてから2年経つのですが、改善の兆しところか、悪くなっているのだから対処法なしという感じです。

対策
・全てのサービスで異なるパスワードを利用する
・2段階の認証を利用する(ログイン時には携帯に届くSMSを利用する)

まぁ、どちらも面倒でやってられないでしょうから、仕方ありませんね。

先日
数年前に事故で亡くなった友人から「LINE ○○さんが友人になりました」
という通知があり、故人を騙るなんて悪質過ぎる!と思ったのですが……
利用者名は全く違う方だったので、どうやら亡くなった友人の携帯電話番号が再利用されただけのようでした。
(亡くなってしばらくは、遺族も「あの子が帰ってくるような気がして」と携帯をそのままにされていたので、改めて時の経過を感じます)

電話番号が再利用される可能性については殆ど考慮していなかったのですが、意外に申告な脆弱性かもしれません。
(金融機関の2段階認証は、電話番号のみで送信できるSMSに届きます)

Googleの推奨しているフリーミアムモデル(笑)ってやつですね。
全く中身の分からないアプリにお金を出すのは難しいと思うので、一部無料というのは、悪い方法ではないと思います。

このアプリの元々の目的は無料部分にあるので、有料版欲しい人は、少ないかもしれません。


https://play.google.com/store/apps/details?id=com.esp.lcontrol_e

AndroidのRemoteViews。
通常のViewと違い、OS側のタスクで動作しているため「Remote」となっているようです。

使い途としては、基本的にホームスクリーン上に配置する「ウィジェット」なのですが、今回はステータスバー(通知バー)上に配置するアプリとして使いました。
ウィジェットとカスタム通知、原理的には同一なので天気予報や、株価を配置することも可能です。
(大きさの制限が少ないウィジェットと異なり、高さ64dpという制限を受けます)
(ディスプレイサイズにより幅は可変ですが、高さは64dpのようです

https://play.google.com/store/apps/details?id=com.esp.lcontrol&hl=ja
現在有料版のみを公開していますが、準備ができ次第無料版もリリースする予定です。

最近のスマートフォンには加速度センサーが搭載されています。
加速度センサーって???
という認識だったのですが、本体の傾きや、重力の上下を感知できます。
http://ednjapan.com/edn/articles/1205/16/news110.html

で確認用に作ったのがこれ
https://play.google.com/store/apps/details?id=com.esp.motiontest

これ、上手く使えばすごく面白くなりそうです

小説家になろうダウンローダーのKindle対応ってことでKF8を考えたわけですが……
KindleGenを使う以外の生成方法が見つかりません。

ではmobiでと考えたのですが
これも資料が無い。

てか、資料に記載されたフォーマットとMobipocket Creatorの生成するmobiは違うものっぽい。


ではMobipocket Creatorが生成するファイルは何なのか?
というところなのですが、どうやらRPCというものみたいです

ようやくまともな資料がみつかりました。
これでKindle対応ができます。