2018年9月17日月曜日

Airpods のススメ

先日 (9.12) に Apple のスペシャルイベントがありました
そこで iPhone と Watch の新作の発表がありました

個人的に期待していたのは Mac mini と Airpods だったのですが全くかすることもなく終了してしまいました
本当はイベントで Airpods の新作が発表されそれを購入する予定だったのですが出なかったので我慢できず Airpods を購入しました

1 週間くらいしか使ってないですが、使ってみていろいろと感じることがあったので紹介します
Good, Bad で紹介しています
「ってか Bad 多いじゃん!」って感じなのですが基本は Good なので大丈夫です

Good

「線」がないという素晴らしさ

そもそも紐がなく、プラプラもしていないので耳への負担が少ないです
持ち運びするときも線が絡んだりどこかに引っかかる心配もありません
イヤホンジャックに接続するという手間もないです (ケースから取り出すという手間はありますが)

とにかく今まで線でイライラしていたことがすべて解消されます
この UX を得られるだけでも購入する価値はあると思います

耳の着脱で bluetooth の接続/切断ができる

ケースから取り出し耳に着けるだけで Mac なり iPhone と Bluetooth 接続されます (もちろんペアリングしたあとからです)

片耳だけ外すと停止することができます (できるアプリとできないアプリがある)
両耳を外すと Bluetooth を切断します
なので停止ができないアプリなどはいきなりスピーカーに切り替わったりして恥ずかしい感じになる可能性があるので事前にアプリを停止しておくことをおすすめします

この着脱の UX もやってみると素晴らしいと分かります
いちいち Bluetooth の設定画面にいって接続するみたいな作業はやはり面倒です

デザイン

最近のイヤホンは「カナル型」と「インナーイヤー型」に大別できるかなと思います
Airpods は「インナーイヤー型」になります
自分は耳があまり丈夫でないためカナル型を使うと耳がすぐに痛くなります
また酷いときは頭痛などに発展します

カナル型の完全ワイヤレスイヤホンは結構たくさんあるのですが、このインナーイヤー型の完全ワイヤレスイヤホンはたぶん Airpods 以外ないと思います
Airpods のパクリみたいなやつが一時期登場して噂になりましたが、おそらく耳に着脱した際の自動接続やあとで紹介するダブルタップの機能などはないと思います
というかそういうのは買わないでちゃんとしたのを買いましょう

ちなみに Airpods の本物は以下で

当時噂になった偽物 (i7s) は以下です

ええほとんど同じです
そして偽物はなんと 800 円くらいで購入できます
確かに価格だけみたら非常に魅力ですが、まぁ安かろう悪かろうってやつです

でデザイン的にインナーイヤー型の完全ワイヤレスイヤホンが Airpods しかなかったというもの購入の理由の一つかなと思います
発売当時は「耳からうどん」というフレーズが流行りましたが、それも今やほとんど聞かなくなったかなと思います
むしろ今は Airpods している方が「どや」できるかなーって気もしています。

iCloud に登録してあるデバイスは勝手に接続できる

同一の Apple ID でログインしている端末同士は特にペアリングを行わなくても接続できました
ただ、デバイスを切り替える場合は手動で作業が必要で例えば Mac から iPhone に切り替える場合は iPhone の Bluetooth の設定メニューから Airpods に接続しないといけません

もしかすると Mac 側がスリープになっていれば iPhone を優先してくれるかもしれません
また同一 Apple ID 外で管理しているデバイスも同然ですが手動でペアリングする必要があると思います

充電もそこそこ持つ

Airpods の充電方式は少し特殊でバッテリーはイヤホンとケース側にも実はあります
要するにケースにしまっている間はケース側のバッテリーを使ってイヤホンを充電することができるのです
ケースがモバイルバッテリーになっているイメージです

フル充電で連続可動 5 時間が公式の情報です
そしてもしイヤホンのバッテリーがなくなっても 15 分ケースに入れておけば再度 3 時間連続再生できるという謎の急速充電機能もあります

