_人人人人人人人人人人人_
> 突然の死 2.0 <
> 複数行テキスト対応 <
> ㊗️リリース🎉 <
 ̄Y^Y^Y^Y^Y^Y^Y^Y^Y^Y ̄
こんな吹き出しをお手軽に作成するためのiOSアプリ「突然の死」のバージョン2.0をリリースしました。
このアプリには、次のような機能があります。
- 簡単なコピー&ペースト
- Twitterへ投稿(「設定」アプリでTwitterの設定をしている場合のみ)
- その他、iOSがサポートしている様々なサービスへ投稿
- 画像として出力
- 余白などの設定
- 履歴の記録
こうやって機能をリストアップすると昔のバージョンとは大きな違いはありませんが、バージョン2.0には重要なポイントがあります。それは「改行対応」です。
なぜ今まで改行に対応していなかったのか?
進捗ダメだったからというのは強ち間違いという訳でもありませんが、作ったUIに自分で満足していなかったから公開していなかった、というのが実際の背景です。
最近になって、自分の心の中で諦めの心が芽生えたことから、公開に踏み切りました。
改行対応の何が難しいのか?
「突然の死」の文字列処理が難しいなんてことはありません。開発対象プラットフォームにおける文字幅の取得方法さえわかれば、あとは基礎的なプログラミングと中学校で習う範囲の数学とをきちんと勉強している方であれば誰でも組める程度の文字列処理です。難しいのはUI設計の方です。
このアプリの一番大事なところは、画面が最も小さい端末*1であっても、以下の機能を備えている点です。
- キーボード操作をしながら、リアルタイム描画*2のプレビューが見えること。
- キーボードが表示されている状態であったとしても、文字入力以外の操作(余白の設定や、出力操作など)がキーボードに隠されていることに気づくことができること。言い換えれば、そういった操作のための要素が完全にはキーボードには隠されないこと。
見た目が超絶ダサかったとしても、これらの要件を満たしているだけで使い易いアプリになっているはずだと私は考えています。
さて、これらの要件を同時に満たそうとすると、キーボードに隠されることのない領域に、以下のものを全て詰め込む必要があります。
- プレビュー表示領域
- テキスト入力領域
- オプション指定等の領域のうち、縦方向スワイプ操作を開始するのに十分な部分
- あとは広告
1行だけのサポートのときは、プレビュー表示領域もテキスト入力領域も高さが固定だったので、特に何も考えずに詰め込むことができていました。あ、広告の枠と他のタップする要素とが隣接するようなUIはダメ*3です。ダメ。
複数行の対応をするということは、プレビュー内容もテキスト入力領域も、多くの行を入力すれば高さが変わるのが自然です。もちろんそんなことをすれば、オプション指定等の領域がキーボードに隠れる状態になるリスクがあります。だから、今までそんなアプリはリリースしていませんでした。開発環境としては、branchは存在していたけれどもmergeしてはいないという状態でした。
でも、前回の1.3のリリースから2年弱が経過し、iPhone Xs 等の端末がリリースされ、いいかげんにバージョンアップしないとなーと思いつめた結果、「もういいや、沢山の行を入力する物好きな人はスクロールしながら使ってくれ」と諦めてリリースしたのが今回のバージョンです。
スクリーンショットからだとわかりにくいですが、入力欄やプレビュー表示欄は、縦にスクロールしたりします。実際にインストールされた皆さんは、スクロールとフォントサイズ調整で、どうにかして問題から逃げようとしている様子が見て取れると思います。
まー、もっと良いUI部品の配置を思い付いたらそれ採用しますんで。
という舞台裏を紹介したところで、まだインストールしてない人は、ぜひどうぞ〜〜
今後も使ってあげて下さいね。