Salmonia開発基金設立のお知らせ

話題

Salmoniaの開発にあたって

Salmoniaは広告なし・無料でダウンロード、利用可能で姉妹サイトであるSalmon Statsも同様に広告なしでツイッターアカウントさえあれば誰でも無料で使うことができます。

が、何度も言っているように開発には時間と手間がかかっています。今後のアップデートに対して常に対応することをお約束することはできません。

現在以下の三つのバージョンのSalmoniaが展開されていますが、バグ修正やアップデート予定はありません。なんでアプデ予定ないの?という質問には次の章である「アップデート予定」の項目を読んでください。

Python版Salmonia

GitHub - tkgstrator/Salmonia: Download JSON from Nintendo and Upload SalmonStats automatically.

ログインしてアップロードするしか機能がないSalmoniaですが、最もシンプルでわかりやすいといえばわかりやすいかもしれません。

ずっと起動しておけばいいので難しいこともなにもないです。

OSS(オープンソースソフトウェア)なので誰でもコードをみて改良・修正ができます。Pythonがわかる方ならより良くできると思います。

Python版のSalmoniaは更新予定がありません。次に任天堂のAPIの仕様変更があって認証ができなくなったら使えなくなると思ってください。

iOS版Salmonia

おそらく最も普及してるのがこのバージョンのSalmoniaでしょう。

ちらっとみたらダウンロード数が1500件くらいありました、ありがとうございます。

ソースコードを公開したいのですが、あまりにもクソコードなので見せることができません、恥ずかしいです。

機能も豊富なのですが、豊富故にバグが発生しやすく、もはやどこから直していいのかよくわからなくなっています。次のメジャーアップデート(7.0.0)をリリースするのであれば完全にイチから再設計しようと考えています。

上にも書きましたが、あまりにも機能がおおくてごちゃごちゃしているのであんまり触りたくありません。どこかを直せば別のどこかでバグが発生する可能性があるからです。

なので、アップデートするのであればメジャーアップデートすることになるのですが、それは手間が非常にかかるので(三日やそこらでできる作業ではない)7.0.0のリリースも「基本的にはない」ものとしてお考えください。ユーザの方々の要望次第ではありますが、APIの仕様変更には対応するかもしれません。

ReactNative版Salmonia

tkgstrator/ReactNative-Salmonia
. Contribute to tkgstrator/ReactNative-Salmonia development by creating an account on GitHub.

ついこの間リリースしたのがReactNative版Salmoniaで、機能は最低限のものしかありませんが自動ログインと履歴取得機能に対応しています。シャケレートやプレイ分析機能などはありません。

OSSなので誰でもコードを改良することができます。面白い機能を追加したらぜひPR(プルリクエスト)してください。

ReactNative版のいいところはMacを必要としないのでエンジニアの方であれば誰でもいじることができるところです。なので、これからの開発はこっちが主流になっていくかもしれません。

実際、ぼくも最近はこちらでの開発がメインになっています。Play Storeに申請して誰でも簡単にインストールできるようにするという構想は特にありません。現状は一部の「どうしても使ってみたい方」向けだと思ってください。

アップデート予定

とはいうものの、このまま放置し続けるのも忍びないと思っているのは事実です。

しかしやはり、アップデートするからには不完全なものをリリースしたくないですし、そのためには手間も時間もかかります。現在はCOVID19の影響でまとまった時間が取れていますが、今後もそれが続くかどうかはわかりません。

ですが、もしもこういったアプリ開発である程度の収入が得られるのであればこちらを「本職」として生計を立てていくことも可能なはずです。

合計支援金額とアップデート予定

まずお断りしておきますが、支援していただいた寄付金は開発者でしっかりと分配します。ぼくだけが独り占めすることはありません。

以下のリストは支援金額の合計(個人ではない!)によってぼくが(あるいは開発者が)何をするかをわかりやすくまとめたものです。

5000円(既存のバグ修正)

すぐに直せそうなバグを修正します。現在、修正予定のバグは以下の三つです。

  • シャケレートが0になり、表示されない問題
  • チャート機能の上が見切れてしまう問題
  • 初期化機能が正しく働かない問題

10000円(簡易的な機能追加)