ケース側の充電さえ怠らなければバッテリー切れの心配はないと思います
肝心のケース側の充電は自分の場合 3, 4 日に 1 回実施するペースです
ちなみにバッテリーの充電中はイヤホンは出しても入れてもどっちでも大丈夫です

クラムシェルとの相性がいい

普段 Mac Book Air をクラムシェルで作業することが多いのですが、その際に Earpods だと線が短くて使えませんでした
しかもクラムシェルの場合モニタにスピーカーがあるとそっちにいってしまうため音楽とかは流せませんでした

Airpods があればクラムシェルの状態でも直接 Mac の音を聞くことができます
また線の短さも考えなくていいので結構距離が離れているクラムシェル環境でも問題なく使えます

Android でも使える

これは少しビックリしたのですが Android でも使えました
Airpods のケースの裏側に白いボタンがあり、蓋をあけて少し長押しすると LED ランプが白色で点滅します
これがペアリング待ちの状態なのでその状態で普通に Android の設定画面から Bluetooth 接続でデバイス検索して接続すれば使えます

使えるんですが Airpods のありがたみを味わうことができません
耳の着脱の自動接続やダブルタップ時のアクションは設定できません
また充電情報などもデフォルトでは確認できず Android 版の Airpods 用のアプリがいろいろと出回っているので、どれかダウンロードしてそれを使う必要があります
とりあえず完全ワイヤレスイヤホンとしては使えますがやはり本来の力を発揮するのであれば Apple 製品で使ったほうがいいでしょう

Bad

ダブルタップ難しい

先程から話しに少し出てきているのですが Airpods の機能にダブルタップの機能があります
イヤホンの側面を「ポンポン」と叩くと Siri を呼び出したり音楽の再生/停止を行うことができます

がこのダブルタップが初めまったく動作しませんでした
自分の場合原因はやり方に問題があり耳が弱いせいなのか少しかばって優しく触れるような感じのタップをしていました
それだとまったく反応してくれなく少し (というか結構強め) でポンポンと叩いたら反応してくれるようになりました

仕組みを考えれば当然と言えば当然で W1 チップはダブルタップの振動で検知してアクションを実行します
優しくタップするだけだと振動を検知することができなかったのだと思います

このタップの強さが個人的にはかなり耳への負担を大きくしています
もう少し優しくタップしても反応するようにしてもらえると助かるのですが、現状耳への負担が大きいため使っていません
なので再生/停止、次のトラック、Siri 呼び出しは全部 Mac および iPhone で直接行っています

そして別にそれでも全く支障がありません
というもの先程紹介したように再生/停止はできないアプリもあります
なので結局本体側で停止しなければいけないケースがあるので、結局そっちに倒したという感じです
あとは音量の上げ下げを Airpods でするには Siri にお願いしなければいけません
これが面倒くさすぎるので本体側でやってしまってるというのもあります

どちらにしろ個人的にダブルタップは改良されない限り使うことはないと思います
一番いいのは自分で作った Swift のコードや最悪 Apple Script で作ったコードをアクションに設定できるようになりダブルタップで、そのスクリプトが実行できるようになるともっと使うかなと思います

少しお高め

だいたい日本円だと 18,000 円くらいです
イヤホンにしてはかなり高額だと思います

最近だと完全ワイヤレスではないですが後ろだけワイヤーで接続されているタイプのワイヤレスイヤホンがかなりお安く購入できます

なのでそれでも良いという人はわざわざ Airpods を購入する必要はないと思います
もしくは他の完全ワイヤレスイヤホン (Earin など) を持っている方はそれで十分だと思います (Earin なども十分高額ですが、、)

Apple 製品が好きとか、まだ完全ワイヤレスイヤホンを持っていなくて周りのデバイスやガジェットが Apple 製品が多いという人には Airpods を勧めます
そうでない場合には、まぁ正直デフォルトの Earpods でも何とかなるし音質も全く変わらないので無理して購入する必要は全くないかなと思います

紛失しそう

