古事連記帖

趣味のこと、技術的なこと、適当につらつら書きます。

バッファローから出たトラックボールマウスを買いました

先週PC Watchで特集が組まれてたのを見て、急に欲しくなってしまったので思い切って買いました。BSTBB700ってやつです。

pc.watch.impress.co.jp

人生初のトラックボールマウスです。人が使ってるのを触ったことはありますが、自分が持つのは初めて。
これまでいろんなマウスの遍歴を持ちつつ、最近はLogicoolのMX Master 3を会社用含めて4台持つ程度にこのマウスに慣れきってた中での突然のトラックボール。最初はどうかな…と思ってましたが、届いて1時間くらい触ってまあまあ慣れてきました(早)まだクリックした瞬間にボールを回してしまうときがあってちょっと大変ですが…。まだうっかり持ち上げる動作はしてないです。

トラックボールマウスはバッファローで初だそうです

触ってみて概ね良い感じです。背の高いマウスが好き*1なのでこのマウスも好みの部類。MX Master 3で慣れ親しんだ慣性ホイールがあるのでめっちゃいいです。それと、PC切替ボタンが表面にあるのがいいです。MX Master 3は裏面なのでいちいち持ち上げて押さないといけなくて面倒でした。
トラックボールについては、大きく動かす分には快適ですが、微妙に動かそうとするとボールが何かに引っかかって動かしてるつもりが動いてないみたいなのがあります。支持の素材の問題なのかなあと思ったりしていますが素人なので分かりませんw
あとはMX Master 3と違い、戻る・進むとして扱えるショートカットボタンが親指ではなく人差し指操作です。
自分の場合ホイール操作は人差し指なので、ホイールに近いところに指があることが多く、またホイールからショートカットボタンまでが意外と広いのと、手のひらの付け根あたりを机につけるように浅めに持つ傾向にあるのもあり、人差し指を少し外に張らねばならなかったり、奥の方にあるボタンに手が届かないなど、ちょっとキツいなーと思いました。
それと届いて気付いたのは水平ホイールがないことでした。チルトホイールはありますが、こればかりはトレードオフって感じですねぇ。
今のところ、ショートカットボタンを押すときは一回マウスを持ち替えるようにして「押しに行く」動きが一番楽な感じですが、せめて戻るボタンくらいは親指に欲しいなあ…って思います。(チルトホイールを犠牲にして戻るボタンに割り当てる…??)

総じて良いマウスだなーって思いました。バッファローが初めて出したとは思えないというか、マウスを作ってきたからこそできたと言えるそんな感じがしました。
これで良い感じに慣れてきたら、会社のマウスもこれにしようかな…って思いました。あるいは、これを足がかりに好みのトラックボールマウスを探すのも良いかもしれないです。



以下Amazonアフィリエイトリンクです。

*1:MX Master 3の前はMicrosoft エルゴノミック スカルプト マウスでした

COCCHiがサ終 次のナビアプリ選びで迷子

シビックRSに乗り始めてから本格的に使うようになって、ナビ屋さんが作る一番カーナビらしいナビアプリだと思っていたパイオニアの「COCCHi」が、2026年11月30日をもってサービス終了というニュースが降ってきました。

jpn.pioneer

幸いにして年間契約なので、Android Autoとして利用可能な有料会員の状態はサービス終了まで維持されることは確定ですが、困る。困ります。車載ナビらしい案内と見た目で愛用していたのですが、まさかこんなことになるなんて思いもしませんでした。モバイルゲームのサ終宣告を聞いた気分。
ただニュースリリースで顔を出したくらいでポータルサイトもなんもないですが、マツダから今年発表になったCX-5のリリースと同時期にリリースされた「COCCHi for Automotive」については継続がアナウンスされているのでしばらくは大丈夫そうですが、母数が圧倒的に少ない「Google 搭載」でしか使えないとなると、CX-5専用として生きたまま終了していきそうな勢いもあり、こちらも未来は不透明です。


ということで来る12月1日までに次のナビアプリを探さねばなりません。COCCHiでできていたことが究極すぎるので、何を妥協するかが非常に難しいです。
現状COCCHiでできていて、ないと困るもの、なくても大丈夫そうなもの、COCCHiになかったのでほしいものをまとめてみます。

ちなみにルートの正確性や到着時刻の正確性については比較の対象外です。

ないと困る

  • Android Auto利用時にもスマートフォンで情報を表示できること。地図を出して2画面体制にし、センターディスプレイではヘディングアップ、スマートフォンではノースアップなどができること
  • 高速道路走行中におけるインターチェンジやSA/PAの予告表示ができるいわゆる「ハイウェイモード」が表示できること。これは前項のスマートフォン併用だとなおよい
  • ルート案内をしていなくても、交差点情報を表示できること。主要交差点における交差点名、「方面及び方向」の案内標識やレーン情報など
  • 音声案内時には再生中の音楽の音量を下げないこと
  • 音声案内用スピーカーで再生されること*1
  • 音声案内時、高速道路のジャンクションにおいて案内標識に記載されている、進行する方面をすべて読み上げること(後述します)
  • 有料道路、国道、都道府県道、一般道の色区別があること

なくても大丈夫そう(あるとうれしい)

  • 道路の色区別のうち、都道府県道の「主要地方道(緑色)」「一般都道府県道(黄色)」の出し分け
  • ルート案内時、主要交差点などの3D表示や高速道路のランプウェイの3D表示
  • 速度取り締まり機予告

COCCHiになかったのでほしいもの

  • 商業施設において駐車場入口がある場合に目的地にできる入口を選択できること(あるとうれしい)
  • ルート案内に経由地設定がある場合、その経由地の到着予定時刻が表示できること(あるとうれしい)
  • センターディスプレイ上での2画面表示(なくてもいい) *2
  • 音声案内時の交差点名読み上げ(なくてもいい) *3
  • 地図上の施設アイコンの表示・非表示を設定できる(なくてもいい)
  • 「Google 搭載」なら、ETC 2.0による図形情報を取得できること(なくてもいい) *4

