白い悪魔No.0840、
汎用ツールの改良をしています。

今回の作業はまだ終わりが見えません。

技術的な問題は解決しているんですが、表現方法とか、、

今、行っている作業は全然別の設計思想のアプリ、2つを1つにしている様なものです。

くっけたシステムのユーザーインターフェイスが違うので2つのシステムのうち、何方かに統一しないといけません。

古いシステムを改良しながら使い続けています。

その途中途中で不要な機能を消したり、無理やり対応した影響でシステム全体が分かりにくい形になっています。

作った本人ですら、その謎仕様に振り回される始末、、

良い機会なので、今の自分の理想でシステムを再設計したのは良いのですが、辛うじてシステムが動いているだけで、全てのシステム、全ての機能を確認し再調整しないといけない状況になっています。

ーーー

英語版を作るのはしょうがないとしても、iPhoneX

iPadの画面を作るのは手間なんです。

そして面白い作業ではありません。

今、自分が使っているのは無印のiPhoneです。

それもあって無印のiPhone用にアプリを作り、手作業でX系に移植しているですが、、

ーーー

4本もアプリを作っているとお手軽に他機種用の画面を作るための計算式ぐらい確率します。

それが確立した後も、手打ちで座標系を計算して打ち込んでいたのですが、いい加減疲れました。

それで汎用ツールに座標系の変換機能を付けた訳です。

ーーー

iPhone、 iPhoneX、 iPad、、全て画面の縦横比が違うので単純移植は出来ません。

その機種に合った縦横比で画面を作らないと画面全体に表示できません。

そしてスマホの場合、基準点を下にしてアプリを作った方がやりやすい訳です。

そして上部に表示部を配置した方が良い訳です。

iPhoneXでシステム設計すると、iPhoneに移植する際、最悪の場合、機能を削らないといけなくなります。

それが削れる機能だったらまだしも、削れない機能だった場合は、、最悪、アプリのリリースを諦めないといけません。

ーーー

そういう訳で、システム設計をする際には、一番条件の悪い機種を基準にして、適時、画面を引き伸ばして他機種に移植する訳です。

配置する表示部、操作部は画面の上部、または下部に配置して画面の中央を引き伸ばすという方法で画面を作っています。

iPadは画面を最大限に大きくして左右に余白を作る形で対応します。

上基準で配置する部品と下基準で配置する部品がある訳です。

ーーー

変換方法が確立しているのなら、手間でもシステムに入れ込んだ方が、後々のことも考えると楽です。

今回、ユーザーインターフェイス、画面レイアウト、汎用システムまで手を入れています。

これで最後のつもりで大改造を行っています。

これらの作業は後になるほど、傷が大きくなるので、先手先手で直して行った方が良いです。

頭の中には2本、3本のアプリの構想がありますが、考え無しにアプリを増やして行ったらシステムの改修の際に作業量が超過します。

ーーー

誰も作業をしてくれる人はいません。

自分がやらないと、作業は終わらないんです。

2度と同じことを繰り返さない為には、面倒で時間が掛かることでもやるべきです。

それが結果的に時間短縮に繋がります。

システムに自動変換を任せた場合、成功するか、失敗するかの1つしか無い訳です。

特定の機種のみで起こる問題点、、

手打ちでデータを入力していたら間違いが起こる可能性があります。

それよりも、動作検証を行って、実績のあるシステムで自動変換した方がまだ安心です。

今月のリリースは諦めました。

作業が膨大なので、、

そして半端なものを出す位ならリリースしない方がマシです。

システムがメジャーバージョンアップします。

過去のシステムとは一部データの持ち方が変わり互換性が無くなります。

互換性を保ちつつ、新しいシステムへ移行することは出来ないこともありませんが、、

それって、最新システムではデータの読み込みのみでシステム内では使わない変数と新しい変数が混在させることになるので、それはシンプルなアプリとは違ってきます。

過去のしがらみに囚われて自由に動けなくなるのなら、そうならないうちに互換性を捨てた方が楽です。

そういう作業は少ない回数で決めた方が良いと自分は考えています。

半端なシステムを、検証不足のままリリースすると色々なところに迷惑を掛け、アプリの評判も落ちる訳です。