これも散々言われてきたことかなと思います
自分が初めて装着したときに紛失について感じたのは「動いただけでは絶対に落ちない」という感想でした
つまり普通に生活している分にはまず落とすことはないと思います

ただ自分が紛失しそうだと思ったのは耳から外したときにケースなりどこかに保存しておかなければいけない状況で、どこに置いたのか忘れちゃいそうだなと思いました
ケースに常に入れるクセが習慣があれば良いのですが正直それは面倒です
本当に少しの時間だけ外す場合などはそのままポケットに突っ込んだほうが楽です
またそのまま耳に戻せば Bluetooth 接続も再開されるので楽です

ですが、たぶんそれを続けていると近い将来必ず紛失するなーと思いました
これは完全に経験則というか勘ですが、それで慣れちゃうと結構危ないなーと思っています

それを解決するガジェットなども売られているくらいです

Airpods にワイヤーを付けて首から下げる感じにすることができるのですが「いやこれ本末転倒じゃ、、」と思う次第です
ですが、確かにこれがないと紛失リスクも高いなと思うところでもあります

自分はしばらくはそのまま使おうと思いますが外出先などで危ないなーと思った場合は積極的に採用しようと思っています

あとは単純に耳から誰かに強奪されないか心配です
正直都会の人混みの中さっと取られたらわからないかなと思います
ただ、そんな場合のために公式で Find my Airpods という機能があるので見つかるとは思いますが遠くに行かれたらさすがにどうしようもないかなと思っています

Siri さんの声がおかしい?

ダブルタップから Siri を呼び出すとスピーカーが切り替わるのか声の音質がだいぶ落ちた感じで聞こえます
調べてみても同じ症状の方の情報が見つからなかったのでもしかすると自分の環境だけかもしれませんが、何かへんな感じがします

「何かへんな感じ」というのが文章で非常に伝えづらいのですが、例えば Podcast を聞いているときにダブルタップで Siri を起動すると、その Podcast の声とは違う声で Siri さんが聞こえる感じです

まぁ今のところはダブルタップを使う予定はないので特に問題ないとは思いますが、一応気になったので記載しておきます

お掃除が少し面倒

これは Earpods でも同じです
Airpods は形はほぼ Earpods と同じなのでお掃除も同じくらい面倒です
また Airpods の場合ケース側もお手入れもしなければいけません
ケースの蓋の部分が磁石になっているため鉄製のゴミが付着しやすいです

一番面倒なのはメッシュになっている部分の凹凸であそこに耳垢やゴミなどが溜まりやすいなと思います
掃除の仕方も調べるといろいろ出てくるようですが、なんかどれもいまいちな感じがして決定打にはかけるかなーといった印象です

自分は毛先の細かいブラシである程度のゴミを掻き出したあとに掃除機で吸い取っています
あまり強くゴミを書き出すような掃除の方法だとメッシュの中にゴミが入って取れなくなるリスクがあるようなので、吸い取るほうを充填的にやっています
ただ、それも何かあんまり良くないなーとは思っています
何かいい方法があれば教えていただきたい、というか公式が動画とか出してほしい、、

最後に

Airpods を購入したので思ったところを書いてみました
いろいろ書きましたが購入して良かったです
少なくとも Earpods よりかは良いです

この記事がこれから購入を検討している人の手助けになれば幸いかなと
ただあの経験は正直購入して使ってみてからではないと伝わらないと思うので余裕があれば迷わず購入して使ってみることをオススメします

2018年9月7日金曜日

今更 Firefox のアドオンを Quantum に対応してみた

XML と JS で UI を作る XUL の仕組みが廃止となり JS のみでアドオンを開発するようになりました
古いアドオンは使えなくなってしまったので新たに Quantum 対応版に書き換えてみました
感覚的には Chrome の Extension を作るときと同じかなと思います

https://github.com/kakakikikeke/all-reload

以下ではハマりポイントを紹介します

感覚だけつかみたいならとりあえず Getting Started をやってみる

とりあえずこれをやってみましょう

matches は * だけではだめ

