Dropbox

reveil師匠作のKKJConvアニメーション

KKJConvの最初のバージョンを公開したのは2006年6月25日です。もう10年もたちました。KKJConvはNokia E61を入手して作り始めた日本語入力アプリケーションですが、これを公開したおかげで、色々な人との繋がりが出来ました。Facebook友達の多くはKKJConvの公開を通じて知り合った人たちです。東京、香港、タイ(リアルでお会いしたことはありませんが)、そして中国での生活に豊かさと幅を与えて下さった、元・現上海および北京在住の方々とは今でも仲良くして頂いています(現中国在住者は激減してしまい、寂しい限りです)。

KKJConvにも若干のマネタイズの機会や試みもありましたが実際のお金には結びついてはいません。しかしながら、この多くの人との繋がりが何事にも代えがたいものになり、それだけで十分に元がとれたどころか、大きな利益になりました。

そんなこんなで想い出深いKKJConvの誕生秘話(ちょっと大げさ)をいくつかブログに書いてみたいと思います。6月に数回に分けて書く予定ですが、大した内容にはなりませんので軽く流して頂きたいと思います。

以前、「上海地下鉄に無料Wi-Fi電波が飛んでいる」という記事を書きました。その中でAndroidで使用する時は専用アプリケーションの導入が必要と書きましたが、コメントにてユーザーエージェントでiPhoneに見せかければ大丈夫だと教えて頂きました。これは名案です。早速試して見ました。

[ 準備 ]

ユーザーエージェントを変更出来るブラウザーだけです。
– 小米 Xiaomi Mi5 + Global ROM(7.2.8.0 MAAMIDC)の場合は標準ブラウザーが使えました。設定->高度な設定/User agent stringでiPhoneを選択すれば準備完了です。
Nexus6 + AndroidNにはFirefoxを使用しました。FirefoxにPhonyというAdd-onを導入すると簡単にユーザーエージェントをiPhoneに変更出来ます。

[ 使用してみる ]

端末によって挙動がやや異なりますが、SSID “花生地铁WiFi”に接続してAndroid用のアプリケーションをダウンロードを即す画面(下のような画面)が出たところでiPhoneに見せかけたブラウザーから適当なwebサイトにアクセスするとiPhoneの時と同じく携帯電話番号にSMSでアクセス番号を送る画面を出すことが出来ました。これで無事にAndroidからもアプリケーションを使用することなく地下鉄のフリーWiFiにアクセス出来ました。

Screenshot_2016-03-04-16-54-07

ちなみに、私のMi5では上の画面の代わりに真っ白なページが表示されます。そのためAndroidアプリケーションすらダウンロード出来ませんが、iPhoneのふりをしたブラウザーでアクセスすることにより無事にWiFiが使えました。

2回目のアクセスも上と同じ手順を行いますが、電話番号の入力などは不要で、ワンクリックでWiFiにアクセスすることが出来ます。

1more
アスキーの記事で1MOREのイヤフォンを見かけて、さっそく試してみることにしました。記事中で紹介されている一番安いモデル(1M301)は中国の小米サイトでも取り扱いがあります。ということで、何時もの小米サイトで朝9時にオーダーしたら午後3時には宅配ロッカーに入りました。小米は在庫があると、何時もこんな感じで当日、もしくは翌日に配達されるので気持ちが良いです。

ということで、到着した129元(約2170円)の1MOREのイヤフォン、美しいケースに入っています。とても格安イヤフォンとは思えません。付属品は各サイズのイヤーパッドと金属製のクリップ、それとソフトケースです。

[ ケーブルの擦れ音、風切り音 ]

小米携帯電話の純正イヤフォンと同様でミニジャックから分岐部分までは布っぽい織り上げのシールドがかかっているしなやかさのあるケーブルです。分岐部分からイヤフォンまでは柔軟性は高いですが普通のビニール被覆のケーブルです。静かな環境で耳に装着して、このビニール被覆のケーブルを触るとかなり耳障りな音がします。シュアがけをしたいところですが、リモコンが耳の後ろに回ってしまいます。分岐部分の長さは十分なのでリモコンの位置を気にしなければ大丈夫とも言えます。普通に装着することにして付属のクリップを使って胸元でケーブルを固定すると擦れ音の発生はかなり抑えられます。実際の環境で使ってみると、これでほとんど擦れ音を気にすること無く使用できました。
1MoreClip
[ 鳴らしてみる ]

