著者
Brad A. Myers
タイトル
User-Interface Tools: Introduction and Survey
ページ
15-23
日時
January 1989
概要
ユーザインタフェース用各種ツールのサーベイ..... ●ユーザインタフェースツールの利点 ○良いインタフェースを作りやすい ・ラピッドプロトライピング可能なので良いインタフェースが設計できる ・変更をやりやすい ・ひとつのアプリケーションで複数のインタフェースを持てる ・インタフェースを何度も使えるので力を入れて開発できる ・異なるアプリケーションで共通なインタフェースを作れる ・新しいインタフェースを開発しやすい ・インタフェースの専門家を養成しやすい ○保守しやすい ・インタフェースコードは分離して構造化されているので保守しやすい ・コードの共有が容易である ・高レベルの記述によりインタフェースが作られるので信頼性が高い ・インタフェースの表現、検証、評価が容易である ・装置依存の部分が分離されているので移植しやすい ●ツールの分類 ○ユーザインタフェースツール L_____○ToolKit | ライブラリとしてアプリケーションに付属させるもの | 完全にアプリケーションと同時に開発する。 | dialog(操作のシーケンス)などはサポートしない。 | 手続きの集合であり、最近はオブジェクト指向言語が使われる | ことが多い。 | <欠点> | インタフェースが用意されているものに制限される | 関数が山のようにあるのでどれを使うのかわからない L_____○UIDS(User Interface Design System) | UIMSと従来呼んでいたもので、アプリケーションとなるべく独立に | dialogを記述する。 | 以下のような様々の処理をサポートする。 | ・ユーザ入力処理 | ・エラー処理 | ・UNDO処理 | ・入力のフィードバック処理 | ・ヘルプやプロンプト処理 | ・表示更新処理 | ・ユーザによるデータ変更のアプリケーションへの通知 | ・アプリケーションと表示処理の分離 | ・インタフェースの評価 | ・インタフェースのカスタマイズ | UIDSには例えば以下のものが含まれる。 | ・ツールキット | ・dialog制御 | ・インタフェースとアプリケーションの橋渡しをする枠組み | ・表示配置制御 | ・評価機構 | L__○言語ベースのもの | L__○メニューネットワークによるもの | | <例> Tiger, Hypercard | L__○状態遷移ネットワークによるもの | | <例> Jacob's State-Diagram Interpreter, Rapid/USE | | <欠点> | | 大域変数の嵐になる | | モードが生じるためモードレスインタフェースに向かない | | 複数入力に向かない | | 遷移が複雑になると扱いきれない | L__○文脈自由文法によるもの | | パーザの記述のようにインタフェースを記述する。 | | <例> Syngraph | L__○イベント言語によるもの | | 入力がイベントとして直接ハンドラに渡される | | <例> Algae, Sassafras, Squeak | | <欠点> | | コードが局所化されないのでバグを生じやすい | | コードを理解することが困難 | L__○宣言型言語によるもの | | 何がおこるかを記述する。 | | フォームで使うものが多い | | <例> Cousin, Domain/Dialogue | L__○オブジェクト指向言語によるもの | インヘリタンスを使用し、デフォルトの動作を上のレベルで | 記述しておく。 | 直接操作のインタフェースを作りやすい。 | <例> MacApp, GWUIMS, Higgins | <欠点> | ノンプログラマにはプログラミングが難しい L__○表示ベースのもの | 画面上に部品を配置してインタフェースを指定する。 | 素人でもインタフェースを作ることができる。 | <欠点> | UIDSそのものが複雑で作りにくい | 制限されたインタフェースを持つものしか作れない | ヘルプ、アボート、プロンプトなどはアプリケーションが | 用意しなければならない | <例> Cardell's Dialog Editor, Menulay, Trillium, Hypercard, | Grins, Peridot L__○自動生成を行なうもの アプリケーション上の意味記述から直接インタフェースを作ろうと いうもの。 <例> Control-Panel Interface, Mike, IDL ●ユーザインタフェースツールの欠点 ○使うのが難しい(新しい言語を覚えるのはいやだという人が多い) ○インタフェースの指定がやっかいな原始的言語が多い ○サポートする機能が貧弱 ○移植性が無い、または良くない ○評価機能が無い ○それ自身作成が困難 ○設計者は制御をツールにまかせるのをいやがる(!) ○ツールを使うと遅くなる ○インタフェースとアプリケーションを分離するのは難しい
感想
自分の作ったやつ(Peridot)をやたらとほめている以外は 良いサーベイだと思う。 最近はXtoolkitやInterViewsなどツールキットの方が 有力なので困ったものである。
カテゴリ
UI
Category: UI
Journal: IEEE Software
Number: 1
Bibtype: article
Author: Brad A. Myers
Pages: 15-23
Title: User-Interface Tools: Introduction and Survey
Comment1: ユーザインタフェース用各種ツールのサーベイ.....
        ●ユーザインタフェースツールの利点
        ○良いインタフェースを作りやすい
        ・ラピッドプロトライピング可能なので良いインタフェースが設計できる
        ・変更をやりやすい
        ・ひとつのアプリケーションで複数のインタフェースを持てる
        ・インタフェースを何度も使えるので力を入れて開発できる
        ・異なるアプリケーションで共通なインタフェースを作れる
        ・新しいインタフェースを開発しやすい
        ・インタフェースの専門家を養成しやすい
        ○保守しやすい
        ・インタフェースコードは分離して構造化されているので保守しやすい
        ・コードの共有が容易である
        ・高レベルの記述によりインタフェースが作られるので信頼性が高い
        ・インタフェースの表現、検証、評価が容易である
        ・装置依存の部分が分離されているので移植しやすい
        ●ツールの分類
        ○ユーザインタフェースツール
        L_____○ToolKit
        |           ライブラリとしてアプリケーションに付属させるもの
        |           完全にアプリケーションと同時に開発する。
        |           dialog(操作のシーケンス)などはサポートしない。
        |           手続きの集合であり、最近はオブジェクト指向言語が使われる
        |           ことが多い。
        |           <欠点>
        |              インタフェースが用意されているものに制限される
        |              関数が山のようにあるのでどれを使うのかわからない
        L_____○UIDS(User Interface Design System)
        |    UIMSと従来呼んでいたもので、アプリケーションとなるべく独立に
        |    dialogを記述する。
        |    以下のような様々の処理をサポートする。
        |      ・ユーザ入力処理
        |      ・エラー処理
        |      ・UNDO処理
        |      ・入力のフィードバック処理
        |      ・ヘルプやプロンプト処理
        |      ・表示更新処理
        |      ・ユーザによるデータ変更のアプリケーションへの通知
        |      ・アプリケーションと表示処理の分離
        |      ・インタフェースの評価
        |      ・インタフェースのカスタマイズ
        |    UIDSには例えば以下のものが含まれる。
        |      ・ツールキット
        |      ・dialog制御
        |      ・インタフェースとアプリケーションの橋渡しをする枠組み
        |      ・表示配置制御
        |      ・評価機構
        |    
        L__○言語ベースのもの
        |   L__○メニューネットワークによるもの
        |   |      <例> Tiger, Hypercard
        |   L__○状態遷移ネットワークによるもの
        |   |      <例> Jacob's State-Diagram Interpreter, Rapid/USE
        |   |      <欠点>
        |   |         大域変数の嵐になる
        |   |         モードが生じるためモードレスインタフェースに向かない
        |   |         複数入力に向かない
        |   |         遷移が複雑になると扱いきれない
        |   L__○文脈自由文法によるもの
        |   |      パーザの記述のようにインタフェースを記述する。
        |   |      <例> Syngraph
        |   L__○イベント言語によるもの
        |   |      入力がイベントとして直接ハンドラに渡される
        |   |      <例> Algae, Sassafras, Squeak
        |   |      <欠点>
        |   |         コードが局所化されないのでバグを生じやすい
        |   |         コードを理解することが困難
        |   L__○宣言型言語によるもの
        |   |      何がおこるかを記述する。
        |   |      フォームで使うものが多い
        |   |      <例> Cousin, Domain/Dialogue
        |   L__○オブジェクト指向言語によるもの
        |          インヘリタンスを使用し、デフォルトの動作を上のレベルで
        |          記述しておく。
        |          直接操作のインタフェースを作りやすい。
        |          <例> MacApp, GWUIMS, Higgins
        |          <欠点>
        |             ノンプログラマにはプログラミングが難しい
        L__○表示ベースのもの
        |    画面上に部品を配置してインタフェースを指定する。
        |    素人でもインタフェースを作ることができる。
        |    <欠点>
        |       UIDSそのものが複雑で作りにくい
        |       制限されたインタフェースを持つものしか作れない
        |       ヘルプ、アボート、プロンプトなどはアプリケーションが
        |         用意しなければならない
        |    <例> Cardell's Dialog Editor, Menulay, Trillium, Hypercard,
        |         Grins, Peridot
        L__○自動生成を行なうもの
        アプリケーション上の意味記述から直接インタフェースを作ろうと
        いうもの。
        <例> Control-Panel Interface, Mike, IDL
        ●ユーザインタフェースツールの欠点
        ○使うのが難しい(新しい言語を覚えるのはいやだという人が多い)
        ○インタフェースの指定がやっかいな原始的言語が多い
        ○サポートする機能が貧弱
        ○移植性が無い、または良くない
        ○評価機能が無い
        ○それ自身作成が困難
        ○設計者は制御をツールにまかせるのをいやがる(!)
        ○ツールを使うと遅くなる
        ○インタフェースとアプリケーションを分離するのは難しい
Year: January 1989
Volume: 6
Comment2: 自分の作ったやつ(Peridot)をやたらとほめている以外は
        良いサーベイだと思う。
        最近はXtoolkitやInterViewsなどツールキットの方が
        有力なので困ったものである。
Keyword: user interface, UIDS, toolkit