GUI設計のコツとは?

このQ&Aのポイント
  • GUI設計における効果的な手順や注意点をご紹介します。
  • GUI設計のお手本となるサイトや本、訓練方法についてもご紹介します。
  • GUI設計についての悩みや失敗談、落とし穴についてもお伝えします。
回答を見る
  • ベストアンサー

GUI設計などのデザインのコツを教えてください。

【スマホなど携帯端末を除く】 デスクトップアプリやWEBデザイン前提の質問お考えください。 現在趣味でデスクトップアプリやWEBページを作成しております。 自分用で非公開の物ばかりでしたが、今後は公開をしてしていこうと思います。 そこで、まず、GUIについて経験のある方にお伺いしたいと思って質問しました。 ■質問 1、入力部品の高さや幅など標準はありますか? 現在は、設計上の都合や、自分が読めたらOKと適当にやってます^^; 2、GUI設計の手順 GUI配置の手順やそれ以前の絵コンテを描くなど、効率の良いやり方など 3、GUI設計の落とし穴、失敗談、苦労話など 4、GUI設計のお手本になるようなお奨めサイトや本や訓練方法など ■お願い 以下のように回答頂けると頂けると助かります。 ・上記ついて、全てに回答して頂けなくても構いません。  質問番号を提示頂けると解りやすくありがたいです。 ・業界標準や慣例や経験などを踏まえたアドバイスなど。 ・現在の巷のGUI設計に不満があるなどの問題点指摘や主観的な構想的意見もあれば 以上、よろしくおねがいします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

1.についてですが,コントロールの大きさ等について, Windows ユーザー エクスペリエンス ガイドライン というものがあります。 http://msdn.microsoft.com/ja-jp/library/aa511258.aspx タッチ端末を想定するなら,Windows ストア向けの情報も役立つかもしれません。 http://msdn.microsoft.com/ja-jp/library/windows/apps/hh779072.aspx 上記はWindowsの場合のガイドラインになります。 OSXでは異なるガイドラインが提供されているのではないかと思います (UIはUIキットの標準に合わせるのが最良だと思っているので)。 なお,タッチを対象とするかどうかは決めた方がよいです。 まず,経験として,Windows phone 6.5.3 (指でタッチ) でWindows Mobile 6やそれ以前 (タッチペン使用) 向けのアプリを動かした時に,爪の先で一生懸命操作したことがあります。 そして,上記のWindows ストア向けのタッチ設計の項目に記述あるのですが,人間の指は1cmほどの幅を持ちます。 マウスポインタの精度に比べて相当大雑把になるので,タッチを対象に含めるのであれば,それなりに大きなターゲットが必要になります。 # Vaio duo 11においてデスクトップ側のソフトを指だけで操作するのは結構苦行です。

akaginoyama
質問者

お礼

OSや環境を書き忘れました、申し訳けありません。 タッチパネル以前の、旧Windows XP~7迄のデスクトップアプリで考えております。 ですが、考え方など大変勉強になります。 ガイドラインなんてものがあるなんても思ってもみませんでしたし。 このような存在が解るだけでも大変ありがたいです。

