GUI開発におけるフォームサイズの適正解とは?
GUI開発をするうえで、当たり前だが避けて通れないのが画面デザイン。
その画面デザインを設計するうえで、親となるフォームのサイズに私はいつも悩まされてきた。
一応最初に保険を張らせてもらうと、私はプロではないので、あくまで趣味として開発するうえでの個人的な悩みだ。
本来、フォームのサイズはユーザーが好きに変更でき、内部の画面デザインはフォームのサイズに合わせ、動的に可変するのが望ましい。
しかし、そうもいかない場合や、それを実装するにはあまりに手間がかかる場合等が多々ある。
今回はそう言った場合を想定して話を進めたい。
多用される解像度
フォームのサイズは、ほとんどの場合、画面の解像度サイズを超えてはならないというのが前提としてある。
なのでよく商業パッケージなどで開発されるソフトウェアで多い印象なのが、「1024×768」というサイズだ。
よく、「イチマルニーヨンナナロッパ」と呼ばれる解像度がこれだ。
これは過去に販売されていた、15インチのノートパソコンが多く採用していたディスプレイ解像度である。
また、2010年以降にマイクロソフトが調査し発表した、最も使われているディスプレイ解像度は「1366×768」との事だ。
メーカーは多く普及しているこれらの解像度に合わせ、ソフトウェアを作っているのだろう。
実際に私も仕事でソフトウェアを開発する際は、この解像度が要件定義として指定されることが多い。
だが、それは本当にユーザーが望む解像度なのであろうか
ソフトウェアの機能と役割
ソフトウェアにはそれぞれ機能と役割というものが当然ある。
たとえば、テキストエディタやOffice、動画編集ソフトといった、ユーザーがフォーム内で頻繁に作業するものに関しては、画面いっぱいにサイズを取っていいだろう。
しかし、ちょっとした音楽の圧縮フォーマットを変換するコンバーターや、音楽再生ソフト、電卓などは全画面である必要がない場合がある。
むしろ、全画面であることがユーザーにとって迷惑となりえるのだ。
私が作っているソフトウェアに、マインクラフトというゲームの中で使用するコマンドを編集するソフトウェアがある。
このソフトウェアは、多くの場合マインクラフトを起動しながら操作されることが多い
とすると、ソフトウェアが大きすぎると、メインであるゲームコンテンツの描画を阻害してしまうのである。
そもそも、Windowsにはタスクバーというものがあって、1024×768の解像度のディスプレイで、高さが768あるソフトウェアを実行すると、
フルスクリーン表示にでもしない限り、タスクバーの裏に隠れてしまう。
フルスクリーンは操作性が非常に悪いので、基本遠慮したいのだが・・・
しかし開発側としては画面サイズを広く取りたい。
多くコントロールを設置するならなおさらだ。
ボタンも押しやすくなるし、表示も見やすくなる
サイズを気にして設置しなくて済むため、快適に開発が行えるのだ。
このユーザーと開発との事情のすり合わせが、より私の開発を面倒にしている
プログラムより、デザインのほうが面倒なのだ。
自動変換
一方、この問題をなるべく考慮しなくて済むような分野もある。
それがAndroid等のモバイルアプリケーション開発だ。
Androidはdpという、画面解像度とは異なったサイズの指定方式を用意してくれている。
開発側は、dpという単位の元、「360x640dp」なんかでサイズを決める。
これを、アプリケーションを動作させるAndroidが、端末の解像度を認識し、最適な解像度へと変換し表示してくれるのだ。
(一部、うまく表示されなかったりということもあるのだが・・・)
近年になって、フルHD(1920×1080)という解像度はもはや当たり前になりつつある。
ほとんどの人が、その贅沢な解像度のディスプレイを保有している。
場合によっては、それよりも大きいこともざらである。
なので、1024×768もそこまで大きなサイズではなくなっているのかもしれない
ただ、まだ当たり前のようにフルHDより低解像度なディスプレイも存在するため、その辺も考慮して、開発を進めなければならない。
これを見ている人で、おすすめのフォームの解像度があったら、是非とも教えてください。
余談
さて、話は変わるが、似たようなジャンルということで、ゲームのフルスクリーンとウィンドウモードについて文句を言いたい。
一部のゲームでは、フルスクリーンでプレイすることがメインとされ、ウィンドウモードは搭載されていないゲームが存在する。
私はデュアルディスプレイなので、右のスクリーンでゲームをやりながら、左のディスプレイでブラウザを操作したりしたいのだが、
フルスクリーンの場合、いちいちAlt+Tabなんかで切り替えてやらなければならなかったりするし、それのせいでゲームが一時停止になったり、酷いとバグったりする。
また、偽ウィンドウモードも存在する。
代表的なものでいうと、Skyrimだ。
あれは、ウィンドウモードにみせかけて、ゲーム外の他のところをクリックできない(すると変な感じになる)
その点、最初から、ちゃんとウィンドウモードで考慮されているゲームは素晴らしい。
Minecraftや、Terraria、Cities:SkyLines等である。
一体あの違いはなんなのだろうか
なぜ、あのような挙動になってしまうのだろうか
誰か知ってたら、教えてほしい(改善策とかあればなおうれしい)