iPod touchに繋いで色々な音楽を鳴らしてみました。鳴らした瞬間に、これは良いと思いました。次から次へと色々なジャンルの音楽を鳴らしてみたくなります。音質に関して語るだけの技量はないので、どんな感じかは先のアスキーの記事やAV Watchの記事を御覧ください。AV Watchの記事に1MOREの理念として「優れたヘッドフォンやイヤフォンを驚くほど手頃な価格でお客様に届ける」と書かれています。まさに、それを実現していると思います。中国メーカー侮りがたし。

[ リモコン ]

携帯電話での仕様を想定してマイク付きのリモコンが付いています。このリモコンがiPhoneでもAndroidでも同様に使用できるのがとても便利です。

格安モデルで感動したのでハイレゾ対応を謳う高級機も試してみたい。公式ページによると中国各地に体験出来る店舗があります。残念なことに上海は一店舗だけ、それも松江にあるようです。家から松江まで地下鉄で一時間強、ほぼ行く用事の無い場所なので、よほど時間のある時にしか行けそうもありません。

小米 Xiaomi Mi5はUSB Type-Cコネクターを持っています。以前からOTG対応のUSBハブを持っていたので、USB Type-CとマイクロUSBの変換コネクターを介して接続してみましたが動きませんでした。

Mi5_USBHub

MacBook用に用意したUSBハブは当然USB-Cコネクターが付いています。試しにMi5に接続してみると見事にUSBメモリーを認識することが出来ました。

ただし最近のアンドロイドではアプリケーションから直接USBメモリーをアクセスすることは出来ないため、あくまでデータ交換専用になります。以前ですと、動画ファイルを沢山入れたUSBメモリーを接続してアンドロイド本体にコピーすることなく再生出来ましたが、今では不可能になりました。

キーボード(やマウス)も認識しますが、まず使うことは無いでしょう。(実際に試したのはキーボードだけです)

常用することは無いと思いますが、何かの時のデータ交換用に使える事が確認できたのは良かったです。

ノートパソコンを新調することになり、さきごろマイナーチェンジのあったMacBookを購入しました。新色のローズは流石に遠慮して無難にゴールドにしておきました。実は値段的にはあまり変わらないMacBook proと迷いましたが軽量さに惹かれてMacBookに決定しました。

すでに様々なレビューがなされていますので、大体のところは事前に予測した通りです。わたしなりの簡単な印象などを書いておきます。

– 電源を含めてUSB-Cコネクターひとつしか無いのはやはり不便。いくら無線LANやブルートゥースがあるとは言え、普通のUSB機器がつながらないと設定時から困ることは目に見えていますので、あらかじめUSB-Cに接続するHUBを準備しておきました。イーサネットとUSB3.0が2つ付いたもので本体に給電しながら使用できるものです。薄いケースも同時に購入しました。

MB_acc

– キーボードは問題なし。レビュー記事によっては慣れが必要と書かれていましたが、わたし的には全く問題なしです。MacBook Airを初めて使った時には、こんなに薄いのにキーストロークが感じられると驚きました。こんどのMacBookではキーストロークが殆ど無いのにタイプできるものだと驚きました。

– 小さい筐体ながら、スピーカーから出る音が良いと思います。本格的に音楽を聞くのは外部ピーカーが良いでしょうが、仕事をしながらAmazon Prime Musicを鳴らして見ようと思うくらいには鳴ってくれます。

– パフォーマンスは今のところ問題ありません。決して速くはないです。前に使っていたのはMacBook Air Mid 2011でi7搭載のものでしたので、おそらくプロセッサーの速度だけみれば(多分グラフィクスも)少し劣ると思います。メモリーアクセスやSSDは比べ物にならないくらい新しいMacBookの方が速いのでプロセッサーの速度を補ってあまる部分もあります。また古いMBAはUSB2.0でしたので、周辺機器アクセスは圧倒的に新しいMacBookの方が速いです。

– Retinaディスプレーは綺麗ではありますが、非Retianなディスプレーでもあまり困ってはいませんでしたので良さはまだ分かっていません。唯一、iPhoneエミュレータを起動した時くらいしかRetianを実感していません。

わたしの小米Mi5は4月最初にGlobal ROMが公開された時に無事に導入出来ましたが、その後直ぐにGlobal ROMの公開は停止されてしまいました。掲示板上の噂では不具合があったとのことですが、詳細は分かりません。

その後、4月26日にOTAでファームの更新が入りMIUI Global 7.2.8.0(MAAMIDC) Stableになりました。これで、またGlobal ROMが再公開されるとおもいきや、いまだ公開されていません。ちなみに、この更新でもともと良かったバッテリーの持ちがさらに改善されました。

