Ojiya

できれば読んでください

 トップページにも書いていますが、Ojiyaは作者が欲しい機能をもつコメビュを作りたくて開発しました。人に使ってもらいたくて作ったものではありません。Mac専用コメビュでありながらWindowsアプリである棒読みちゃんが使用できるような特殊性はそのためです。
 また、使い慣れたOkayuと似た動きをすることを目的としました。
 見た感じUIは似てはいますがOkayuをコンバートして作ったわけではなくコードやアルゴリズムはほぼオリジナルです。(ググって参考にしているコード等が含まれていますが)
 故に安定しているかどうか、Okayuと同様に走るか、と言えばNOです。

 余談かつ裏話ですが、もともとOjiyaという名前にするかどうかは決めていませんでした。Okayuに似た字面でデータ互換があることが分かるのはOjiyaだなあと。
 候補としてはRisottoとかZousuiなんてのもあって、実は内部コードとしてはアプリ名にまつわる記載箇所全てを簡単に変更できるように書いていたのですが、MacOSXのアプリケーションを開発するのが始めて故、Xcodeで変えられるのも知らず無駄に色々組んであります。でもダイアログなどのメッセージにアプリ名が含まれているのなんかはXcodeだけでは変えられないので全く無駄なわけでもないですね。
 ああ、そうそう。以前から、なぜコメントビューア(コメビュ)の名称がOkayuとかiPhoneだとChazukeとかなんだろうって疑問に思ってて、元ネタが「コメント→コメ→米」だと気付いたのはHakumaiがリリースされた頃という遅咲きでした。
 それに気付かなければ、きっと全く別の名称になっていたでしょう。
 Ojiyaとするのを決めたのは、もう考えるのが面倒ってのは正直あったのですが、Okayuの作者さんに気に入ってもらった(というか笑いを取れた)のが大きかったかもです。

 先ほど述べたとおり作者はMacOSXのアプリケーションを開発するのは初めてです。ですから開発ペースはとても遅いです。やりたいことは明確でも、クラスやメソッドが分からないため、どう書けば良いかが分からず他の言語なら簡単に書けることも時間をかけて調べないと書けません。
 開発コードをOjiyaと決定し開発し始めたのは2016年3月の終わりでした。
 やっと作者が使用するに全く不足のないアプリができたのが2016年12月(初リリースのVer.0.1のα版)です。この程度のものを作るのに、こんなにも時間を要しています。(右図は8月初旬頃の状態。ツールバーにアイコンもなし=ツールバーにある機能は未実装)
 開発を始めて2週間ほどはコメントの表示さえ、まともにできませんでした。ニコニコ生放送へデータリクエストの方法を探り探りで行い何度トライしてもデータが取れず、試行錯誤の末やっと返ってきたデータを解析してデバッグを繰り返すわけですから時間もかかります。
 いざ、コメントが表示できるようになるとOkayuのコテハンなどを利用するため、Okayuからのデータ移行のコード─具体的にはプログレスバーで進行度をアニメーションするためのコード─を書くのにObjective-CとCのブリッジ(言語間の橋渡し)が必要になってブリッジの仕方がさっぱり分からず、なんとか形にするだけで3日ほど要したりしてます(実はちょっとした処理違反をしています)。CというかMacOSXのカーネルであるDarwinのAPIを使用する必要があったわけですが、そもそも初めてのMacOSXアプリ開発なのでDarwinAPI自体が初見で不慣れです。データベース用クエリ言語のSQLなんて冗長すぎて普段は異常に面倒だと思っているのに、このOjiyaのソースコード内でSQLを書くときにホッとするレベルで。
 思えば何度も壁にぶつかり開発を断念しかけたこともあります。苦労を書けばキリがありません。

 と、苦労したことは事実ですが、それだけを言いたいのではなくて、このような状況だから使ってくださる人たちの要望すべてには応えられないと思うし、バグも多かろうし、機能追加も(できたとして)遅いことを理解しておいて欲しいのです。ここまで長々と書いた一番の理由です。
 また、ご意見等によって苦労に見合わないと感じればアプリの公開をやめる場合もあります。(実際にやめました)そもそも自分が使えればいいので。
 逆に喜びの言葉などが聞けると励みになります。フリーウェアゆえ、開発を継続するモチベーションは他にありません。
 ブラウザセッション利用機能を例に取ると、Chromeの対応ができていませんし、コードの書き方が分かりません。
 やる方法はあるのです。Macのキーチェーンを使って暗号化されているChromeのクッキーを復号化してやれば良いのです。でも、作者の能力ではObjective-Cでのキーチェーンの使い方がググっても分からないのです。そしてChromeが個人的に好きではないので対応するのも面倒くさくてやる気がせず深く踏み込もうとしてないのも原因です。(やらないといけないとは思っていて環境設定に項目がグレーアウトして存在してますが)


 コメント表示ができるようになってからOkayuのデータを移行してOkayuライクに表示できるようになった頃(4月の中旬頃:右図-まだコメント入力欄すらない-)から実際に配信しながら使用してデバッグをしつつ徐々に機能を追加してきました。
 その過程で一時的に不便だったからと追加した機能が後に追加された機能により、あまり意味をなさなくなったりするなど行き当たりばったりな部分も透けて見えます。
 追加はしたけど自らは使わない機能もあって(例えばSayKotoeriで読み上げさせるなど)テストも不十分な機能が多々あります。
 その辺りにはバグが潜んでいる可能性が非常に高いです。予めご理解ください。

 Ojiyaを開発していて非公開のニコニコ生放送の仕様を解析したり、いくつもあるコメビュの開発者を含めたフリーウェアの作者さんたち有志の筆舌に尽くしがたい(であろう)苦労などを改めて考えさせられました。
 ぶっちゃけ、Ojiyaを使ってもらったからといってなんら自らには利益はないのです。上述の通りフリーウェアだから。しかしながら、その分なんらかの不具合があっても責任はとりませんので気楽にしています。また責任回避のためカンパなども受け付けません。金銭のやりとりが発生してしまうと、それはもう仕事になってしまう(=責任が発生する)からです。

 そうしたことをご理解の上、Ojiyaを利用して貰えたら嬉しいです。
 ここまで読んで頂いてありがとうございます。

izumi 2024年8月訂正
izumi 2017年7月訂正
izumi 2017年2月加筆訂正
izumi 2017年1月