音声案内時、高速道路のジャンクションにおいて案内標識に記載されている、進行する方面をすべて読み上げること について

自分がこれまで触ってきたPanasonic製のナビ *5 においては、ジャンクションの案内標識に書かれている方面を読み上げてくれていました。例えばこの場面。

このときルートが外環道方向だったとき、Panasonicの音声案内だと「三郷JCTを、左方向、三郷出口。外環、高谷、大泉方面です。」とすべて読み上げます。COCCHiにおいても方面を入れるタイミングは違えどこれに準じた案内をします。
この案内に慣れているというのもありますが、案内標識の情報を読み上げてくれると、すべて聞き取れず断片的だったとしてもどっちに進めば良いかを見失うことが少なくなります。という理由で、これは欠かせない点のひとつです。

以下はAndroid Auto対応のナビアプリと、それでできることをまとめたものです。
Google MapsはGoogle 搭載としてのものを、Yahoo!カーナビ、moviLinkについては同日に実走で検証し、確認ルートは常磐自動車道の流山ICから三郷料金所スマートICおよび三郷IC(東出口)で、条件を合わせるために何往復かしています。
カーナビタイムは別日に上記ルートを含む、常磐自動車道の柏ICより三郷JCTを経て、東京外環自動車道の高谷JCTへ抜けるルートを片道だけ使用しました。

Google Maps(Google 搭載版)

機能 できるかどうか
スマートフォンが2画面目の地図として出せる × スマートフォン連携はない*6
ハイウェイモードになる × ならない
交差点情報などをルート案内なしで表示できるか × 表示できない
音声案内時音楽の音量 × 小さくされる
音声案内の再生は ○ ナビゲーション用スピーカーで再生される
ジャンクションの案内標識を読み上げて △ 案内はあるが表現が不自然。後述
道路の色分け × しない
細かい道路の色分け × しない
3D表示 × ない
速度取り締まり機予告 ない
商業施設の入口候補選択 × ない
経由地の到着予定時刻は - 未検証
センターディスプレイ分割 ない
交差点名読み上げ あるが自動音声のため誤読が多い
Google 搭載 対応

Google 搭載のGoogle マップですが、許せるのは標準搭載で無料であることと、スマートフォンの Google マップから位置情報を転送しておけば、車の始動時に勝手に設定してくれることくらいです。あとはナビとしての機能はお察し。
ジャンクションの案内音声は不自然で、先ほどの三郷JCTの案内だと「三郷JCT、三郷インターチェンジ方面です。左車線を使用します。」と案内します。どっちに向かうかは教えてくれません。
そして、画面ではジャンクションや案内標識の図示ができない代わりに案内領域に文字で出そうとしますが、案内標識とは違うものを出すことがあります。例えば、

[三郷JCT] 
↖三郷IC

と出ます。しかし、その次のスポットでは

[三郷JCT]東京外環自動車道 
↖[296] 松戸 / 三郷市街

と表示されます。標識では「外環」「三郷市街」「高谷」なので「三郷市街」を頼りに向かわねばなりません。
その他、自分が必要で妥協したくない点もあり、使うのは厳しいと言わざるを得ません。

ちなみに検証ルートへ向かうまでの一般道でも使用しました。一般的なナビでは案内しないような道路名や案内に溢れてしまい肝心の情報が隠れるような場面もちらほらとあり、ナビとしてはあまりよくない印象を受けました。

Yahoo! カーナビ

機能 できるかどうか
スマートフォンが2画面目の地図として出せる × 強制的に閉じられてしまう
ハイウェイモードになる × ならない
交差点情報などをルート案内なしで表示できるか × Android Autoでは不可能。単体でも明示的に「運転モード」にしないといけないが、レーン情報のみ
音声案内時音楽の音量 ○ 維持したままにできる設定あり
音声案内の再生は ○ ナビゲーション用スピーカーで再生される
ジャンクションの案内標識を読み上げ △ 読み上げてくれる場合があるらしい(少なくとも検証ルートでは確認できず)
道路の色分け × しない
細かい道路の色分け × しない
3D表示 ○ ある
速度取り締まり機予告 ある
商業施設の入口候補選択 × ない
経由地の到着予定時刻 - 未検証
センターディスプレイ分割 ない
交差点名読み上げ ある
Google 搭載 非対応

おそらくCOCCHiの代替として挙がる候補のひとつだと思います。無料でAndroid Autoに接続できる点も大きいです。
しかし、Android Autoとして接続するとスマートフォン側は起動すら拒まれる動きをします。
センターディスプレイでは先のIC/JCT/PA/SA表示もありませんでした。スマートフォンだけで使うとハイウェイモード表示になり、先の表示が一覧で出てきます。
また、センターディスプレイには案内標識やジャンクション構造の表示ができますが、今回の検証ルートでは音声案内は方向のみを案内し、方面は案内しませんでした。

そんなわけでいろんなことに目をつぶれば確かに便利そう。でも、スマートフォンを2画面目として扱えないことは個人的に微妙。また、ルート案内なしでは交差点情報を案内しない点も個人的には違和感。ということで厳しいという判定です。

機能 できるかどうか
スマートフォンが2画面目の地図として出せる × Android Auto側で開くと自動でスマートフォン側も開くが、目的地検索しか扱えない
ハイウェイモードになる ○ なるが簡易情報のみ
交差点情報などをルート案内なしで表示できるか × できない
音声案内時音楽の音量は × 小さくされる
音声案内の再生は ○ ナビゲーション用スピーカーで再生される
ジャンクションの案内標識を読み上げ △ すると思う(検証不足)
道路の色分け × しない
細かい道路の色分け × しない
3D表示 △ あるが、道路の分岐表示のみで案内標識の再現はなし
速度取り締まり機予告 ない
商業施設の入口候補選択 × ない
経由地の到着予定時刻 - 未検証
センターディスプレイ分割 ない
交差点名読み上げ ある
Google 搭載 非対応