何かしら不具合があるのかも知れませんが、わたしの使用状況では問題ありません。時折、再起動させる必要があったりもしますが実用上困るほどの頻度ではありません。

香港での販売が5月10日らしいので、その頃までにGlobal ROMが再公開されることを期待します。

更新) Android6からのアクセスに問題があったので使用する証明書の部分を更新(2016/MAY/2)

無料でSSL証明書が取得出来るLet’s Encryptで、このブログをhttps化してみました。このブログは共用サーバーであるCoreserver上にあるため、独立したサーバーで稼働している場合とは設定の方法がことなります。その辺りを簡単にまとめてみました。

まずLet’s Encryptは証明書を発行するドメイン名を実際に運用していることを確認して証明書を発行します。それを自動化すめためのスクリプトが用意されています。具体的にはドメイン名で運用さているサーバーの特定の場所にスクリプトが生成したファイルを置き、それがLet’s Encryptからhttpアクセスで正しく取得できるかどうかを確認することで認証されます。このあたりの事情を理解しておくと実際の作業が分かりやすくなります。

Coreserver上で直接、証明書を取得することは最初から諦めて、root権限を持つLinuxサーバー上で証明書を取得しCoreserverの管理画面で証明書をインストールするという方法で行いました。Windows上で証明書を取得することも可能みたいです。

証明書を取得する前提条件は、自分のドメインを持っている、DNSでドメイン名からIPアドレスが正しく取得できる、ドメイン名でアクセス出来るwebサーバーにファイルを置くことが出来ることです。

[ Client Softwareの導入 ]

Linux上でLet’s EncryptのGetting Startedページにあるようにgithubからパッケージをcloneして、./letscript-auto –helpを実行します。実行中にroot権限が必要になりますので、わたしは最初からrootになって実行しました。help画面が表示されるまでに必要なモジュールが多数導入されます。

[ 証明書の取得 ]

letscript-autoを実行するサーバーとwebサーバーが同一であればwebrootとかstandaloneというオプションで簡単に証明書が発行されます。わたしの場合はwebサーバーはcoreserver上にありますので、一手間かけねばなりません。

わたしの実行したコマンドは以下の通りです。

./letsencrypt-auto certonly --manual -d www.nkozawa.com

画面の指示に従って進めると、webサーバーの特定の場所にファイルを作るように画面に指示がでます。指定されたディレクトリ下にランダムな内容のランダムなファイル名のファイルをhttpでアクセス出来るように置きます。準備が出来たらletscript-autoの実行を進めると認証が完了し証明書が取得されます。以下のような画面が出れば成功です。

IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/www.nkozawa.com/fullchain.pem. Your cert will
expire on 2016-07-29. To obtain a new version of the certificate in
the future, simply run Let’s Encrypt again.
– If you like Let’s Encrypt, please consider supporting our work by:

Donating to ISRG / Let’s Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le

./letsencrypt-auto certonly –manual -d www.nkozawa.com 30.49s user 1.35s system 24% cpu 2:08.81 total

メッセージにある通り /etc/letscript/live/www.nkozawa.com/ 下に必要な証明書ファイルのリンクが出来ていました。

[ Coreserverに証明書を導入する ]
一つのユーザーで複数ドメインを使用する設定になっていないる事が前提です。具体的には「SNIを使用したSSLの設定(コアサーバー)」のドメイン設定画面のようになっていればOKです。もし複数ドメインを使用しない設定で有った場合、public_httmlの内容をpublic_html/www.nkozawa.com/下に移動るなどの手順も必要です。

上のリンクにある通りに設定します。証明書に関してはプライベートキーの欄には取得したprivekey.pemの内容を貼り付けます。プライベートキーのパスワード欄は適当な文字を入れました。発行された証明書欄にはcert.pemfullchain.pemの内容を貼り付けて完了です。中間証明書は任意となっていますが、ここにchina.pemを貼り付けないとAndroid6からのアクセスが出来ませんでした。

以上でhttpsによるアクセスが可能となりました。

Letencrypt

実際の運用にあたっては問題もあります。アマゾンなどのリンクにhttp://が含まれています。これのhttp部分を無くして//だけにしないと全く表示されません。こまめに修正するかツールを作って一括変換しないといけません。

証明書の期限が短いのでLet’s Encryptでは自動更新を推奨していますが、Coreserverでは不可能ですので定期的に手動で設定しなければなりません。

