目次

  1. ユーザインタフェース作成環境
  2. Twitter
  3. 情報ショートカット
  4. レポート課題
  5. システム中のユーザインタフェースの比率
  6. インタフェース作成の面倒さ
  7. インタフェース作成の面倒さ (cont'd)
  8. リアルタイム性
  9. 様々な要素技術
  10. アプリケーション部とインタフェース部の交錯
  11. AppとI/Fの分離
  12. 分離の困難さ
  13. 並列処理
  14. 並列処理 (cont'd)
  15. 例外処理
  16. エラー処理記述の面倒さ
  17. 柔軟性/頑強性
  18. ユーザ補助機能
  19. 評価/再設計の繰り返し
  20. 解決法1: UIMS
  21. UIMS = User Interface Management System
  22. Seeheimモデル
  23. UIMSの問題点
  24. 解決法2: UI記述言語
  25. Languages for Developing User Interfaces
  26. UI記述言語の問題点
  27. 解決法3: ツールキット
  28. 各種のグラフィックツールキット
  29. オブジェクト指向ツールキット
  30. 例: NeXTstepのプログラム
  31. UIツールキットの問題点
  32. UIツールキットの問題点 (cont'd)
  33. 解決策4: 状態遷移プログラミング
  34. 状態遷移機械の問題点
  35. 拡張状態遷移機械単純な状態遷移機械を拡張したモデル
  36. 状態遷移プログラミング
  37. 状態遷移プログラミング例
  38. 変換後のソース
  39. 解決策5: 並列プログラミング
  40. 並列処理はUIプログラミングに非常に重要
  41. ツールキットの並列動作
  42. 並列プログラミングの問題点
  43. 解決法6: インターフェースビルダ
  44. インターフェースビルダ
  45. NeXTのインタフェースビルダ
  46. Xcodeのインタフェースビルダ
  47. インターフェースビルダの問題点
  48. 解決法7: 制約プログラミング
  49. 参考: Cinderella
  50. Ivan SutherlandのSketchpad
  51. 制約システムの問題点
  52. 解決法8: 例示プログラミング
  53. Viscuit
  54. 例示システムの問題点
  55. どうするのがよいか?
  56. 工夫のいろいろ
  57. From scratch, 小規模システムの場合
  58. From scratch, 大規模システムの場合
  59. ウィンドウシステムの場合
  60. プロトタイプシステムをとりあえず動かす場合
  61. プロトタイプシステムを作る
  62. 結局何を使うといいの?
  63. Abstract01
  64. Processing
  65. Processing視覚化本
  66. Built with Processing
  67. Processingの入手
  68. 線を描く
  69. 四角を描く
  70. 円を描く
  71. 色の指定
  72. 文字を描く
  73. 繰り返しなど
  74. setup()とdraw()
  75. マウス位置取得
  76. マウス操作取得
  77. 関数/変数リファレンス
  78. Webで公開
  79. Canvas
  80. Canvasの特徴
  81. Canvasの描画
  82. line.html
  83. rect.html
  84. circle.html
  85. bezier.html
  86. Processing.js
  87. Processing.jsの利用
  88. Prrocessing.js利用例
  89. まとめ
  90. End