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)