そもそもhttps化したのは興味本位です。googleのページランクが上がるという噂もありますが、個人ブログでhttpsを使用する事の必要性がどの程度あるのか良く分かりません。

ということも有り、httpからhttpsへのリダイレクト等は行っていません。将来的にどうするかは、しばし考えたいと思います。

 

– 開発者モードを有効にするのはMIUIバージョンの連打です。Build numberを連打しても何も起こりません。

– Kernel versionを連打すると何やらHardware testなる画面が現れます。何やら弄っているとバンド切り替えダイアログとかも出たりもします。予備知識無しに弄るのは危険そうなので触らないようにしています。

– ステータスバーにNotifyのアイコンが出ないのが規定値になっている。例えばGmailが到着していてもGmailのアイコンがステータスバーに現れません。ただ、設定しても本当のアイコンだけで他の機種とはちょっと違う。例えば日付と曜日をステータスバーに出すアプリケーションがありますが、固定されたアイコンしか出せません。

– アンテナピクトの横に4G+の表示が出る。LTEのCarrier Aggregationの事で、Mi5標準版では2波同時使用、高配版以上では3波同時使用が可能だそうです。実際に上海で中国移動を使用していて4G+表示が出ます。気持ち速くなった気はするのですが、あるスピードテストの結果ではほとんど効果は分かりませんでした。スピードテストも環境に依存するので、もう少し様子を見ていきたいと思います。

– カメラはわたし的には十分OK。携帯電話なので多くは求めていないです。遠景のビルの窓枠とか木々の葉っぱのような細かい模様が潰れないだけで、一応合格。ディスプレイの発色が綺麗なので撮影時にはすごく綺麗な感じがするのですが、前に使っていたMoto X Proの方がクオリティは高いかも。あまりしっかり比較はしていないです、あくまで印象です。一応、良く撮れていると思われる写真を参考までに下に貼り付けておきます。手ブレ補正は強力で、とくに動画撮影に大きな効果があるような気がします。

IMG_20160419_113905

 

小米5 Xiaomi Mi5にはQuick Charge 3.0が搭載されています。このため短時間で充電が可能になっています。昨年から使用しているMoto X Pro (Nexus6)にもQuick Charge 2.0が搭載されていて、その便利さは既に十分に享受していました。もう一度、おさらいの意味で、性能テストをしてみました。

Quick Chargeは通常のUSBより高い電圧で充電をすることが出来、かつ電圧を細かくコントロールすることで効率よく短時間で充電する技術です。Quick Charge 3.0は、Quick Charge 2.0より高い電圧の供給が可能で、また細かく電圧を変化させることが出来るようになっているそうです。

私にとって嬉しいことにQuick Charge 3.0は2.0に対して後方互換性があるのでMoto X Proの充電器がMi5にも使用可能です。これでオフィス用にひとつ常備することが出来ました。下の写真はMoto X Proの充電器でMi5を充電している様子です。確かに5V以上の電圧が出ています。ただし、このメーターは7Vまでしか計測できないものなので、正確な電圧は分かりません。おそらく表示されている以上の電圧が出ているものと思われます。

Mi5QuickCharge

急速充電の性能について簡単に実測してみました。

Mi5のバッテリー残が10%を下回るとバッテリーアイコンが赤くなります。この状態から充電を開始して30分後、1時間後のバッテリー充電状況について調べてみました。

経過時間 0分 30分 60分
Mi5付属のQC3充電器 9% 53% 92%
Moto X ProのQC2充電器 9% 48% 88%

QC2充電器でも十分に急速充電出来ます。あと、30分で出かけなければならない、みたいな状態でもちょっと充電しておこうと思える性能です。

急速充電とは、まったく別の方向性ですがMoto X Proに搭載されていたQi(ワイヤレス充電)機能がMi5には付いていないのが、ちょっと残念です。

Mi5CoverStrap

小米 Mi5には純正品のフタ付きケースを使用しています。クリアケースの類も買っていますが、やはりフタ付きが好みです。作りは安っぽいですが、かさ張ったり重くなるより良いです。中国の小米サイトで49元で売っています。

このケースの良い所は蓋の開閉を本体がセンスしているため蓋を閉じると画面が消え、蓋を開けると画面がオンになるところです。このため、ホームボタンを物理的に押下することなく使用できます。

ちなみに起動してからのホームボタンはタッチだけで機能するように設定可能です。

このケースに写真のように穴を開けてストラップを装着しました。素材が軟らかいので、紐が擦りきれてしまう心配も無さそうです。