Vor 30 Jahren: Bill Gatesâ Joker Windows 3.1
Mehr Fonts, Drag&Drop, schneller und stabiler dank besserer Speicherverwaltung fĂŒr 286er mit 1 MByte RAM. So begeisterte Windows 3.1 die Redaktion im Jahr 1992.
- Ingo T. Storm
Vor 30 Jahren: Dieser Beitrag stammt aus c't 6/1992
Vor gerade mal zwei Jahren (Anmerkung: gemeint ist hier 1990) bejubelte die DOS-Gemeinde das neue Microsoft Windows 3.0. Schon ein paar Monate spĂ€ter kam der Millionenseller dafĂŒr um so stĂ€rker ins Gerede. Zu langsam, zu gierig, zu absturztrĂ€chtig sei die schönste OberflĂ€che, die DOS-PCs je zu sehen bekommen hatten. Windows 3.1 tritt an, den Jubel wieder ertönen, die Kritiker jedoch verstummen zu lassen. Unhöflich formuliert ist Windows 3.1 das, was 3.0 hĂ€tte sein sollen - schlanker, schneller, hĂŒbscher, stabiler und homogener.
Der Geschwindigkeitszuwachs alleine lohnt schon das Update (in Deutschland fĂŒr 150 DM zu haben). Die drastische Optimierung der Systembibliotheken GDI und User, die fĂŒr die OberflĂ€che zustĂ€ndig sind, bringt einen massiven Tempogewinn mit sich. Bei vielen Anwendern wird das Geld fĂŒr hardwarebeschleunigte Grafikkarten in Zukunft weniger locker sitzen. AuĂerdem verwalten beide Grafikmodule ihren Speicher jetzt viel ökonomischer. Damit dĂŒrfte der hĂ€ufigste Grund fĂŒr eine Fehlermeldung ânicht genĂŒgend Speicherâ vom Desktop sein.
Dazu kommt die deutlich verbesserte StabilitĂ€t. Böse Zungen behaupten, es gĂ€be keine UAEs (âunabwendbare Fehler in einer Anwendungâ) mehr, sie hieĂen jetzt GPFs (General Protection Fault = allgemeiner Schutzfehler). Tatsache ist, daĂ Fehler, die âunsaubereâ Programme unter Windows 3.0 verursachten, auch jetzt noch auftreten. Windows 3.1 mildert jedoch deren Folgen, indem es zum Beispiel Adressierungsfehler frĂŒher feststellt und die illegalen Zugriffe (oft) nicht zulĂ€Ăt. Verheerende Auswirkungen eines Programmes auf ein anderes treten dadurch sehr viel seltener auf. Sollte doch noch etwas schiefgehen, gibt es aber noch einen Ausweg: DrĂŒckt man Ctrl-Alt-Del, bootet nicht gleich der ganze Rechner, sondern Windows versucht zunĂ€chst, nur die wildgewordene Task zu beenden.
RealitÀtsverlust
Einige der Tempo- und Sicherheitsvorteile hĂ€ngen mit dem Abschied vom Real-Modus zusammen, der eine andere Taktik der Speicherverwaltung als die beiden höheren Modi erforderte. Nötig war der Real-Modus, um das alte Windows auch auf XTs laufen zu lassen (oder ATs mit zu wenig Speicher). Von nun an muĂ es schon mindestens ein 286er mit 1 Megabyte RAM sein. Mit dem ist dafĂŒr ertrĂ€gliches Arbeiten schon möglich - an der Empfehlung, daĂ es trotzdem ein 386er sein sollte, hat sich aber nichts geĂ€ndert.
Bevor man zu dieser erfreulichen Erkenntnis kommen kann, muĂ man Windows erst einmal installieren können - und das war mit der alten Version schon eine harte Geduldsprobe. Schon hier setzt sich âder Neueâ wohltuend von seinem lieb gemeinten, aber zum Teil lieblos implementierten VorgĂ€nger ab. So muĂ man zum Beispiel fĂŒr eine Standardkonfiguration jede Installationsdiskette nur einmal einlegen. Man hat jetzt auch die Wahl, den Umfang der Installation zu bestimmen: die Hintergrund-Bitmaps, die sehr viel umfangreicheren Hilfetexte, die mitgelieferten Utilities (Programmgruppe âZubehörâ) und andere Komponenten lassen sich per Mausklick installieren und auch wieder entfernen. Ein Update zerlegt die vorhandene 3.0-Konfiguration nicht völlig, er lĂ€Ăt âlebenswichtigeâ Einstellungen wie Programmgruppen, Hintergrundbild und Desktop-Farben unbeschadet. Lediglich alte Drucker- und Bildschirmtreiber muĂ beziehungsweise sollte man erneuern.
Auch die Aufnahme auf der Festplatte vorhandener Applikationen in Programmgruppen geht jetzt ökonomischer und ĂŒbersichtlicher vonstatten. Man kann nicht nur gezielt nach einem bestimmten Programm suchen lassen, sondern Windows âerkenntâ von sich aus viel mehr Programme als vorher. Kann es eine Datei trotzdem nicht eindeutig identifizieren, gibt es dem Benutzer in spe die Möglichkeit, zwischen verschiedenen Kandidaten zu wĂ€hlen oder den Eintrag ganz fallenzulassen.
Soviel schöner das Arbeiten mit der neuen Windows-Version auch ist, der âproduktiven Basisâ wird der Umstieg noch ein wenig Geduld abverlangen. Zu groĂ ist die Anzahl der auf Windows 3.0 abgestellten Komponenten einer arbeitsfĂ€higen Konfiguration, als daĂ der Ăbergang immer reibungslos vonstatten ginge.
Die schmerzlichsten Kompromisse verlangen die Bildschirmtreiber. Zwar haben sich einige Grafikkartenhersteller gesputet: zum Beispiel fĂŒr Super-VGAs mit ET4000- oder S3-Chipsatz sind neue Treiber fertig. Von ATI und Trident beispielsweise gibt es aber zur Zeit nur Beta-Versionen und die zu Windows mitgelieferten TIGA-Treiber unterstĂŒtzen die Beschleunigerhardware immer noch eher mĂ€Ăig. Zwar laufen die meisten alten Treiber auch unter Windows 3.1 â dann gehen allerdings einige Extras und ein GroĂteil der Geschwindigkeit der neuen OberflĂ€che verloren. An wĂ€hlbare Fonts fĂŒr DOS-Fenster und einen optimierten Grafikkern hat vor zwei Jahren eben noch keiner gedacht. Ăhnlich steht es mit den Druckertreibern. Die Liste der von 3.1 unterstĂŒtzten Drucker ist recht lang. Wer seinen darin jedoch nicht findet, muĂ wahrscheinlich auf TrueType-Fonts verzichten. Lediglich PostScript-Drucker kann man von Hand anpassen.
Auf ein neues!
Bei der Anwendungssoftware stellt sich die Situation Ă€hnlich dar wie beim Ăbergang von Windows 2.x nach 3.0. Innerhalb Windows werden viele Daten zwischen Programmteilen hin und her geschoben. Der EmpfĂ€nger prĂŒft selten (und kann es oft gar nicht), ob die ankommenden Daten tatsĂ€chlich gĂŒltig sind. Ist ein Parameter eines Funktionsaufrufes es nicht, tritt jedoch nicht unbedingt sofort ein Systemfehler (UAE) auf, da sich beispielsweise ein ungĂŒltiger Speicherzugriff oft erst spĂ€ter fatal auswirkt.
Windows 3.1 geht mit ânicht ganz astreinenâ Programmen sehr kulant um. Es ĂŒberprĂŒft von sich aus mehr Parameter als vorher, versucht aber immer, auch âwildgewordeneâ 3.0-Applikationen am Leben zu erhalten. Als zusĂ€tzliche âDebugging-Hilfeâ fĂŒhrt es im erweiterten Modus fĂŒr 386er und 486er beim Systemstart Protokoll Erfolg und MiĂerfolg beim Laden der erforderlichen Treiber. So lĂ€Ăt sich bei Startschwierigkeiten leichter der Schuldige ermitteln, fĂŒr den dann doch ein Update fĂ€llig ist.
Dummerweise kann man sich nicht einfach dadurch aus der AffÀre ziehen, daà man mit beiden Windows-Versionen parallel arbeitet. Vor jedem Wechsel sollte man neu booten oder wenigstens den Such-Pfad umsetzen - sonst greift Windows 3.1 unter UmstÀnden auf Systemteile von 3.0 zu oder umgekehrt. Besonders lÀstig sind im Parallelbetrieb gegenseitige InkompatibilitÀten wie bei beispielsweise den Novell-NetWare-Shells: Windows 3.1 mag die von 3.0 nicht, und 3.0 lÀuft nicht mit der aktuellen ...
Es ist also zu erwarten, daĂ das erst einmal preiswerte Update von 3.0 nach 3.1 vor allem fĂŒr viele professionelle Anwender neben einer Menge âFine-Tuningâ noch weiter Update-Kosten nach sich ziehen wird.
Farbenrausch
Ist die Installation (auf einem 386DX/33 MHz, ST 1144A in knapp fĂŒnf Minuten) abgeschlossen, fĂ€llt zunĂ€chst einmal auf, daĂ der Desktop den Benutzer jetzt viel bunter anstrahlt. Nicht nur die Icons der mitgelieferten Programme gehen vom Einheits-Blaugrau weg. In der Systemsteuerung, Unterpunkt Farbeinstellung, stehen mehr vordefinierte Farbschemata zur VerfĂŒgung, und mehr Elemente des Desktops lassen sich individuell einfĂ€rben. An der internen Farbverwaltung von Windows hat sich leider nichts geĂ€ndert. Es reserviert sich weiterhin nur einige der zur VerfĂŒgung stehenden PaletteneintrĂ€ge der Grafikkarte, so daĂ auch im 256-Farben-Modus fĂŒr das Desktop neben den Grundfarben nur âgeditherteâ PĂŒnktchenraster zur VerfĂŒgung stehen.
Insgesamt offenbart die Systemsteuerung eine deutlich erweiterte Konfigurierbarkeit des Gesamtsystems. Zuerst einmal fallen zwei neue Symbole âTreiberâ und âKlangâ auf: sie kennzeichnen die aus dem Multimedia-Windows aufgenommenen Sound-Erweiterungen - denen der PC-Lautsprecher als AusgabegerĂ€t aber standardmĂ€Ăig nicht genĂŒgt â, weswegen ich hier auch nicht weiter darauf und die dazugehörigen Programme im âZubehörâ eingehe [2, 3].
Mehr Fonts
Die nĂ€chste auffĂ€llige Ănderung steckt in der Schriftenverwaltung. Eine Handvoll neuer Fonts ist dazugekommen. Die sind jedoch weniger ein entscheidender Teil des erweiterten Lieferumfangs, als daĂ sie vielmehr auf eine technologische Neuerung aufmerksam machen. Es handelt sich hierbei nĂ€mlich um TrueType-Fonts: Frei skalierbare Schriftarten bis zu 127 Punkt SchriftgröĂe sorgen fĂŒr gröĂere gestalterische Freiheit auf breiter Front.
Endlich braucht man nicht mehr jeden Pixelfont in zig verschiedenen GröĂen fĂŒr x verschiedene Grafikkarten und y verschiedene Drucker. TrueType bringt WYSIWYG in greifbare NĂ€he. Dieselbe Schrift sieht (im Rahmen der technischen Möglichkeiten) in allen Auflösungen und auf allen AusgabegerĂ€ten gleich aus. Der gröĂte Vorteil daran ist jedoch, daĂ TrueType eigentlich ein alter Hut ist: der Apple-Gemeinde sind sie schon lĂ€nger bekannt, und so gibt es in der PD und auf dem Shareware-Markt schon eine Flut fĂŒr Windows aufbereiteter Schriften. Die Haken an der Sache: Die aktuelle AusprĂ€gung eines Fonts muĂ Windows immer erst berechnen - und das kostet Zeit. AuĂerdem gibt es einige Ă€ltere Windows-Programme, die mit den neuen Fonts noch nicht so ganz klarkommen, das heiĂt - sie meistens falsch skalieren.
GeheimniskrÀmer
Ebenfalls erweitert wurde die Palette der Desktop-Einstellungen. Auf Wunsch werden Icon-Titel umbrochen, deren Schriftart und -gröĂe lĂ€Ăt sich einstellen, und Windows unterstĂŒtzt ĂŒber seine Programmierschnittstelle Bildschirmschoner. Zum Leckermachen sind denn auch einige (ziemlich langweilige) gleich mitgeliefert. In diese Schnittstelle klinkt sich aber auch die neue Version des Fremdproduktes âAfter Darkâ ein. Warum einige der oben erwĂ€hnten Optionen jedoch immer noch nur durch manuelles Bearbeiten der Konfigurationsdatei WIN.INI zu manipulieren sind, bleibt ein RĂ€tsel.
Weniger mit der Optik denn mit der FunktionalitĂ€t einer grafischen OberflĂ€che, die ja nicht nur nett anzusehen, sondern auch produktiv sein soll, beschĂ€ftigen sich andere Erweiterungen, die ĂŒber die Systemsteuerung zu erreichen sind. Der Netzwerk-Support, vor allem fĂŒr Novell NetWare) wurde stark verbessert und die GröĂe und die Art (temporĂ€re oder permamente Swap-Datei) des virtuellen Speichers im erweiterten Modus lassen sich von Windows aus einstellen. (Hier war eine neue Lösung aber auch unabdingbar â das alte Utility Swapfile lief nur im aufgegebenen Real-Modus.) Im Zusammenspiel mit Fastdisk (siehe Know-how-Artikel zu Windows ab Seite 106) und einer permanenten Swap-Datei kommt auch die neue Version des Cache-Programmes Smartdrive richtig zur Geltung. (DaĂ Smartdrive jetzt auch verzögertes Schreiben beherrscht, ist dabei weniger wichtig als die enge Verzahnung mit den ĂŒbrigen festplattenrelevanten Teilen von Windows.)
Dienst am Kunden
Um den Hauptkritikpunkt an der Logik der Windows-OberflĂ€che hat Microsoft sich nur zum Teil gekĂŒmmert. Programm- und Dateimanager sind weiterhin getrennt, und der Programm-Manager kennt immer noch keine hierarchisch organisierten Programmgruppen. Ăber dieses Manko (und einen entscheidenden Grund fĂŒr den vorlĂ€ufigen Erfolg des Norton Desktop fĂŒr Windows) kann auch der Feinschliff an beiden Managern nicht hinwegtĂ€uschen.
Das bekannte Fenster âDatei-Eigenschaftenâ ist nun durch einen Tastendruck erreichbar und um ein, zwei Felder erweitert. Man kann jedem Programm jetzt ein Startverzeichnis mit auf den Weg geben, was eine Menge stĂ€ndig wiederkehrender Sucherei in VerzeichnisbĂ€umen erspart. ZusĂ€tzlich wird jedem Eintrag ein Hotkey zugestanden, ĂŒber den sich das Programm direkt aufrufen lĂ€Ăt, also ohne Ăffnen einer Gruppe und Anklicken des Symbols. Auch die Zuordnung des Icons geht jetzt leichter von der Hand.
Der Dateimanager hat ein deutlich radikaleres Face-Lifting erfahren. Auch er ist deutlich schneller und, weil bunter und detailreicher, âvisuellerâ â in einem AusmaĂ, daĂ ich ihn oft sogar dem Norton Commander vorziehe. Jedes seiner Fenster kann nebeneinander einen Verzeichnisbaum und eine Dateiliste enthalten. AuĂerdem beherrscht er jetzt ein wenig (immer noch zuwenig) Multitasking, beispielsweise beim Formatieren und Kopieren von Disketten.
HintertĂŒr
Die wichtigste Neuerung ist jedoch seine Programmierschnittstelle, die ihn fĂŒr Erweiterungen öffnet. Fremdprogramme (beziehungsweise DLLs, Dynamic Link Librarys) können in sein MenĂŒ eingehĂ€ngt werden und haben dann Zugriff auf die selektierten Dateien. Das erste Demo-Programm dazu kam von Microsoft selbst und war eine dem Macintosh-Vorbild nachempfundene MĂŒlltone. Das zweite kaschiert ein immer noch nicht behobenes Manko - die fehlende File-Viewer-Funktion.
DaĂ DLLs ein entscheidender SchlĂŒssel zur Offenheit des Systems sind, hat Microsoft auch an anderer Stelle ausgenutzt. SĂ€mtliche zu Windows mitgelieferten Programme benutzen (endlich) den gleichen Dialog zum Ăffnen einer Datei. Der dazugehörige Code steckt in der Bibliothek CommDlg.Dll und steht somit auch anderen Windows-Programmierern zur VerfĂŒgung, zumal er in den Entwickler-Tools dokumentiert ist. CommDlg enthĂ€lt noch in paar Dialoge mehr: zum Beispiel einen zur Auswahl eines der installierten Fonts, zum Drucken, zur Wahl einer Farbe.
Ebenso OLE, Drag-and-Drop und andere wichtige Neuerungen an Windows 3.1 sind in eigenen DLLs gekapselt. Das verhindert zum einen ein AufblÀhen der System-DLLs, zum anderen ermöglichte es den Entwicklern, diese Dienste anzubieten und trotzdem zu Windows 3.0 kompatibel zu bleiben: sie durften diese DLLs ihren Produkten beilegen.
Die erste Million ...
Schon vor der ersten Auslieferung sollen laut Microsoft ĂŒber eine Million Bestellungen vorgelegen haben. Ich glaube, die meisten eiligen Kunden werden zufrieden sein. Gegen die Hauptkritikpunkte - mangelnde Geschwindigkeit und StabilitĂ€t - hat Microsoft einiges getan; wahrscheinlich sogar genug, um die riesige Fan-Gemeinde bis zur Marktreife von Windows NT und dessen fĂŒr noch spĂ€ter avisierten kleinen Bruders bei der Stange zu halten. Die tatsĂ€chlich vorhandenen Vorteile von OS/2 2.0 dĂŒrften Jack User deutlich weniger interessieren als das Tuning seines bekannten Lieblings. Selbst wenn das Umsatteln de facto leichtfĂ€llt: wer gibt schon gern zu, daĂ er aufs falsche Pferd gesetzt hat?
Zwei funktionale Erweiterungen sollen Windows 3.1 Bill Gatesâ Vision von âInformation at your Fingertipsâ ein wenig nĂ€herbringen: âDrag-and-Dropâ und âOLEâ. âDrag-and-Dropâ (ziehen und fallen lassen) gibt es in AnsĂ€tzen schon lĂ€nger, es wird jetzt aber ein fester Bestandteil der neuen Programmierschnittstelle. Konnte man unter Windows 3.0 nur Dokumente oder Programme vom Dateimanager in eine Gruppe des Programm-Managers ziehen, um sie dort zu installieren, so darf man sie jetzt getrost woanders fallen lassen.
FĂ€llt ein Dokument beispielsweise auf das Symbol des Druck-managers, sucht der die dafĂŒr zustĂ€ndige Applikation und schickt ihr den Dateinamen und das Druckkommando. Dazu muĂ die gleiche VerknĂŒpfung zwischen Dateierweiterung bestehen, die auch der Dateimanager benötigt, um die richtige Applikation zu aktivieren (zum Beispiel zwischen DOC und WinWord). FĂ€llt ein Dokument auf den Notizblock, Paintbrush oder Write, so wird es von diesem Programm zur Bearbeitung geöffnet, wenn nur das Format stimmt.
OLE oder âObject Linking and Embeddingâ ist eine erweiterte Neuauflage dessen, was DDE (Dynamic Data Exchange) einmal leisten sollte: reibungslose, weitgehend automatische Kommunikation zwischen Applikationen. Diese âObjekteâ haben aber mit den aus der gleichnamigen Programmierung bekannten rein gar nichts zu tun: es handelt sich hier um reine Datenpakete; sie enthalten zusĂ€tzlich nur noch einen Hinweis auf die Applikation, von der sie erzeugt wurden. Von Dokumenten unterscheidet sie lediglich, daĂ Objekte nicht komplette Dateien sein mĂŒssen, sondern auch Ausschnitte davon sein können.
Das Einbetten solcher Objekte (die in der derzeitigen Implementierung dann doch wieder ganze Dokumente sind) ist noch recht einfach zu verstehen (und zu benutzen). Verschiedene Applikationen besitzen die FĂ€higkeit, als Objektserver (Lieferanten) oder Clients (Kunden) zu fungieren. Ein Client ist in der Lage, die von einem Server bereitgestellten Objekte in seine eigenen Dokumente aufzunehmen. Klickt der Benutzer so ein eingebettetes Element an, wird automatisch der dazugehörige Server aufgerufen, mit dem man das Element bearbeiten kann. Ist die VerĂ€nderung abgeschlossen, wird das aktualisierte Ergebnis in den Client aufgenommen. Ein Client kann zum Beispiel die zu Windows als âZubehörâ mitgelieferte Miniaturtextverarbeitung Write sein, ein bereits funktionierender Server ist das Malprogramm Paintbrush.
Mit dem âObject Linkingâ (also Verbinden) sieht es dann schon etwas komplizierter aus. Das zu verbindende Objekt muĂ der Benutzer vom Objekt-Server aus in die Zwischenablage kopieren. Im Client findet er dann einen zusĂ€tzlichen MenĂŒpunkt zum EinfĂŒgen eines Links statt der gesamten Daten. AnschlieĂend fĂŒhrt jede Ănderung des Quellobjektes durch den Server zur Aktualisierung der Daten im Client.
Als Waffe gegen Datenredundanz ist âObject Linkingâ leider völlig untauglich. Die Daten werden nĂ€mlich trotz des bestehenden Links, also der Informationen, wo sie im Original zu finden sind, komplett ins Client-Dokument kopiert und lediglich beizeiten aktualisiert. (Und ich hatte schon von einer immer aktuellen Datenbank der Dokumente auf meiner Festplatte getrĂ€umt, die kaum Plattenplatz verbraucht.)
Zur Zeit gibt es noch nicht allzuviel Software, die OLE- oder Drag-and-Drop-FĂ€higkeiten besitzt. Das Beispiel Write funktioniert ganz gut, aber Paintbrush hat noch so seine Schwierigkeiten. Ăffnet man dasselbe Objekt zweimal mit Paintbrush, ist die automatische Datenkonsistenz zum Teufel. Hier ist deutlich mehr Eigenintelligenz des Servers nötig (einfacher Netzwerksupport wĂ€re schon ein groĂer Schritt in diese Richtung). Auch Fremdapplikationen mit OLE-FĂ€higkeiten sind noch rar. Einige der im letzten Heft getesteten Textverarbeitungen waren schon soweit, Microsofts neue Tabellenkalkulation Excel 4.0 wird es wahrscheinlich auch bald sein (im Beta-Stadium noch nicht durch und durch konsistent).
(it)