アプリ内の独自マージンは悪

最近アプリを1本リリースしたが、色々と思うことがあった。 その一つが独自マージンは悪だということ。

作っていたアプリはゲームエンジンは使ってないものの、ツール系アプリと違って楽しむ系のゲームに近いジャンルだった。 そこで、担当デザイナーは5dp刻みのマージンを指定した。

1つ目の問題〜UIコンポーネント

5dp刻みのマージンはこちらで指定したUIであれば問題なく機能した。 ただし、プラットフォームのUIコンポーネントを多用するような画面では邪魔になった。 例えば設定画面や、検索画面といったアプリではなく、プラットフォームのデザインに寄せた部分だ。 UIコンポーネントは4dpで設計されていて、こちらのUIは5dpで設計されている。 画面内はもちろん、画面遷移で1dpの差が出てしまう。

2つ目の問題〜他デザイナーの参画〜

途中で当初居たデザイナーのタスクが溢れてしまい、途中で別のデザイナーがプロジェクトに参加した。 そのデザイナーはマテリアルデザインに慣れているため、とても良いことに思えた。 ただし、実際に渡されたデザインのマージンは4dp刻みだった。 デザイナー間の意思疎通が取れてなかった。

結局どうしたか

細かいマージンの差分吸収はエンジニアが行った。 新規デザイナーが上げてくる4dpは5dpに変換した。 ちなみに初回から参加していたデザイナーも必ず5dpに指定したわけじゃなく、4dp刻みになっていたこともあった。

まとめ

結局5dpに指定したことが全ての問題だったと思う。素直に4dp刻みにすれば皆余計なタスクは発生しなかった。 既存のUIコンポーネントは4dp刻みで設計されている。そちらに合わせるべき。 AndroidStudioのConstraintLayoutUIデザイナも8dp(だったか)など2の倍数で指定するようになっていたはず。 XCodeも2の倍数が基本。2の倍数指定にするべき。