トヨタ(トヨタコネクティッド)が提供するナビアプリで、車載ナビとほぼ同じだそうです。
図形表示はナビ独自のものを用い、ジャンクションの案内に案内標識の再現はないタイプです。音声による方面案内は代表的な地名をひとつだけ案内します。例えば三郷JCTを外環道松戸方から常磐道水戸方面へ向かう場面では、「右方向、柏 方面です。」と案内します。

車載ナビと同様に事前収録の音声を使用するため、交差点名は収録があるものを利用します。従って読み間違いなどはほぼ起こらない感じです。
また、ルート案内がない場合はYahoo!カーナビなどと同様に交差点情報などの案内がされなくなります。

スマートフォンを2画面目として扱えない点はYahoo!カーナビと同様で個人的に微妙。案内の内容は車載ナビに準じてまあまあアリかな…という雰囲気はあります。

カーナビタイム

機能 できるかどうか
スマートフォンが2画面目の地図として出せる ○→△ 最近できるようになったが、ルートなしのときに地図が非表示になったり、DAと地図表示を分けられない (8/29追記)
ハイウェイモードになる ○ なる。Android Autoでは未検証
交差点情報などをルート案内なしで表示できるか 最近「ルートなし案内をしない設定」が増えたほどにはもともと表示できていた
音声案内時音楽の音量は ○ 小さくする「オーディオダッキング」設定をオフで対応可能
音声案内の再生は ○ ナビゲーション用スピーカーで再生される
ジャンクションの案内標識を読み上げ ○ する。一般道でも案内標識の地名を読み上げる場合がある。ただし、高速道路の場合は分岐から1kmより手前まで
道路の色分け ○ する
細かい道路の色分け × しない
3D表示 ○ ある
速度取り締まり機予告 ある
商業施設の入口候補選択 ○ ある
経由地の到着予定時刻 ○ ある
センターディスプレイ分割 ない
交差点名読み上げ ある
Google 搭載 対応アプリあり

Google Maps、Yahoo!カーナビ、moviLinkの検証の時には食わず嫌いをして使ってなかったんですが、とりあえずAndroid Auto接続無しで検証だけ進めておこうと別日で使い始めています。
実は自分が求めるほぼ全てを網羅しているという理想ドンピシャなナビアプリでした。音声案内もCOCCHi同様に案内標識の内容をすべて読み上げるタイプです。走った感じでは高速道路では1kmほど手前くらいまでを標識の読み上げ、そこからは方向のみを案内する感じのようです。一般道では交差点名と案内標識の方面を500mくらい手前まで読み上げた上、その先は曲がる方向を案内する動きをしています。
音声は自動音声…に聞こえるのですが、事前収録の雰囲気もあります。音質がよくないのでどちらともとれない微妙なところです。
ルート案内を設定せずとも交差点情報などを表示できることも確認しましたし、むしろ最近「案内しない」設定が増えたくらいです。ただし、案内される交差点情報はCOCCHiよりは少ない印象を受けました。
スマートフォンが2画面目になるのはつい先月のアップデートで対応されたようで、スマートフォン側に一切の制約を設けないと明記されています。COCCHiを意識したアップデートだなぁと思いつつも見ている限りではCOCCHi以上の情報量が得られそうな気がしています。

Android Autoでの検証ができていないのは、カーナビタイムの「プレミアムプラス」を契約しなければ使用ができないためです。
現状は「プレミアム」のお試し期間を利用してルート案内などを見ています*7が、プレミアムプラスだとお試し期間がないので今すぐに見るのはもったいない…ということです。その関係で音声案内の再生がどのスピーカーでなされるかは未検証となります。

理想ドンピシャとはいえ、ネックはその価格で、プレミアムでも700円/月、プレミアムプラスに至っては1200円/月と、COCCHiと比較してもめちゃくちゃ高いです。Google 搭載にもアプリが公開されていますが、こちらもプレミアムプラス契約が必須な感じです。
ただ、ここまで欲しい機能があるので、新たによさそうなものが出ない限りは致し方なくこれを選ぶかなあ…という気持ちでいます。

ちなみにカーナビタイムの検証は上記3つとは別日におこなっており、ナビアプリ泣かせとも言える外環千葉区間の半地下エリアを走ってきました。残念ながらスマホ単体では位置が正確に取れませんでしたが、かすかに開いているところから拾える位置情報をなんとか拾って頑張ろうとしてる雰囲気はありました。なおCOCCHiはAndroid Autoで表示してても周辺の道路にマップマッチングが持って行かれてしまいました*8
*9カーナビタイムのいわゆる「Lite版」みたいな立ち位置の「ドライブサポーター」も試してますが、こちらは案内の仕方もおおよそカーナビタイムと同等であることを確認しています。Google 搭載対応ではないので、将来を見据えるとカーナビタイムを選ぶのが現時点での考えです。

(2026/08/29追記)
プレミアムプラスを契約したので少しずつ検証を進めています。所感は随時更新中です。Android Autoで使ってなかったときはよかったんですが、使い始めた途端ちょっと微妙感がでてきました。一応意見の投稿はしてありますが、スマートフォンを2画面目として扱えるといえ、ルートなしだと定期的に地図表示を消して操作を要求してくるのを確認しています。また、2画面それぞれでノース・ヘディングなどを分けて表示できないこともわかっています。COCCHiに比べれば意見が反映されやすい…気がするので、少し期待してます。

(2026/08/30追記)
ルート案内ありでもスマートフォンで何も操作してないと暗転して操作を求めてくることがわかりました。

いまの答えは

カーナビタイムを選ぼうとしています。COCCHiでできること、自分が求める理想に限りなくマッチしている点が大きく、Google 搭載に対応しアップデートも頻繁におこなわれていそうという面が理由です。でも高いのでちょっと二の足…。また、プレミアムプラス契約ではないのでAndroid Autoにして扱っていないという点もまだ不確定要素のひとつです。
今後より安価で理想のナビアプリが出てくるようなら検討し、乗り換えていくつもりです。COCCHi for Automotiveがホンダ車にも対応したら比較しますかねぇ。