関連するQ&A

  • ソフトウェア設計書の書き方の例を学びたい

    趣味で、C++のプログラムを勉強していて、アプリを作ってみたりしています。 プロの人たちはどういった設計書を書いているのか、その実物かそれに近いものを見てみたいな、と思うようになりました。 自分もそんな手順でアプリを作れるとかっこいいなぁ、と。 (業務用殆どの資料は、外部への公開が厳禁というのが普通でしょうけど。) 今は、部分的な流れ図とかスレッドの機能や連携を少し考えて、トライアンドエラーでいきなりコーディングしています。 試験にいたっては、かなり適当です。 どこか、公開のソフトウェアで、設計書や要求仕様書(要件定義?)も一緒につくっているものがあれば、参考にしたいので教えて欲しいです。★ (ソースフォージなどの公開プロジェクトはどうやって連携してつくっているのでしょう?) もしくは、設計書の学習用のWebサイトがあれば、とても助かります。 かなり漠然としていて、範囲が広すぎると思います。 少し検索してみると、ウォーターフォールモデルというのが多いみたいな雰囲気だったので、これと、 プラス、C++でオブジェクト指向も使ってみているので、それに関連するあたりで学びたいです。 書籍でもOKですが、要求から試験完了まで、ひとつ以上の例題を一連でとりあつかったものでないと漠然としていて学び取れないと思っています。 (あまりきつそうであれば諦めます。仕事ではないので…。)

  • マルチプラットフォームで動き、データ保存を行うことができるGUIアプリを作るには、現在どのような選択肢がありますか?

    いつもお世話になっています。 アウトラインエディタのようなものを作ってみようと思っています。 いろいろ考えたのですが、疑問点が多々あり、アドバイスをいただけたら幸いです。 また、プラットフォームに依存したくないので、VCやDelphiは避けたいです。 アプリ概要 左にディレクトリペインがあり、右にメモやTODOなどを書いて保存できるアウトラインプロセッサ。(既存のWindowsアプリですと、nami2000のようなものを作りたいです) [nami2000のHP] http://www.geocities.jp/my_ultraseven/mozart/_start.htm 案1 ・Webブラウザを画面としたアプリにする ネック ・Windows依存にはしたくないのでVBScriptやJScriptは使わない。JavaScriptで書くことになるかと思いますが、JavaScriptではファイル入出力はセキュリティ上サポートされていないので、別途Webサーバを立て、CGI経由でDBに保存するか、XMLテキストなどに保存する必要がある。Ajaxを使ったとしても、Webサーバが必要。単なるアイデア整理、日記、購入書籍整理、通院記録整理といった目的に使うアプリ程度にWebサーバを立てる必要が生じるのは大げさなのではないか。。いや、大げさだろう・・・。。 案2 ・C/C++を用いてGUIアプリ開発を行う。 ネック(&疑問点) ・C/C++でGUIアプリを作るには、(VC等を除くと)QtとOpenGLがあるようです。 Qtは非商用利用ではGPLなのですが、もしQtを使用してGUIアプリを開発しフリーソフトとして公開することになった場合、当然アプリのソースコードをすべて公開する必要があるのでしょうか?(wikipediaによるとGPLライセンス準拠なら公開するべきとされているようですがはっきりわかりませんでした) OpenGLはxDグラフィックスインターフェイスなので、いわゆるGUIアプリと聞いてイメージするような、メニューバーがあり、ウィンドウ領域があり・・・といったアプリ開発には向いていないのでしょうか? ・案3 Java - Swingを使って開発する。 いちばん現実的な選択肢のような気がします。。 ・案4 Firefoxなどのアドオンのように、コアはC++で記述し、XULを用いてユーザーインターフェイス部分の開発をする。 いろいろと調べたのですが、結局よくわからないままです。。難しい・・・。 その他、言語やライブラリ、フレームワークなどでアイデア・アドバイスがありましたらぜひお教えください。 個人的にはブラウザベースのアプリにしたい気持ちがあるのですが、Webサーバが必要になるのがネックです。ブラウザ画面で入力したデータをWebサーバを必要とせずにそのままローカルに保存・参照できるような機能を持つ言語はないみたいですね。XULならできるようですがよくわかりません。。 C/C++でマルチプラットフォームのGUIアプリ開発環境があればそれが一番いいと思っていますが、見つかりません。(ないなら作ればいい、というのがエンジニア魂なのでしょうが、そこまでのスキルがありません。。) また、フリーソフトとして公開するときにソースコードを公開するのは抵抗があります。 マルチプラットフォームで動き、データ保存を行うことができるGUIアプリを作るには、現在どのような選択肢があるのか、アドバイスいただけたら幸いです。 私自身も整理できていないので、わかりにくくてすみません。。 要はアウトラインプロセッサを作りたいのですが、画面をブラウザにするとWebサーバが必要になってしまい大げさ、C/C++で作るとQtなどが必要になり、ソースコード公開しなければならなくなる?(というよりも、GPLライセンスの下に他人による改変を認めてしまう)のでそれは避けたい。 XULで作る場合、Firefoxなどのアドオン化できるのは魅力だけれど、結局はjarファイルなのでソースコードそのままだしてるのと同じ、その前に概念が難しいのでよくわからない。。 JavaはGUI開発はまだまだ発展途上とのことなのでJavaにするのもどうなのか。。 混乱してます。。。

  • 機械設計について

    各メーカ様でWEB上で公開されています選定ソフトですが、実際どのくらい信用出来ますでしょうか? 例えばオリエンタルモータ様のモータ選定ツール、SMC様の選定ツールはほぼ信用しても良いと考えています。 THK様のLMガイドは実際のレールのボルトサイズ等を見るとちょっと不安になります。あまり設計経験がなく聴く人もいませんので不安が募ります。 設計を経験なしに行うのはかなり不安です。 周りに参考になる図面等がなく設計を行う上で何か参考になる参考書や機構集等ありましたら教えて下さい。 ある人に聴くと「感覚」と言われます。どのような感覚なのでしょうか?

  • C++でGUIアプリケーションを作成するには?

    C++でGUIアプリケーションを開発しようとしていますが、どのように作成すればよいのかわからなかったため、質問させて頂きました。 アプリケーションのイメージとしては、ボタン・背景などはすべてこちらの用意した画像で表示し、Windowsっぽいテイストは一切出さないアプリケーションです。ボタンを押すと画面全体が切り替わるイメージです(例えばプリクラみたいな) 現在JavaのSwingでアプリを作成しており、全体が切り替わる機能としてはJPanelのCardLayoutを使用しています。 ボタンはJButton等で完全に画像onlyのアプリを実現しています。 ただ、JavaはWEBカメラからの画像取得が640*480が限界であり、カメラの限界性能(1600*1200等)が使用できるopencv(c++)で画像キャプチャのところだけ作成しました。 このままアプリ全体はJavaで作成し、画像キャプチャ時はc++のexeを裏で実行させるという方法もあるのですが、言語を統一したほうがいいのではないか?と思ったので現在c++でGUIアプリの作成方法を調べています。 参考になるページもご紹介いただけるとありがたいです。

  • メソッドの公開レベルとか設計とか

    こんにちは、さっそくですが質問です。 現在、VBでWindowsアプリを作成しています。 VBアプリの経験が0に等しいため、いろいろと調べながら作業を しています。ちなみに、Javaは経験があります。 ※意味不明な箇所があったらごめんなさい。 ボタンをクリックすると、Textの入力データを取得して、加工する 処理をつくりました。 複雑な処理になったので(1部重複)、Form クラス内にPrivateメソッドを作成して処理を任せるようにしました。 進めていると、Fromが大きくなってきまして、"このままではまずい..処理を行うソースを1つのクラスでまとめて管理しよう"と思い、ユーティリティクラス(?)を作成しました。 そのクラスでの、メソッドの公開レベル(修飾子)でつまってしまいました。 基本的にこのクラスのメソッドは上記のFormもしくは、関連したFormで しか使用しないためPublicではなく特定の範囲内のみで公開するべきと かんがえました。 いろいろと調べてみたのですが、この考えを実現する方法がわかりません。 (Javaでいうところの同一パッケージ内の公開みたいな感じです) Friendというものがありましたが、ちょっと違う気がします。 (よくわかっていませんが..) このような場合どういった方法をとればいいのでしょうか? もしくは、そもそも私の考えがまちがいなのでしょうか? (Formはでかくなってもしかたがないとか..別のやり方があるなど..) VB設計での暗黙値的設計も今の段階で、分かっておりません。 そのあたりも含め、ご存知の方がおりましたら、よろしくお願いします。

  • subversionサーバ用のGUIツールは?

    Linuxサーバにsubversionをセットアップし、業務系のファイルを 管理しています。 クライアントはWindowsなので、tortoisesvnのGUIで通常業務 はこなしています。 複数リポジトリをサーバに作成して使用しているのですが、 リポジトリを作成するのがコマンドラインのため、面倒を感じて います。 サーバ上にリポジトリを作成するためのGUIツール(Webアプリ でもかまいません)はないのでしょうか? たとえば、クライアントPCからブラウザでサーバへアクセスし、 簡単にリポジトリを作成できると一番良いのですが。 サーバがWindowsならtortoisesvnを使ってメニューからリポジトリ を作成できるようなのですが… 詳しい環境情報は今持ち合わせていないので、曖昧な質問に なっているかと思いますが、何か御存じの情報があれば教えて ください。 よろしくお願いします。

  • 設計屋の方々へ

    こんにちは。 メーカーで設計をやられている方々に質問なんですが、なぜその業界の"設計"という職に就こうと思われたのでしょうか?私は某自動車業界に来年就職する事が決まっており、設計・解析の職を希望しております。何故その職希望か?かと聞かれても今更ながら、単純に「自動車が好きだから」とか「卒研で近い事をしているから」程度の事しか思い浮かびません。そこで皆さんの意見を聞いて自分の中で少しでもピーン!とくるものがあるかもしれないと思い質問させていただきました。 現在・過去に設計の経験がある方、また私と同様に来年設計屋を希望されている方の意見をお待ちしています。 現在(過去)にどのような設計をやられているのか、少しだけ添えていただけると嬉しいです。

  • VB,NETでのGUIプログラムのテスト

    こんばんは。 VB.NETを今日始めて触りました。 Java経験あり、VC++6.0を少し触ったことがあります。 FormでのGUIの作成に単体テストを行いたいのですが、単体テストのツールとしてNUnitを知りました。 単体テストツールをあまり触ったことがなく、GUIの単体テストとしてどのように利用することができるのか、ご教授いただきたいとおもい、質問しました。 JavaのときはJUnitというツールを少しだけ触ったのですが、サーバーサイドプログラムの単体テストに利用したまでで、今回のようなGUIの単体テストと言っても想像できません。。 単体テストのレベルとしては、テキストフィールドのサイズがいくつだとか、 コンポーネントの利用可・不可(enable)になるのでしょうか? また、どのように利用するかの手順などを教えてください。

  • Windows環境下でのGUI作成法

    とある大学生の者です. 現在,FPGAとPCの制御通信をおこなうGUIで作りたいと考えております. しかし,GUIはいままで先輩に少ししか習ったことがなく,ほとんど分かりません. なので,この場をお借りして質問させていただきました. Windows環境下で実行でき,Visual Studio2008 or 2010で作成できるGUI作成法でオススメは何でしょうか? 考慮すべき点としては ・FPGAとの通信にはメーカーのライブラリをインクルードしており,先代のGUIを見る限りVisualC++ によるMFC ・ライブラリは新しいものでないので,C#で動かないかもしれない ・私のプログラム経験はVisual Studio 2008下でC,C++をつかってロボットを動かすレベル などです. 個人的には,C#のFormによるGUIの作成経験があり簡単そうだった記憶があるので,そうしようかと思ってるのですが,ライブラリが対応していない可能性があり,ちょっと… DLL化してもいいのですが,デバックに時間がかかるので避けたい あと,別件になりますがOpenCVによる画像処理環境もGUI化したいという構想があり,C++のほうがよいのかと思ってます. ぐだぐだと長くなってしまい申し訳ないです. ご回答,よろしくお願い致します.

  • 回路設計者について

    地方国立大学の工学部に所属している、2回生の学生です。 現在、将来の進路について考える中で、回路設計者とプログラマに興味を持っています。 以前、同じ質問を別のカテゴリーでしたのですが、回答が得られなかったのでこのカテゴリーで質問させてもらいます。 1. 回路設計者になるために勉強しておくこと  回路設計者になるために、今のうちから勉強しておくべきことを教えてください。 一応、個人的にPICマイコンを使った回路は設計できますが、設計といってもすでにネットや本に書いてあるような回路から、必要な機能をパズルのように組み合わせることしかできません。 ラプラス変換などの計算をして一から自分で設計することができないのですが、どういう手順で学んでいけば、そういう設計ができるようになるのでしょうか。 2. 基本情報処理技術者の資格  現在、プログラマを目指すか、回路設計者を目指すかで悩んでいます。 そのため、プログラマの道に進んでもいいように、3回生のうちに基本情報処理技術者の資格を取っておこうと考えています。 ただ、もし回路設計者になりたいと思ったとき、この資格は邪魔にならないでしょうか。(この資格を持っていることで、希望が回路でもプログラム担当に回されないか) 3. 回路設計技術者のやりがいについて  この職業をやっていて楽しいこと、面白いこと、やってて良かったなと思うことなどがあれば、ぜひ教えてください。 4. プログラマのやりがいについて  3の質問と同じですが、この職業をやっていて楽しいこと、面白いこと、やってて良かったなと思うことなどがあれば、ぜひ教えてください。 以上、長々と申し訳ありません。 どれか、わかるものだけでも教えていただければ嬉しいです。

専門家に質問してみよう