久しぶりに投稿できそうなネタができたので数年ぶりに復活。
クラウド全盛期のこのご時世、Google カレンダーも Google コンタクトも便利なのはわかっているんですが、予定や電話帳、位置情報と言った個人情報を Google に提供するのがどうにも気持ちが悪くて、Android スマホを使っていながらも、これらのアプリは Google アカウントとは連携せずに使ってます。※1
そんな私のニーズにバッチリなのが ownCloud で、Dropbox、Google Calender (CalDAV)、Google Contacts (CardDAV) を自分のサーバで完全に置き換えることができます。素晴らしい!!
そんなこんなで重宝している ownCloud ですが、不満があったのが Contacts アプリです。一通り機能は揃っていて UI も今風で使いやすいのですが、致命的な欠点はふりがなに対応していないことでした。
内部の DB としてはふりがななどの情報も保持できているようで、 CardDAV を使ってAndroidなどのクライアントからふりがな付きのデータを同期することは問題なくできます。なので、Android 端末側で全て操作して、クラウドの保存先として使う分には問題ありません。
ただ、スマホの機種変更の際の操作ミスが重なり、ふりがなが消えたデータで上書き同期してしまいました。スマホの操作で全部ふりがなを書くのは気が遠くなるので Contacts アプリを改造することにしました。
で、対応したのがこれ。
Contactsアプリを上記のものに置き換えると、設定に「Enable phonetic」「Reverse name order」の2つのチェックボックスが追加されます。
「Enable phonetic」のチェックボックスを有効にすると「せい」「めい」の項目が表示されます。
「Reverse name order」のチェックボックスを有効にすると、「名」「姓」の順から「姓」「名」の順に変わります。
両方にチェックを入れた時の右側の詳細画面がこちら。
もう1つ、ソートの項目に「せい」と「めい」の2つが追加されます。これを選ぶとふりがなでソートができるようになります。
日本なら2つのチェックボックスを有効にして、ソートは「せい」を選ぶのが良いでしょう。「せい」を選んだ場合、同姓なら「めい」でソートされます。
これで日本語環境で最低限使えるようになったと思います。
ソースは github で公開しています。一応本家にもプルリを送ってみたのでうまくいけばマージしてもらえるかも?
※1 .. LINE のほうが Google に比べて信用度は下がるのに、こっちは使わないわけには行かないというジレンマ・・・ コミュニケーションツールがクローズドな仕様で一社寡占状態なのは不健全だと思うんだけどねぇ。