すべてのサイトに対応したいと言って以下のように記載するとアドオンのインストール時にエラーになります

"matches": ["*"]

以下のように記載しましょう

"matches": ["*://*/*"],

There was an error during installation: Extension is invalid

アドオンをテストで Firefox にインストールする際によく見かけると思います
これが出る場合は大抵の場合は manifest.json の記述に誤りがあります

console.log でデバッグするには

バックグラウンドモードで起動する必要があります

"background": {
  "scripts": ["main.js"]
}

browser.i18n.getMessage について

_locales/en/message/messages.json を作成してメッセージを定義しておきます

{
  "menuItemRemoveMe": {
    "message": "hoge",
    "description": "fuga"
  }
}

また manifest.json にデフォルトで使用する locale を指定する必要があります

"default_locale": "en"

公式のドキュメントはあてにならない

公式は割と古い情報が多いので Github にある数々のサンプルが一番参考になります
https://github.com/mdn/webextensions-examples/blob/master/menu-demo/

tab を操作する場合は permissions が必要

"permissions": [
  "tabs"
]

accessKey を作成するには

accessKey はコンテキストメニューを表示したときにクリックするのではなく特定のキーボードのボタンを押すことでコンテキストメニューを実行するための機能です
要するにショートカットみたいなものです

どうやら WebExtension では accessKey の機能自体はないようでコンテキストメニューのタイトルの先頭に該当のキーを表示することで対応できるようです
例えば「z」キーに割り当てる場合は以下のようにします

{
  "menuItemReload": {
    "message": "Z) all tabs reload",
    "description": "Reload all tabs when clicked."
  }
}

パッケージにする

公開するには zip ファイルを作成するだけです
xpi ファイルなどは不要になりました

  • zip -r -FS ../all-reload.zip *

ID は変えちゃダメ

install.rdf で指定していた em:id は manifest.json の applications.gecko.id で指定します
この値は同じでないと既存のアドオンに対して更新することはできません

<em:id>all_reload@kakakikikeke.blogspot.com</em:id>

2018年9月6日木曜日

Blogger が https + カスタムドメインに対応したのでやってみました

https://blog.kakakikikeke.com

でアクセスできるようになっていると思います
昔のアドレス https://kakakikikeke.blogspot.com/ にアクセスするとリダイレクトされると思います

設定は簡単で管理ページから「設定」->「基本」でカスタムドメインのアドレスを設定し、その少し下にある「HTTPS の使用」を「はい」にするだけです
blogger_https1.png

カスタムドメインにするのは DNS サーバ側の CNAME の伝播に少し時間がかかるので、それが反映されるまで待つ必要があります
DNS の伝播が完了した時点で http でカスタムドメインでアクセスできるようになります
またこの段階で古いアドレスへのアクセスはすべてリダイレクトされるのでアクセスできなくなります

更に https にしたい場合は「HTTPS の使用」を有効にします
この作業に少し時間がかかります
自分は 15 分ほどで完了しました
これを有効にしている間は完全にブログサイトにアクセスできなくなるので注意してください

なぜなら

  1. 既存の xxx.blogspot.com へのアクセスはカスタムドメインにリダイレクトする
  2. http のカスタムドメインにアクセスしようとする
  3. http -> https のリダイレクトが走る
  4. https が有効になっていないのでエラーになる

という感じです
まぁ仕方ないという感じです

で https 適用後に証明書を確認したら Let's Encrypt の証明書でした
blogger_https2.png

おそらく更新作業などは勝手にやってくれるはずです、、
証明書の更新間隔は 3 ヶ月になっています
たぶんですが更新時に証明書の入れ替えが発生するのでその間はサイトにアクセスできないか証明書のエラーが表示されるはずです
一瞬だと思うのでほぼ見れないと思いますが
もしくは Google 先生のことなのでそうならないように対策してくれているかもしれません

何にせよこれが無料で使えるのは、さすが Google 先生かなと思います

おまけ

StackEdit はカスタムドメイン設定後も問題なく使えました