アプリを売り込みたいから、アプリを改良して再リリースを繰り返しているのに評判を落とすことは可能な限り避けなければなりません。

私は戦術家ではなく、戦略家です。

長期のプランで行動を起こせる人間です。

そういう傾向がなければ、アプリなんて作れません。

ーーー

幾ら使いやすい汎用のシステムがあっても、価値がある評価されるアプリを作るためには3ヶ月必要だと思っています。

その場限り、その週限りのスケジュール管理しか出来ない人間には一人でアプリを作ることは不可能です。

ーーー

リリースするまでストレスが掛かるので、長期プランで動ける身でもストレスを解放するために、中間リリースをする時がありますが、、

今回はメジャーアップデート、、

システム自体が不安定で検証が足りていない状態でリリースすることは自殺行為です。

ストレスを溜めずに気長に少しずつ作業を進めようと思います。

表現方法を含め、技術的に困難な箇所はありません。

ただ単純に作り込みと検証確認作業に時間が掛かるだけです。

最悪、3月を潰しても4月にはリリース出来ます。

全く作業の全体像が’見えていない訳ではありません。

全体像が見えていれば、頑張れます。

白い悪魔No.0839、
頭の中で絵コンテを書きながら作業を進めています。

操作性をある程度犠牲にして良いのなら、

可愛さを放棄して良いのならまだまだ変えられます。

もともとが、クールなデザインが得意な人です。

今回、操作性を犠牲にしても、一覧表を表示する必要があったのですが、表示内容と操作ボタンの大きさをバランス取りながら配置した結果、納得が行くものが出来たので、そのデザインに準拠した形で既存システムも作り直すつもりです。

どうせ認められないのなら、何が正解かわからないのであれば、好き勝手に作るべきだと思います。

掴めていないニーズを想像して作るよりも、確実に自分の理想を具現化した方が、少なくとも自分1人はそのアプリを気に入る訳です。

こだわるところはこだわって、本人的に如何でも良いところは、

一般常識に合わせた方が無難です。

ーーー

手戻りがない様に最初に仕様を考えて、アプリの仕様、画面の絵コンテを書きます。

都度、それらを見直し、作業を進めることで、最悪の結果が回避出来ます。

考えれば考えるほど、良いアイデアが出るものです。

それは妥協の産物でしかない場合もありますが、考え抜いた上で作業をしないと、、

あとで作り直しになる場合もあります。

まあ、アプリを改良し続ける以上、作り直しなんてしょっちゅうありますが、無駄な作業はしたくない、、

そう思っています。

そしてユーザーの目からみたら、そんなの関係無いとなる訳です。 そんな事情は、、

何だかんだと言って、1年に一回は根本部分まで手を入れている気がしますが、今回で終わりにしたいものです。

白い悪魔No.0838、
表に見えていることが全てではありません。

自分の場合、標準のライブラリーを使っていても、それを2重化、3重化させて使っているので見た目以上に手間が掛かったりします。

CPUが非力だった場合、それは無駄な処理です。

スピードを引き換えに操作性を選んでいます。

大昔のコンピューターに比べて、今のコンピュータは物凄く高速です。

プログラムを最適化しないと実用的なスピードを出せなかった時代に比べれば、、多少無駄なことをしたって今のコンピュータはびくともしません。

まあ、無駄な処理を行わせるとCPU負荷が掛かるのでバッテリーの持ちには影響は出ますが、最近のコンピュータは多少の無理は余裕でこなします。

何をやっているかわかる人には分かりますし、分からない人には分かりません。

今はそういうことをやっています。

私のアプリの謎仕様の箇所です。

他のアプリからデータを持ってきているのですが、関数名が一緒だったりするので書き換えて使っている訳です。

そしてそれをベースにしてカスタマイズして使うのですが、自分が考えていた以上に時間が掛かる面倒臭いことでした。

あわよくば、今日明日でデバックまで済むと思っていましたが、、アプリの実質的な機能の部分は完成していて、ユーザーインターフェイス、、ランチャーの部分だけなので軽く考えていましたが、

現実逃避するくらいは面倒です。

ですが、これをやらないとアプリを再リリース出来ません。

既にシステムを半分、壊しているので組み立て直さないと世には出せないんです。

これで売れることを信じて、作業を進めようと思います。