「なんでiOSにはチェックボックス無いんだ!」 から始まるお話


「なんでiOSにはチェックボックス無いんだ!」

と感じたこととそこから始まるお話です。


デフォルトでは用意されていなくても、チェックボックスが必要なときは必ずでてきます。

そのとき、エンジニアさんには、「HIGに準拠していないから」「既存のコンポーネントがないから独自実装になるので工数がかかる」「スイッチにしてほしい」と渋られるかもしれません。

今回、実装コスト、工数かかるの分かる…でもそこで「じゃぁスイッチでお願いします」と言われるがままに変更するのは何か腑に落ちない…と悩む一件がありました。

そこで、なぜスイッチじゃダメなのか、なぜチェックボックスにしてほしいのかを伝え、必要性を訴えることにしました。



前置きのご注意

iOS HIGやその他さまざまなガイドラインを準拠し制作しているエンジニアさん・デザイナーさんを否定する記事ではありません。

ガイドラインを軽く読み飛ばしちゃう私からすると、ガイドラインを読み込み、それを守って制作されることは本当に尊敬しています。

ちゃんと議論の場に立つためにはガイドラインを読み、その上で自分の考えを鍛えて、ケース・バイ・ケースで適切なUI選んでいける思考をもっていきたい、というお話です。

(ちなみに、私は1ヶ月ほど前からSketchを触りだし、アプリデザインに携わることになった、超超超初心者です。初心者の戯言と受け取って頂ければ幸いです。)



スイッチとチェックボックス

そもそもスイッチとチェックボックスだと役割が違います。

スイッチUIを使用する場面は、グローバルな設定(ヘビーな設定)に使うで、かつ「on/off」という対になっている必要があると考えます。

今回、私がやりたかったことは「コメントを特定のユーザーだけにする」というオプションを付けることです。

対の関係性ではないものを、既存コンポーネントにないからという理由で「on/off」スイッチで代用するというのは、ちょっと腑に落ちないな〜と思っていました。

なので今回は、チェックボックスにするのが妥当だと考えました。

なぜなら、「コメントを投稿する」と「コメントを特定のユーザーだけにする」は、完全に対になる関係性ではないからです。
(電気をつける⇐⇒消すは対になる関係ですが、電気をつける⇐⇒点滅させるは対になる関係性ではなく「つける」行為に付随する関係だと思います。)



私がスイッチが良いと思う場面と、チェックボックスが良いと思う場面

  • スイッチ

アプリ全体の設定画面で、「今後のコメント投稿はすべて特定ユーザーだけに公開する設定にする」と設定する場合


  • チェックボックス

1コメント投稿ごとに「全体に公開する/特定のユーザーに公開する」というオプションを都度付与する場合


このように使用する場面により適切なUIを考えていくと、全てがスイッチで賄えることはないと思います。

考えた結果、スイッチではなく、チェックボックスを導入されているアプリも多々あると思います。

ただ、iOSデフォルトで提供されているものがないと独自実装という形をとるらしく、これには工数がかかると…

デフォルトで用意されていれば工数もかからず、ユーザーさんにも適した形で操作していただけるのになぁ、とアプリ制作初心者の私は思いました。



まとめ

結果、今回、「開発コスト」「リソース」などの様々な制約から、スイッチ実装になりました。

プロジェクト全体で判断したとき、優先すべき事柄は多くあるので、絶対デザイナーの意見を優先して!とは思いませんし、そこで押し通すのはプロジェクトに関わる者として違うと感じました。

ただ、このように議論をすることは大切なことだと思っています。


現在、まだまだiOSのHIGを読みすすめている途中で理解が及んでいない所多々あります。

しかし、そんな中でも実装には足りないところも多いのかなと感じることもあるので、HIGに従いつつもデザイナーとして必要な部分は補っていくことも含めて考えていきたいです。


その挙動が何を意味しているものなのかを考え、腑に落ちない場合は何が腑に落ちないのか考え伝える。

常にベストを提案していけるデザイナーになれるよう、これからも精進します。