アプリをクローズするかどうか迷っている話。

おはようございます。Reoです。

このブログを始めてから初めてのおはようなのでは?珍しく朝に書いてます。

今回の記事は、ただの独り言です。こういうのも久々だ。

 

概要

アプリを配信停止にするかどうか悩んでいる話です。

悩んでいるし、ブログまで書いているけれど、意見が欲しいわけではないです。それこそ、誰かに言われて決めることではないと思うので。

クローズするかどうか悩んでいるアプリは、「Robin」です。

 

悩み始めたきっかけ

クローズするのもアリだなという考えが出てきたのは昨日の夜。本当につい昨日のことです。

先日、今年中にやりたいことを書き出していたんですが、その時に「pocket時間割」と「ideaDASH」を年末でクローズすることを決めました。まだ誰にも言ってないんで、ここで初めて言うんですが、ひっそりとそう決めました。(そのうち、そのこともブログ書く予定)

その時は、Robin をクローズさせようなんて考えてもいませんでした。

そして昨日、夏に始めて中途半端になっていたリファクタリングを久々にしようかなと、Xcode でプロジェクトを開きました。

30分ほど作業をして、ふと「これ、終わらせちゃってもいいんじゃない?」という考えが頭をよぎりました。

 

悩む理由

さて。悩んでいるということは、配信停止にしようと決めかねているということです。

簡単にクローズしたくない理由もあるわけだ。

どうしてクローズしたいか、どうしてクローズしたくないかを書いていこうと思います。

 

クローズしたい理由

  • 保守が追いつかない
  • コードが汚すぎてモチベーションが維持できない
  • リファクタリングにコストがかかりすぎる
  • 自分で全く使っていない
  • しんどい

 

クローズしたくない理由

  • 思い入れがある
  • ストアでの立ち位置は良い(Robinで調べて2個目)
  • つけるよって言ってつけられてない機能がある

 

リリースしてから2年半、色々あって多分一番思い入れのあるアプリ。

リリースしてから2年半、スキルアップをして見てられなくなったコードたち。

さて….

 

保守をしたい、保守ができない

本当にこれに尽きるんですが、保守ができない。

今まで作ってきたアプリもそうですし、このブログを見ても分かる通り、とにかく保守が苦手です。作りっぱなしになってしまうことが多いです。

んで、「Robin」ってツール系のアプリなんですね。毎日写真を撮ってGIFを作ろう!みたいなアプリなのですが、リリース後にやることはバグ潰し・機能改善・パフォーマンス改善・新規機能開発ぐらい。

新規機能開発をしない!って決めてしまって、バグも特にないとても良い状態でリリースをしていれば、そこまで保守しなくても良いぐらいなんですよ。

 

それなのに、そのアプリをクローズしようと考えている。

そのまま置いておけば良いじゃん!っていう気もしますが、そうはいかない。iOS がアップデートされて環境が変われば、動かなくなることもあります。

動かなくなってしまえば、例え自分が悪くなくても動かないクソアプリになってしまいます。

実際に経験があるからこそ、それが怖い。

 

