Smalltalk
1970年代にPARCにおいてAlan Kayらの研究グループにより開発されたプログラミング言語とその処理系、それらを内包したGUI付きの仮想OS全体を指す 言語としては、プログラムの“ビルディングブロック”として、従来のデータ構造やプロシージャ、関数をいっさい使わず(必要ならシミュレートする)、「オブジェクト」とそれへの「メッセージ」のみで記述するというAlan Kay発案の「オブジェクト指向」というアイデア(その後、この用語は「乗っ取られた」ため、現在の意味とは異なる)をベースにしている 処理系やIDEのみならず、GUI付きのOSの機能の一部も含め、そのほぼすべてがセルフホスト&ソース同梱されている(ユーザーがコードを読んで理解し自由に、しかも多くの場合ランタイムに改変、その結果が気に入れば永続化も可能である)点でもプログラミング言語やその処理系はもとよりソフトウエアとしてもかなり風変わりな部類に属する Alan Kay自身が仕様を定めたSmalltalk-72(主な実装者はDan Ingalls。以降も同じ)、Dan Ingallsにより最適化(省コスト化)され、ほぼ別言語として更新されたSmalltalk-76、Adele Goldbergにより言語仕様やライブラリAPI等が整理・拡充されたSmalltalk-80とそれ以降(直系のVisualWorks/Cincom Smalltalkを含め、そのほとんどは第三者によるクローンや独自拡張、サブセットだが、中にはオリジナルメンバーが関わり仮想マシンまでのセルフホストを達成したSqueak/Smalltalk-96も)に大別される Smalltalk(多くがSmalltalk-76で整備された)が発端の、その後のPC等で主流となったり汎用されたUIの例
ドットパターンの作成・編集・運用(主に塗り潰し、デスクトップパターンの素材として) マルチフォント、マルチスタイル、マルチサイズのテキストの混在。ユーザーレベルのグリフの作成・編集・運用
Smalltalk-72のタートルグラフィック機能で枠のみが描かれたごく初期のウインドウ
https://gyazo.com/eedcea40c9452d3a0f338e79c9a11836
Smalltalk-74(BitBLTを前提とした高速描画版Smalltalk-72)で整備されたウインドウシステム
https://gyazo.com/41768316ae4bb2e0936b67d87a228518
https://gyazo.com/df9ac3c192ef8ba473ce226404c250ae
https://www.youtube.com/watch?v=-IDS8HL5wQg&t=7s
https://www.youtube.com/watch?v=fjtDKnboEM0
Smalltalk-80(Adele Goldbergが商用化を目指し整理したため、特にBill AtkinsonのMacPaintに影響を与えたSmalltalk-76の描画システム「BitRecctEditor」が「FormEditor」というかなりシンプル機能のツールに置き換えられているなどの観点で、GUI史の資料とする際には注意を要する。後のSqueakを除き、Alan Kayはノータッチ。) https://gyazo.com/deace1b166e2a062f4ae9dde2d3e8593
https://www.youtube.com/watch?v=M_TXM0Jsglk
コピー&ペーストなと違い、後のPC等に継承されることはなかったが、便利なUIとしてモードレス/インプレイスの次該当ワード検索もしくは連続置換としての「again」がある
Smalltalk-76 の時点では、実装としては単なる置換操作の繰り返しに過ぎなかった(ただし、ペーストにより置き換えられた文字列であれば、フォントやサイズ、スタイルの変更についても繰り返し置換に反映される)。文字列を選択して打ち直し(もしくはペーストして置き換え)た後、第二ボタンクリック(今でいう右クリック)メニューから again を選ぶと同じ置換が行われた。打ち直す文字を同じにすれば次候補の検索になる。again を選択する際に shift キーを押下しておくと以降が全て同様に置換される(検索の場合は意味が無いが、あえて言えば最後出該当ワードの検索となる)
Apple Smalltalk-80(AppleがXEROXからライセンスを受けてLisaおよびMacintosh向けに開発したSmalltalk-80。PARCから移籍したオリジナルメンバーが関わっている)で機能強化が図られ、キャレット移動直後であれば、どこでタイプしてもそれを検索ワードとしたモードレスな検索が可能となった(タイプした文字は again 選択後、直ちに削除される) https://www.youtube.com/watch?v=-jKdn_9dKeQ