iOSネイティブでのラジオボタンの是非

現在携わっているiOSネイティブ開発でデザイナーさんからあがってきたデザインに下画像のような「ラジオボタン」がありました。(まだリリースしていないため画面はTwitterのweb版のもの)


f:id:ushisantoasobu:20130301011957j:plain


ただしラジオボタンはiOSの標準コンポーネントには含まれていません。基本的にはUISegmentedControlで代用すると思います(下画像は"Kickstarter"のもの)。


f:id:ushisantoasobu:20130301012510j:plain


ラジオボタンのデザインがあがってきたときには、こちらエンジニア側のメンバーもあまり知識・経験がなかったためとくに考慮せずOKを出したのですが、このような「標準コンポーネントでできるものを別のコンポーネントに置き換えるってどうなんだろ」、というのが今回のエントリのテーマです。


今回のラジオボタンを用意するとなると、

  • オープンソースからもってくる
  • 自前で用意する(今回はこちらで対応しました)

とあると思いますが、

オープンソースのものだと
「選定の手間」「導入の手間」「ライセンス規約を考慮すること、必要であればその記載の手間」

自前で用意だと
「作成する手間」

そして両方にいえることですが
「今後もそれらを流用していくうえでの管理の手間」

という手間が発生すると思います。

主要機能などでどうしても実現したい、オリジナリティを出したい!・・・とかであれば対応する価値は十分あると思います。ただし主要機能以外のところであれば、標準コンポーネントを使用するのが上記の手間を考えるとやはり望ましいのかなと思います。

自前で実装するのはエンジニアにとって、余裕があるときであれば楽しいものであるかもしれません。ただそれでも、UXという視点からみたとき標準コンポーネントのもののほうがユーザにとっては馴染みのあるものだと思いますので、やはりできるだけ標準コンポーネントのものを使用するのがいいのではと個人的には思っています。

なのでまずはデザイナーさんに(というかチーム全体で)、何が標準コンポーネントとして用意されているのかを知ってもらう/意識してもらう必要があると思います。下画像が一覧です。


f:id:ushisantoasobu:20130301014436j:plain


f:id:ushisantoasobu:20130301014446j:plain


f:id:ushisantoasobu:20130301014457j:plain


またこれら標準コンポーネントの呼び方もチーム内で統一がとれるようにするといいと思います。
うちのチームでは開発中は"ピッカー"と"ドラムロール"がごちゃまぜで使われていたため。。。