iOS11 から iOS12 に上がった時、Robin が死にかけました。(詳細: ios12でCoreDataのExternal Storageを利用しているデータが破損してしまう問題が発生した件

iOS側のバグで、写真が消えてしまった。写真アプリなのに。本当に地獄でした。

 

このままにストアに置いておくということは、こういったことに対処をするよっていうことだと思うんですよね。

それができないなら、消してしまった方がいい。と思っているわけです。

 

クローズすることは悪ではない

保守ができないなら、ストアから消してしまえ、マイアプリ。

ふと、これはオールオアナッシングな考えか?と言う気もしてきました。

例えそうでも、これに関してはそれでいい気がしてます。保守をしない、ストアからも消さない、そんなグレーな状態で置いておくのもいいかもしれないけれど、自分がそれを良い状態だと思わないので。

 

そして、配信停止にすること自体は悪いことではないと思うんですよ。

サーバ運用とかをしてるわけでもないので、既に使ってくれているユーザーはそのまま使えますしね。新規ユーザーがいないだけで。

ただ今の状態も全く良い状態なわけじゃなく、データ破損バグを修正した後のロードやらが入りまくっててめちゃくちゃひどい状態で、それが心苦しい。

 

でも責任を持てないものを、いつまでもストアに置いておくのも不誠実だなと思うんですよね。責任を持つ覚悟がないと。

Robin が重荷になって新しいものが作れないと言うのなら、切った方がいい。重荷になるために産み出したわけではないでしょう?

 

これは戦略的撤退か?逃げか?

実際、これが一番悩んでいる理由かもしれないですね。

私はこれまで色んな関係を切ってきたし、学校なんかも辞めてきた人間です。辞めることができる人間だけれど、もしこれが逃げなら、それは嫌だなって思うわけです。戦略的撤退でなければならない。

色んなところから逃げてきて今があるけれど、自分で作ったものからさえ逃げるのか?という思いが出てくるんですよね。

AppApp の審査を通すことができずに、開発を諦めた時も同じようなことを考えていたかもしれないです。あの時は結局開発を辞める決断をしたんですよね。

 

続けるとしたら

Robin は Swift 3 の時に書かれたもの(だったはず)で、2年半前にリリースしました。

ちょこちょこアプデはしているので、Swift のバージョン自体は最新です。

しかし、ちょうど1年前くらいに、iOSエンジニアとしてお仕事させて頂くことになった前と後で、書いてるコードが全く違うものになってしまっているんですよね。

Robin はそれこそ IB をひとつも使わず、全てをコードで書いているものでした。

今年の夏にそれを頑張ってリファクタリングして、半分くらいは終わってる状態ですが、ここまでで1ヶ月くらいはかかってるので、残りをやるとしたら更に1ヶ月かかるわけです。

今リリースされているものと同じ状態にするだけで、1ヶ月。しんどいなぁ。

でも、ここまでやれたら、コードが前より綺麗になって新機能もつけやすくなるんですよね。保守も今よりずっとしやすくなるはずなんですよ。

 

ほとんど最初から書き直してるようなもんなわけで、それだったらデザインごと変えたい!と思ってるんですよね。

でもそのデザインを考えるのもかなりしんどいのです。何がいいのか、どうしたいのか、全画面で考え直すのがかなりツライ。でも今のままでいいとも思っていないわけです。

いやーーーーーー。どうするのが一番自分で納得できるんだろう…。

 

正直、コードも最初からプロジェクト作り直して書いた方が早そうなぐらいなんですよね。

デザインに関しては、今のが頭をよぎってしまって、新しく考えるのがすごく難しいです。

 

そして、何より、CoreData を使ってるのがしんどいですね。そこから Realm に移行しようとか考えてたこともあるんですが、それもキツイ。

だったらプロジェクトごとやりなおして、今の Robin を消して、新Robin としてリリースした方がいいのでは?なんて考えも出てきちゃって・・・

 

年内には決断します

かなり悩んじゃって、今ここで決めちゃう方が楽なんですけど、そうできないほどには愛着があるんですよね。

でも、はっきりいって自分が Robin の保守をするって決めたら、それは意地でしかないと思いますね。

愛があってやるというよりは、完全に意地だと思います。

 

年内にはどうするか決めます。

いや、年内にデザインができなければ、クローズをします。(決めちゃってる!)

趣味での個人アプリ開発から、生きていくための個人アプリ開発になって欲しいので、マネタイズもできなければクローズします。

マネタイズができなければ意味がないとは言わないけれど、でもそれじゃ自分にとってただの重荷でしかないと思うので。

 

正直今は半々ぐらいの気持ちですね。

前半部分書いてる時は、あーもう辞めたいクローズしよって思ってたけれど、後半はあーどうにかしてあげたいって気持ちになってました。めちゃくちゃ揺れてます。

めちゃくちゃ揺れてしんどいので、とりあえず、年内に勝算がないなと思ったら撤退します。戦略的撤退です。

もし忙しくて考える暇がなかったと言う場合も、多分その状態で保守ができるとは思えないので撤退します。

 

最後におしらせ

全然関係ないですが、今年は Advent Calendar by うるおいらんど をやろうと思います。1人で頑張って25記事書くぞ!さみしくなんてないんだからねッ

内容は雑多で、書くことがなかったら適当に日常ブログでも書きます。でも日常ブログは最終手段にしようと思います。ちゃんと25日書けたら、自分にご褒美でもあげよう。

 

その中のどこかで、ideaDASH 等のアプリをクローズをする話も書こうと思います。

そして年内にRobinをクローズするかどうか決断すると言いましたが、このアドベントカレンダーの最終日までには決めようと思います。そして報告しますね。

 

なんだか思ってたより長くなってしまいました!

おはようで書き始めたのにもうお昼過ぎちゃった!!!

それではでは。

Daily

Comments...

コメントは認証制です。詳しくは下記の注意をお読みください。お気軽にコメントお願いします!

Write a Comment

コメント時の注意

「Twitter」「Facebook」「Google+」「WordPress」のいずれかのアカウントをお持ちの方は各アカウントと連携することでコメントできます。 コメントしたことはSNSに流れませんので、アカウントをお持ちの方はこちらの方法でコメントを投稿して下さると嬉しいです。 アカウントをお持ちでない方はメールアドレスで投稿することができます。 初回コメント時は承認後に表示されます。