ここまで比較して、ナビアプリは大きく2つ思想が分かれることを感じました。ひとつは「道案内に特化」したもの、もうひとつは「持ち歩けるカーナビゲーション」です。
Google MapsやYahoo!カーナビ、moviLinkは前者にあたり、普段は地図+αとして振る舞いますが、目的地を設定したときに運転に必要な情報を出すといった動きをします。案内もどちらかといえば普段車に乗らない人に向けて最小限、簡潔な案内が中心に感じます。
COCCHiやカーナビタイム(とドライブサポーター)は後者にあたり、案内の仕方やナビ無しでの振る舞いから、車載カーナビの代替えとして扱える性質が強い傾向にあります。普段から車に乗る人にとっては慣れ親しんだ案内になっているはず。
そして個人的には後者が好みです。もっと後者よりのナビアプリが増えるといいなーと思いました。

COCCHiが終わる前に安価で好みのナビアプリ、出ないかな…。さすがに自分で作るにはハードルが高すぎるので厳しい… 案内標識イメージリソースとか取得するのもどこから得れば良いんでしょうねぇ*10

他にナビアプリだとWazeもあり以前使っていたことがありますが、有志の情報に大きく依存することと、求めている機能とはほど遠いため、今回は除外しました。

*1:シビックの場合はセンターディスプレイ裏側のスピーカーです

*2:シビックだと画面領域が狭いので期待薄

*3:交差点名なんて無数にある上、読み方も地方によって様々なので自動音声では逆に耳障りになる可能性

*4:ETC 2.0の図形情報が信号としてきてるのか不明ですし、きてても独自仕様だったりでしょうからほぼ期待してない

*5:厳密にはインターナビ対応のホンダ純正ナビ

*6:スマホでルート検索した結果を車に転送することは可能

*7:ルート案内にプレミアム契約が必要

*8:これはもしかすると、いま自車が抱えている位置情報を捕捉できない持病のせいもありそうです