一日くらいでできそうな機能を追加します。具体的には、以下のどれかをやります。

  • 黄金編成と通常編成の履歴切り分け機能
  • 統計タブに他の項目を追加する
  • チャートタブの履歴をもっと遡れるようにする
    • またはチャートタブに他の項目を表示する
  • 記録タブの最高納品数をタップすると詳細を見れるようにする
  • データベースのバックアップ・リストア機能
    • 今はアプリをアンインストールするとデータが失われますが、復活できるようにします

30000円(中規模な機能追加またはバグ修正)

一週間くらいでできそうな機能、バグ修正を行います。具体的には、以下のどれかをやります。

  • データ取得が重くなる問題を修正します
  • データ取得でクラッシュする問題を修正します
  • リザルトのリスト表示
    • Salmon Statsのようにリザルトをソートできるようにします

50000円(えむいいさんが喜びます)

Google Pixel 3aを買います。ReactNative版の開発が捗ります。

100000円(大規模な改修、メジャーアップデート)

一ヶ月ほどかかる(ひょっとしたらそれ以上かもしれない)大規模な改修を行います。

iOS版での開発になるかReactNative版の開発になるかはわかりませんが、メジャーアップデートを行います。

iOS版で開発が決まった場合はiOS版(iPhone向け)のみアップデートを行い、ReactNative版の場合はAndroidとiPhoneのどちらもで使えるようにアップデートを行います。

具体的に追加する予定の機能は以下の通りです。

  • Salmon Statsからのデータ取得機能
    • Salmon Statsにアップロードされている自分のリザルトを全て取得できるようにします
    • これにより、過去のリザルトを簡単に分析できるようになります
  • データ解析機能の強化
    • 現在の統計機能をアップデートします
    • 過去の統計機能や平均との比較をより詳細に見れるようにします
  • 他のプレイヤーとの比較機能
    • 上手い人と比べて自分がどこが弱いか、あるいはどこは十分達成できているかがわかりやすくなります
  • シャケレートの改善
    • 現在、有志の方がサーモンランのリザルトを解析してくれています。これにより、より正確に自身の評価であるシャケレートを求められる見込みです。

結局何がしたいのか

この記事を書いた理由を「金くれなきゃ開発しないぞ」っていうアプリの実質有料化みたいに捉える方もいるかも知れませんが、そういうつもりはほとんど(ゼロでないことは否定しない)ありません。

今後アプリに新たなバグが見つかったり、仕様変更で動作しなくなることがあるかもしれません。そのときにすぐに対応しないのを「不誠実だ」「ユーザーを無視している」などと言われたりしないようにするためです。

「いつも使っているので直して頂けると助かります」「お気に入りのアプリなんです」は非常にありがたい言葉です、自分もなるべくその言葉に応えたいと思っています。

が、無償アプリである以上サポートを続ける義務も開発を続ける義務もないのです。ぼくはぼくがやりたいことをやります。Salmoniaの開発をしたのも単にそのときにプログラミング言語の勉強をしたくて、対象としてサーモンランが都合が良かったというだけです。

知っている方も多いと思いますが、ぼくは多趣味です。将棋も好きですし、AIも好きです。余暇の時間をいつまでもサーモンランやSalmoniaに割いている余裕はないのです。

もしもどうしてもぼくにサポートを続けさせたければ「責任」を負わせればよいのです。それは非常に簡単で、金銭のやり取りをすればいいのです。

年俸が0円の野球選手が一年間全く活躍しなくても誰も文句を言いません、責任がないからです。でも年俸数億円のプレイヤーが試合に全然出なかったら「給料泥棒」って思いますよね、それと同じです。

注意してほしいこと

で、仮にすっごいサーモンランが好きな方がメジャーアップデートを期待して一万円寄附したとしましょう。でも、他の人はそれを望んでなくて全然寄付しなかったとします。

そのとき、非常に申し訳ないのですがぼくは一万円分の開発しか行えません。

姉妹サイトをつくってみた

tkgling

勉強中のVueを使って姉妹サイトを公開してみました。このページでぼくへの支援ができたりします。

何度も言いますが、これは完全に任意で強制でもなんでもないです。ただ、支援しなかった人がアプリのアプデやバグ修正がなくて文句を言うのはやめてくださいね。

まあこうやって懇切丁寧に書いてもあんまり意味ないんですけどね、そういうのが一番開発者のモチベを下げますよね。記事は以上。

コメント

タイトルとURLをコピーしました