*9:NAVITIMEって似たような機能を持つアプリを用意してユーザーを混乱させt(ry

*10:見つけたとしてもべらぼうに高そう

今年を振り返ろう サブスクリプションの棚卸

今年を振り返ろうシリーズ。次はサブスクリプションの棚卸をします。

これは id:bps_tomoya がやっているのが面白そうだったので真似させてもらうやつです。

bps-tomoya.hateblo.jp

初回なのでまずは広げるところから。 この中には通信費を除く光熱費、各種生命・自動車保険、ローンなどの分割決済などは含んでいません。

月間

品目 費用 年間支払額 どうする予定? 備考
GitHub Copilot Pro 11ドル 18,391円 継続 ドル建てはめんどくさい。愚直に決済情報から円で出す
Google One 100GB 290円 3,480円 継続 そろそろ足りなくなりつつあるので増やすか整理するか
ウェザーニュース 315円 3,780円 継続 The Last 10-second を使っている関係で使い続ける
enひかり 4,378円 52,536円 継続 1Gマンション + 固定v4 + Xpass - 勝手に割り。この組み合わせでは最安のはず
さくらのVPS (石狩/1G/月払) 880円 10,560円 継続 自作逆ジオコーディングで使用中。ASP.NET Coreを運用するのは金が掛かる
Discord Nitro 1,050円 12,600円 継続 一応
Microsoft 365 Business Basic 989円 11,868円 継続 これでメールアドレスを量産している。Teamsありなのでなしプランに切り替えるともう少し安くできそう
Adobe Illustrator 1,848円 19,446円 継続 データ入稿で結局必要。あの手この手でおさえてこの額。(1,848 x 11) + 123 - 975
ahamo 2,970円 35,640円 継続 メイン端末の通信プラン。dポイントで多少増減はしているものの誤差
Spotify Premium Standard 980円→1,080円 11,860円 継続 ahamoに紐付け中。12月決済から1,080円になった。ロスレスありがたいがハイレゾもほしい
Youtube Premium 1,280円 15,360円 継続 ahamoに紐付け中。なんだかんだ毎日見ている
日本通信 合理的シンプルプラン 290円 3,480円 継続 サブ端末で個人アプリ (Mikaboshi) の通信に利用中
スカパー! 2,409円 28,908円 継続 フジテレビONE/TWO, テレ朝チャンネル1/2の視聴用でスカパー!セレクト5。テレ朝chは観なくなりつつあるので単体契約にする手もある
irumo 3GB 880円 10,560円 廃止検討中 後述
αあんしんプログラム 550円 6,600円 廃止したい 廃止したい。後述
合計 244,467円 (概算)

年間

品目 費用 どうする予定? 備考
Duolingo 7,890円 継続 一応日課として定着しているので継続
COCCHi 3,800円 継続 カーナビアプリ。車載Google Mapsは使い物にならん
ドメイン (udonge.net) 13.02ドル (1,863円) 継続 ドメインは維持
ドメイン (masterspark.net) 13.02ドル (2,053円) 継続 ドメインは維持
ドメイン (moriya.faith) 11.20ドル (1,753円) 継続 もうどこにも使ってないけど一応維持
ドメイン (aynv.jp) 3,058円 継続 大切な4文字JPドメイン
Amazon Prime 5,900円 継続 知らん間に6,000円近くまできてたのか
NHK受信料 21,765円 継続 テレビがあるので必須。最近は面白い番組もちょいちょいあるので価値はあると思ってる
Microsoft 365 Personal 16,870円 継続? Amazonの初年度価格 (通常 21,300円)。2027年4月に更新予定だが更新方法は未定
駅すぱあとプレミアム 2,400円 廃止検討中 どうしよう?なんだかんだ使うけど勝手が微妙…
Flightradar Gold 3,900円 廃止 アンテナ用意してContributorになったので廃止予定
Xperia ケアプラン 5,500円 廃止 Pixel 10 Proを買うかどうかの瀬戸際でうだうだしてたら更新してしまった。来年は解約
合計 76,852円

補足

Microsoft 365 Business Basic

スパム対策でアカウントはサービスごとにしたい。けどめんどくさいメール管理はMicrosoftに任せてしまえってことで、ひとりで企業アカウントを持っています。この棚卸をしているときに知ったんですが、今Teamsなしプランが存在しているようなので、これをあてれば989円/月から725円/月になって年間3,168円の節約になりそう。年間契約月払いで9月更新なので、途中で更新できるかは不明。できれば1月から始めようかと。

スカパー!

GCCXが観たい、水曜どうでしょうおにぎりあたためますかが観たい ということで、チャンネルごとに買うより安いスカパー!セレクト5をチョイスしていました。

一方で、水曜どうでしょうはプレミアが毎週水曜にチバテレでやってる方を観ていて、おにぎりあたためますかは録画していても急に放送時間やチャンネルが変更になって全く追いつけなくなってしまいました。今の視聴スタイル的にはチバテレで水曜どうでしょうプレミアをのんびり観てるのがよさそうなので、いっそフジテレビONE/TWO単契約で充分なのかもしれないです。気が向いたら契約更新したらいいものね。

ちなみにスカパー!セレクト5の残1はナショナルジオグラフィック。でもテレビ内ラテ欄で遠いので一切観ていない…。

irumo

もともとはPixel 9aのバラマキがあったときに、OCNモバイルoneの移行先としてMNP契約したときのもの。Xperia 5VでAndroid Autoすると動作が著しく不安定だったので、Pixel 9aにそれを任せる目的で3GBプランを契約しています。それでも足りなかったんですよね。

一方で年末にXperia 5VからPixel 10 Proへメイン端末をお引っ越しした関係で、メイン端末だけでAndroid Autoができるようになり、Pixel 9aは宙ぶらりんの状態になってしまいました。3GBも大きく持て余す事態になっています。

とはいえPixel 9aは残クレでもっているので回線契約を潰すかちょっと悩ましいところ。irumo 0.5Gに相当するものがもうなくなった上プラン変更もできないのでただただ浪費してしまうのはちょっとなーと思いつつ…。

αあんしんプログラム

カメラを買ったときにおすすめされて、とりあえず何らか恩恵受けられるじゃろって思って契約していました。が、レンズは増えないのでたまにくる15%オフクーポンは持ち腐れになり、レンズの入れ替えは発生しておらず下取りもなんもない。センサークリーニングするタイミングはあったけど、銀座まで行かないと即日できない上に急いでるときに空きがなく、結局キタムラでお願いしてしまいました。

こうなりゃもう意味もないなーと思って解約したいけど、現状解約はオンラインでサクッとではなく電話しなければいけないのです。非常に面倒…。

Xperia ケアプラン

Xperia 5Vの購入と同時に契約してたもの。年間契約。購入が11月だったので11月が更新月で、Pixel 10 Proの購入するかどうか悩んでいたのものこの時期で、買うかどうかも不透明だったために解約を漏らして今年分の決済が済んでしまいました。

2年経ったしもういいよね でとりあえず解約しておけばよかったんだけど。ということで来年は忘れずに解約します。こっちはオンラインでサクッとできます。なんでやねん。

感想

今回初だったのでまずは現状を知るところから始めたものの、年間でとんでもない額を払っていたことに驚愕しているところです。今年はもうバッタバタなので来年に入って落ち着いたところで断捨離をします。断捨離できっかな…

F1を(サッシャさんの実況で)観ていたDAZNはクッソ高くなってしまって去年のうちに解約してたんですが、DAZNからF1が消え、FODが持つことが決まっているので、それが増えるかも。値段次第ですが…。

今年1年を振り返ろう

2025年は個人的にいろいろ変化とかがあったので、普段あんまりやらないですが珍しく(?)振り返りをします。
一応Amazonアフィリエイトリンクもあります。よろしくお願いいたします。

転職をした

このブログではあまり仕事のことは書いてませんでしたが、4月に転職をしました。そして3社目です。
新卒で入って前職まではいわゆる「モバイルオンラインゲーム」、またの名を「ソーシャルゲーム」で頑張ってきていましたが、今度は別の業種になりました。それなりにでっかい会社です。
やることは大きく変わりましたが、使うモノはそんなに変わらないです。異業種で10年ほどの知識を頑張って生かしつつ新しい知識を身につけていこうと思います。
そして今はGitHub Copilotを駆使していろいろ試したり、Actionsでいろいろ組んだり…と割と足回り系の整備をしていますw

どこに行ったのか…はそのうち。

シビックRSを手に入れた

4月に納車されました。人生初めてのMT車
思えばイベントでシビックEX (MT)を試乗して面白かったこと、試乗中に大失敗したことをきっかけにMT車の「リベンジ」とも言える憧れを持ち始めて、でも当時はフィット e:HEV Modulo Xに乗り換えたばかりだったこともあり、
車検をとりあえず通してから考えよう…ということでやっていったら2024年のオートサロンでシビックRSプロトタイプの発表、そして秋に発表・発売されるという話しを聞いて8月の先行注文の2番目に並び、いろいろあって翌年4月に納車されたという運びとなりました。

2025年4月に納車された シビックRS

フィットと比べて広くなりましたが、その辺はあまり意識しなくても大丈夫そう。
BOSEスピーカーはいい音がします。運転が楽しくなるし、Spotifyで組んでいるプレイリストに何を入れるかが楽しくなってきます。
マイナーチェンジしたシビックから入った「Google 搭載」のHonda CONNECTディスプレーは面白いんですがまだまだ途上感あって今後に期待といったところ。日産や三菱も搭載してきましたし、ユーザーが増えることによるサードパーティソフトウェアの充実度合いが高まってほしいです。
今のところはAndroid AutoでパイオニアのCOCCHiをカーナビとして使っています。
いろいろ使った中では都道府県道の「主要地方道」と「一般都道府県道」の色分けがされた地図情報、カーナビメーカーらしい案内情報、高速道路などの分岐における標識記載情報をすべて読み上げる音声情報、スマホをそのままサイドモニターとして地図表示をしたりTurn by turn表示ができたりと、それぞれにおいて自分にしっくりくるなと感じます。
案内はちょいちょい変だったりはしますがw

運転面では まだまだMT車の運転がおぼつかない面もありますが、納車当初「走ることに集中」していたのが、半年ちょっと乗ってきて「運転することに集中」するようになってきたのは変化かなーと思ったりします。

コーティング

今回はがんばって自分でやってみようと思って、いきなり「シラザン50 ダイヤモンドプラス」にチャレンジ。

施工は近所のレンタルガレージでやりました。6時間で終わるやろと思ったら6時間ギリギリで大変でした。やっぱりプロってすごいんだな…ということで、今度があればコーティングはお任せしようと心に誓いました。

副次的な話しとしては、洗車を自分で頑張ろうと思い始めて、純水器や電動フォームガンのボトルのやつを買ったりしました。自分の家ではさすがに洗車はできないので、実家の駐車場を借りて洗車させてもらっています。

冬タイヤも買った

車が変わったら変わるのは冬タイヤですが、フィットと違ってタイヤサイズが大きくなりその分お値段も上がりました…。
車が納車された当初は冬タイヤは買わずに様子見をしよう…と思っていたんですが、冬が近づくにつれて冷え込みの厳しさが予想されるようになり、雪の心配が現実味を帯びてきたのでやむなく購入。
これまでタイヤ館でブリジストンの冬タイヤを買っていましたが、今回からは量販店で選んでヨコハマのiceGUARD7にしました。店員さんと話しをして現実解だなあと思ったタイヤです。とはいえやっぱり高いんですが…。

テレビを買った

一人暮らしを始めた当初に買っていたテレビ「SONY KJ-49X8500F」を下取りに出し、新たに「REGZA 50Z870R」を買いました

きっかけはSwitch2の購入で、今まで持っていたテレビは4K HDR対応でしたが120Hz非対応だったので、せっかくだし120Hzも出せるテレビをと思い、前々からREGZAのテレビが欲しいなーと思っていたこと、同じく一人暮らしを始めたときに買ったタイムシフトマシンレコーダーの使い勝手がよかったので、今度はテレビがタイムシフトマシン搭載であるといいなと思った中でちょうど見つけた50型のタイムシフトマシン搭載テレビ。半ば勢いで買ったので、同グレード帯の55Z875Rの方がもうちょっといい性能だったということに後で気付いた後悔はありますが、まあそこまでじゃないよね…って思いながら、レスポンスの良さ、細かい調整ができたりする面白さで割と満足しています。

スマホを買い換えた

Xperia 5Vを買って2年。なんでかわからんけど、スマホっておおよそ2年になるとめっちゃ調子悪くなるんですよね。というかXperia 5Vに至っては買って数ヶ月くらいで調子が悪くなって騙し騙し使ってきていたんですが。NFCタッチ決済反応しないとか、Suicaの応答が時々遅れるとか、電話が掛かってきたらハングアップするとかしんどかった。
末期はちょっとアプリをバックグラウンドに移しただけでTerminateするし、Microsoft Launcherは毎回Terminateしたり動かなくなったりとストレスマッハ。
さらにXperiaシリーズは1と10の2ラインになりそうな気配が濃厚で、1はデカいし、10は自分のほしいスペックからは遠すぎるのでもう乗り換える先がない…ということで、
いろいろ考えた結果、次に行ったのは Pixel 10 Pro でした。ちなみに決め手はQi2でした。

my new gear...

いやこれXperia 1VIIと大して大きさ変わらんやんけ!って気はするんですが、もうXperiaに対して情熱が冷めているときだったので仕方がなかったんです。
それに、ちょうどブラックフライデーセールで、かつ4万円クーポンを配っていたタイミングとも重なったことで、1VIIよりも安く手に入れられた というのもありました。普段はしょっぱいiPhone SE2の下取りもこのときだけは大盤振る舞いでしたね。
playpoints.withgoogle.com

今のところすごく好調です。NFCタッチ決済が動かないこともないし、Suicaの反応もすごくいい。それにサブ端末などのケースをマグネットによるホールド対応のものにしていたのもあって、Qi2がすごくありがたい。まあQiでもマグネットつきケースにしてなんちゃってQi2にしてもいいのかもしれないですがw

まとめ

ということで、今年はいろいろ買いすぎてお金が吹っ飛んでいきました。転職した上に賃貸の更新も重なってまあまあしんどいw ですが、買ったモノはどれも満足度は高いです。
来年はもやし生活で粘ります。

三井住友カード (NL) の修行をOliveでやったらできた

中身は「とりあえずできたよーっていう事実」だけです。

三井住友カードのナンバーレスは、毎年9月末または入会月翌年の同月末日までに年間で100万円の決済をすることで年会費永年無料化されたゴールドカードへのアップグレードができます。
Oliveは三井住友銀行のキャッシュカード兼クレジットカードで、カード1枚でキャッシュカードとクレジットカード、さらにはデビットカードなどにもアプリから切り替えることができます。*1 さらにはクレジットカードは三井住友カード発行であればOliveとは別のクレジットカードを紐付けることが可能です。

そのOliveとは別のクレカが紐付けできるというところに着目し、もしかして100万円修行を、ノーマルカードを差し出さずに達成できてしまうのではないかということを思ったのが昨年のこと。Oliveそのものの100万円修行が終わった次の目標兼検証として切り替えて試してみることにしました。
結果としては「できました」の一言です。つい先日達成した旨通知があり、無事に三井住友カードゴールドへのアップグレードを果たすことができました。


Oliveでのクレカモードを別のクレカに紐付ける際、修行もそうですが通常利用にも注意点がいくつかありました。三井住友カードの「指定の支払いモードにならないお取引」にある通り、ETCカードや継続決済についてはOliveのクレカで決済されるので、公共料金や通信費などだけで修行することはできませんでした。なのでそれらも含める場合はもとのカードの番号で決済するように各種サービスに変更を届けておくか、それらを除いて都度決済で頑張るかのどちらかでやる必要があります。
www.smbc-card.com

僕の場合、Oliveカードはゴールドでしたが、もちろん「ガワだけがゴールドカード」で実際の決済は紐付けたカードであるため、各種保証や特典などもその紐付けたカードに準ずることになります。とはいえお世話になることはなく特に問題もなかったです。
www.smbc-card.com

で、アップグレード案内の「よくある質問」には「Oliveフレキシブルペイは対象となりません。」という記載がありますが、用語的にこれが「Oliveのカードを通しての『指定の支払いモード』による決済」なのか、「Oliveのノーマルカードで『クレジットモード』による決済」なのかよくわからないですが、今回のケースでは大丈夫だったようです。たぶん後者の話なのかなあ…。
www.smbc-card.com


とりあえず達成したのでよかったです。毎月達成状況を教えてくれるメールがきてて、順調に積み上がってるのは見てたのでたぶん大丈夫だろう、でも実際にアップグレードできる旨がこないまでは信用できない…とか思いながらやってたので一安心というか。これでやっぱダメですってなったらちょっと悲しかった。
で、達成したし、カードも手にあるし、じゃあどうするのっていうのはあんましないです。とりあえずカードは大事にしておきますw
普段の生活に組み込める、無理ない程度にやれる修行、他にもあったらやりたいですね。飛行機は普段の生活に大きくプラスしてしまうので結構厳しいですがwでもちょっと憧れるサムシングでした。

*1:ちなみにカードそのものはデビットカードとしてのカード番号が割り振られるので、一部で使えないという制約はあります。例えばConoHaとか

.NET MAUI (Android) で電波強度の取得をしてみる

Zennにも書きました

ほぼ同じ内容を、より技術に特化したブログのZennにも書きました
zenn.dev

はじめに

手元で試せるのがAndroidしかないので、Androidのみとなりますが、.NET MAUIで携帯ネットワーク通信やWiFi接続の電波強度を取得して表示するということをやってみます。MAUIとしては現在のネットワーク接続が何かはわかりますが、電波強度などまではわかりません。そこでプラットフォーム固有のAPIを使用して取得することを試みます。

プラットフォーム固有のAPIを使用するので、作成するcsファイルはすべて「Platform/Android」配下に置きます。また、余計な考慮をしたくないので、この説明中の「最小ターゲットAndroidフレームワーク」は「Android 10.0 (APIレベル29)」にしてあります。

携帯ネットワーク通信の電波強度を取得する

Android API Level 31 以降とそれより前で必要な物が変わります。最低サポートバージョンを Android 12にする場合は気にしなくていいですが、それより前をサポートする場合はそれぞれに考慮する必要があります。
つまり、Android 12より前のバージョンでは、「Android.Telephony」名前空間の「TelephonyManager」クラス(Android)「Listen()」メソッド(Android) を使用しますが、12以降のバージョンでは非推奨となり、「Android.Telephony.TelephonyManager.RegisterTelephonyCallback()」メソッド(Android) を使います。
そして、前者「Listen()」メソッドで必要なコールバックを受けるクラスは「Android.Telephony.PhoneStateListener」クラス(Android) を継承し、後者「RegisterTelephonyCallback()」は「Android.Telephony.TelephonyCallback」クラス(Android) の継承、および「Android.Telephony.TelephonyCallback.ISignalStrengthsListener」インターフェース(Android) の実装をしたものを用意します。ここで、両方が必要になる場合、特に後者で必要なクラスとインターフェースはAPI Level 31から追加になったもので、30以前のOS、Android 11以前では存在しないため変数として宣言できませんので、両方に対応できるよう、別でインターフェースなどを用意しそれを型として変数宣言する方法を採るといいかもしれません。

ちなみに、この情報を取得するのに必要な権限はありません。適当に権限をなくしてエミュレーターや実機に流して実行してみましたが、特に怒られることはなかったです。

using Android.Content;
using Android.Telephony;

public class NetworkStrengthWatcher
{
    /// <summary>
    /// 携帯ネットワーク通信に関するコールバックをまるめるインターフェース
    /// </summary>
    private interface ITelephonyState
    {
        /// <summary>
        /// 電波強度
        /// </summary>
        int Level { get; }
    }

    /// <summary>
    /// Android API Level 31 以降用
    /// </summary>
    private class TelephonyState : 
        TelephonyCallback, 
        TelephonyCallback.ISignalStrengthsListener, 
        ITelephonyState
    {
        public int Level { get; private set; }

        public void OnSignalStrengthsChanged(SignalStrength signalStrength)
        {
            // 電波強度を見やすいように 0 から 4 にしてくれているプロパティを使う
            this.Level = signalStrength.Level;
        }
    }

    /// <summary>
    /// Android API Level 30 以前用
    /// </summary>
    private class TelephonyStateOlder : PhoneStateListener, ITelephonyState
    {
        public int Level { get; private set; }

        public override void OnSignalStrengthsChanged(SignalStrength? signalStrength)
        {
            if (OperatingSystem.IsAndroidVersionAtLeast(31))
            {
                return;
            }

            base.OnSignalStrengthsChanged(signalStrength);

            if (signalStrength is null)
            {
                return;
            }

            // 電波強度を見やすいように 0 から 4 にしてくれているプロパティを使う
            this.Level = signalStrength.Level;
        }
    }
}

あとは、変数宣言の型はインターフェースで、実際の代入にはAPI Levelに応じたものを入れ込めばOKです。

private ITelephonyState telephonyState;

public NetworkStrengthWatcher()
{
    if (OperatingSystem.IsAndroidVersionAtLeast(31))
    {
        this.telephonyState = new TelephonyState();
    }
    else
    {
        this.telephonyState = new TelephonyStateOlder();
    }
}

つづいて、状態のコールバックを受け取るための購読処理をおこないます。携帯ネットワーク通信にかかわる情報は「Android.Telephony.TelephonyManager」クラスを使用します。これは「MainActivity」のインスタンスから取得できるので、今回作成したクラスにそのインスタンスを渡してもらい、呼び出します。

private MainActivity activity;
private TelephonyManager? telephonyManager;
private ITelephonyState telephonyState;

public NetworkStrengthWatcher(MainActivity mainActivity)
{
    this.activity = mainActivity;

    // これで取れるはず。GetSystemService の返り値が nullable なので as を使い、
    // 受け取りも nullable にしておきます
    this.telephonyManager = mainActivity.GetSystemService(Context.TelephonyService) as TelephonyManager;

    if (OperatingSystem.IsAndroidVersionAtLeast(31))
    {
        this.telephonyState = new TelephonyState();
    }
    else
    {
        this.telephonyState = new TelephonyStateOlder();
    }
}

次に購読開始のメソッドを用意します。前述の通り、API Versionによって呼び出すメソッドは変わり、また必要なコールバッククラスも変わりますので、バージョンで分岐させつつ呼び出します。コールバッククラスはインターフェースでどちらが入ってもいいようにしてありましたので、ここで本来必要になる実装型に変換してあげればOKです。

public void Listen()
{
    if (OperatingSystem.IsAndroidVersionAtLeast(31))
    {
        // 本当は MainExecutor プロパティは nullable なので見た方がいいかも。ここでは知ったこっちゃない扱いにしておきます。
        this.telephonyManager?.RegisterTelephonyCallback(this.activity.MainExecutor!, (TelephonyState)this.telephonyState);
    }
    else
    {
        this.telephonyManager?.Listen((TelephonyStateOlder)this.telephonyState, PhoneStateListenerFlags.SignalStrengths);
    }
}

念のため購読解除も用意しておきましょう。こちらもAPI Versionによって呼び出すメソッドが変わります。31以降の場合は「UnregisterTelephonyCallback()」メソッドを呼び出すと止まりますが、それより前の場合は明確な停止メソッドがありませんので、「Listen()」メソッドのフラグに「PhoneStateListenerFlags.None」を渡すことになります。

public void Stop()
{
    if (OperatingSystem.IsAndroidVersionAtLeast(31))
    {
        // 素直なメソッドがあるのでそれを使えば止まる
        this.telephonyManager?.UnregisterTelephonyCallback((TelephonyState)this.telephonyState);
    }
    else
    {
        // None を入れてリッスンすると止まる
        this.telephonyManager?.Listen((TelephonyStateOlder)this.telephonyState, PhoneStateListenerFlags.None);
    }
}

これで準備はOKです。あとは実際に使うところですが、いったんここではMainActivityクラス内で宣言し、リッスン開始をするようにします。

// プロジェクトを作った際のいろいろ書いてあるところは省略してあります。
public class MainActivity : MauiAppCompatActivity
{
    private NetworkStrengthWatcher? networkStrengthWatcher;

    protected override void OnStart()
    {
        base.OnStart();

        this.networkStrengthWatcher ??= new NetworkStrengthWatcher(this);
        // サクッとスタート
        this.networkStrengthWatcher.Listen();
    }

    protected override void OnDestroy()
    {
        // ここで止める
        this.networkStrengthWatcher?.Stop();

        base.OnDestroy();
    }
}

もうあとは実行すれば情報がおりてきます。ログもなんも出してないので、コールバッククラスの「OnSignalStrengthsChanged()」メソッド内でなんとなくログを出すようにしておけばよいと思います。
エミュレーターでネットワークの状態をポチポチといじってあげれば、ログにもその情報が逐一入ってきているのがわかります。

ログの出力例

いったんここまでまとめ

長くなったので、携帯ネットワーク通信の分で一旦締めます。ここまでで書いたコードは以下のgistに適当に貼っておきました。
次はWiFiの情報について書きます。
gist.github.com

コミックマーケット104に参加します

C104に参加します。AncientChronicleとしてはサークルスペースはありませんが、ご縁あって5r4ce2さまと共同でグッズを製作しましたので、そちらで頒布するという形で参加することとなりました。

「高速道路ナンバリングチャーム」というものを作りました。高速道路ナンバリングってなんぞやという方もいるかと思いますが、全国の高速道路には番号が振られています。
www.mlit.go.jp
例えば、「東名高速道路」なら「E1」が、「中央自動車道」なら「E20」「E19」「E68」などです。
また、一部路線には特定の区間に2つ番号が振られているケースもあります。この2つ並ぶ様子を形にできたら面白いな…と思ったのがきっかけです。また、近くを走っている高速道路や、よく通る高速道路、好きな高速道路の番号を並べてみたりするのも面白そうです。

予定頒価は、お好きなのを2つ選んで500円です。また、5r4ce2側でも首都高のナンバリングチャームを作成しており、こちらとも一緒に選べるようにする予定です。
今回第一弾でお試しということで、AC側では関東地方一円の高速道路について作成しました。以下を持っていく予定ですので、もしお時間ありましたらぜひ 8月12日(日) 東地区 "へ" ブロック 01ab へお立ち寄りください。

番号 路線名
E1 東名高速道路名神高速道路
E1A 東名高速道路伊勢湾岸自動車道新名神高速道路
E4 東北自動車道
E6 常磐自動車道 (仙台東部道路三陸沿岸道路、仙台北部道路)
E14 京葉道路館山自動車道富津館山道路
E16 横浜新道、横浜横須賀道路
E17 関越自動車道
E19 中央自動車道*1、長野自動車道
E20 中央自動車道
E50 北関東自動車道、東水戸道路、常陸那珂有料道路
E51 関東自動車
E52 東名高速道路(清水連絡路)、中部横断自動車道中央自動車道*2
E65 新空港自動車道
E68 中央自動車道*3東富士五湖道路
E70 伊豆縦貫自動車道
E82 千葉東金道路
E83 第三京浜道路、横浜新道
E84 新湘南バイパス西湘バイパス
E85 小田原厚木道路
C3 東京外環自動車道東海環状自動車道
C4 首都圏中央連絡自動車道(圏央道)
CA 東京湾アクアライン
D8 東京高速道路
D18a 箱根ターンパイク*4
D18b 箱根ターンパイク*5

試作した感じではこうなりました。サイズ感の統一のために、本来のナンバリング標識とは違う形になっています。

チャームのサンプル

*1:岡谷JCTより西

*2:中部横断道と重複するほんの一部だけ

*3:大月JCTから南に行く、例えば富士急ハイランドに向かうときに使う路線です

*4:箱根小田原本線という、箱根の横を通るターンパイクのメインとなる道路です

*5:箱根伊豆連絡線という、箱根より西側にある少し短い道路です