Für eine Produktpalette, die für den internationalen Massenmarkt
bestimmt war, lizenzierte Computer Associates International das von
mir erstellte Programm 'New Menus'. Von 1993 bis 1997 war ich für
diese Firma auch als Berater tätig.
|
Zeit: | 1993-1997, davon 1995 - 1997 im Auftrag von CA (ca. 500 Manntage)
|
|
Kunde: | Computer Associates International (CA), Endkunden
|
|
Position: | Softwareentwicklung, Vertrieb
|
|
Technologien: |
C++, Windows 3.1/95/NT, OS/2, COM, Window-Manager
|
Preis/Verfügbarkeit: Auf Anfrage, siehe New
Menus for Windows

Der Eingangsbildschirm des Produktes HomePlace
Aus Interesse und um die Programmiersprache C und C++ zu erlernen, schrieb ich während
meines Studiums ein Desktop-Tool 'New Menus for Windows' für Windows 3.1, das einige Aspekte (Look and Feel) der
Window-Manager des X-Window-Systems unter Unix (Motif, OpenLook, NextStep) für den
Windows 3.1 PC zur Verfügung stellt.
Nachdem ich erste Ergebnisse vorzuweisen hatte,
veröffentlichte ich das Programm kostenlos im Internet. Durch ein entsprechendes
weltweites Feedback wurde ich dazu motiviert, das Programm in einer deutschen und einer
englischen Fassung weiterzuentwickeln. Ich vermarktete das
Programm als Shareware, wobei ich Distributoren in Deutschland, Frankreich, USA und Japan
für den Vertrieb gewinnen konnte.
Die Firma Computer Associates International wurde auf
dieses Produkt aufmerksam
und bot mir Anfang 1995 für die Integration dieses Produktes in ein für den
Consumer-Markt abgestimmtes Paket eine Lizenznahme an. Mit der Lizenzierung war ein
Beratervertrag über 2 Jahre für die Portierung dieses Programms nach Windows 95,
Windows NT und OS/2 verbunden.
Das Gesamtprojekt 'HomePlace' wurde verteilt abgewickelt, wobei Teams in
Florida, Californien und NY beteiligt waren.
Ich steuerte meine Komponente 'PowerUser' aus Kassel bei.
Die Hauptkomponente des Produktes "HomePlace", durch 4Home Productions
veröffentlicht (eine Division von CA), bestand in einer graphischen Shell für Windows,
die Elemente eines 3-D Spieles hat und für verschiedene Altersstufen und Fähigkeiten
eine Metapher für die Bedienung von Windows zur Verfügung stellt.
Weitere Dienste, wie
Spracherkennung und -steuerung, Anbindung an Internet und Onlinedienste sowie eCommerce
waren integrale Komponenten. Speziell für den Aufbau von virtuellen Verkaufs- und
Serviceräumen wurden Drittkunden ein SDK angeboten. Das Produkt wurde mit einer
Auflage von 5 bis 7 Millionen Kopien in Japan und USA für das erste Jahr projektiert.
Für die erfahrenen Nutzer, denen die graphischen Metaphern zu
spielerisch sind, gibt es das Modul 'PowerUser', das im Wesentlichen eine angepasste
Version von 'New Menus Window Manager' darstellt.
Um eine Portabilität zwischen Windows 3.1, Windows 95, Windows NT 3.51, NT 4.0 und
OS/2 (letzteres wurde nach kurzer Zeit aus der Anforderungsliste gestrichen) zu gewährleisten,
musste das Programm von Grund auf neu geschrieben werden. Hierbei sollte das Programm
nicht nur auf verschiedenen Plattformen laufen, sondern auch weitgehend
kompilerunabhängig geschrieben werden.
Ich entwickelte eine Klassenbibliothek, die die Windows & OS/2 API in C++-Klassen
kapselt. Vorhandene Bibliotheken, wie etwa OWL oder MFC waren nicht in einer plattform-
und kompilerübergreifenden Version verfügbar und entsprachen auch sonst nicht den
spezifischen Bedürfnissen des Projekts. Aus der Entwicklung der Vorgängerversion gewann
ich die Erkenntnis über die Wichtigkeit eines möglichst klaren, flexiblen und
leistungsstarken objektorientierten Designs, das nicht nur die bestehenden Spezifikationen
erfüllt, sondern auch zukünftige Entwicklungen ermöglicht.
Der Entwurf gliedert sich in folgende Objektgruppen:
- Items beinhalten die wesentlichen Funktionselemente des Programms: Verzeichnisse,
Dateien, Programme, Prozesse, Virtuelle Desktops, etc. Sie haben die Fähigkeiten sich
selbst darzustellen, auf Ereignisse (wie etwa Mausklick) zu reagieren, ggf. selbst wieder
eine Liste von Items zu erzeugen.
- Container beinhalten Listen, Hierarchien oder Gruppen von Items. Sie legen fest, in
welcher Weise Items dargestellt werden (als Popupmenu, Liste, Baumstruktur,
Browser, Titlebar, Taskbar oder als Deskbar etc.) und welche Nachrichten an
die Items weitergeleitet werden.
(Siehe: Snapshots von Container)
- Windows bilden nicht nur die Schnittstelle zu den dem Betriebsystem-GUI-API sondern
funktionieren als Nachrichtendispatcher.
- Frames entsprechen den sichtbaren GUI-Fenstern und erweitern diese auch,
so dass verschiedene 'Look and Feel's implementiert werden können.
- Widgets sind erweiterte Controls in spezifischen Kontexten (wie etwa Frames, Windows und
Dialoge).
- Styles sind umschaltbaren 'Look and Feel's für die oben genannten Klassen.
Einige Window Controls, die erst unter Windows 95 eingeführt wurden wie etwa die
Karteikartenreiter für Dialoge, mussten für Windows 3.1 nachgebildet werden.
Soweit mir von Entwicklern mitgeteilt, bildete NMWM auch eine Referenz für das Design
von Gnome und der Swing-Klassenbibliothek für das Java AWT.
NMfW ist im Wesentlichen ein Programm- und Windowmanager. NMWM wurde hier durch ein
Konzept des Dateimanagements erweitert.
Wesentliche Features:
Verfügbarkeit von kompatiblen Versionen für folgende Plattformen:
- Windows 3.1, WfW 3.11 (16 Bit)
- Windows 95 (32 Bit)
- Windows NT 3.51 (32 Bit)
- Windows NT 4.0 (32 Bit)
Die Nutzerprofile können in einer gemischten Netzumgebung gemeinsam genutzt
werden.
Um unter Windows 3.1 auch eine erweiterte Hilfe anbieten zu können, entwickelte ich ein
erweitertes Hilfesystem für Windows 3.1.
Siehe auch Win4Help.
Programm-Management
- Möglichkeit, Programme und Dokumente mit sehr flexiblen Einstellungen zu öffnen.
- Integration der Windows 95 Shell
- Integration der Programm-Manager (Windows 3.1, NT 3.51)
Window-Management
- Verschiedene Window-Stile 'look and feel' (im Sinne von X-Window Window Manager)
verfügbar. Diese Wandlungsfähigkeit der Oberfläche war damals recht neu und
wurde später in Java Swing, Windows XP, oder auch KDE übernommen.
Siehe auch: Snapshots von verschiedenen Styles
- Virtueller Desktop

Virtueller Desktop
Datei-Management
- Unterstützung der Standard-Dateioperationen via Drag'n Drop, Shortcuts (Ctrl+C,
Ctrl+V, etc.), Kontextmenüs (COM/OLE2).
- Transparente Unterstützung von komprimierten Archiven als Verzeichnisse: ZIP, LZH,
ZOO, GZ, ARJ, RAR.
- Unterstützung aller Dateioperationen über eine integrierte Kommandozeilenshell.
- Unterstützung der Shell-Verzeichnisse von Windows 95/NT 4.0 und weiteren Funktionen der
Windows Shell.
Konfigurationsmanagement
- Unterstützung mehrerer Nutzer, Unterstützung der Netzwerknutzer unter Windows 95 / NT
- Restriktive Einstellungen für bestimmte Nutzerkreise (daraus entwickelte sich auch ein
Miniprojekt 'DeskLock' für HP).
- Transparente Einbindung der Systemsteuerung und anderer externer Konfigurationen.
Scriptfähigkeit
- Integrierte Kommandozeile. Siehe auch
WIOSERV,
BSH.
- Entwicklung eines erweiterten Scriptsprache in einer .bat und WordBasic kompatiblen
Variante. Siehe auch
BSH, SBSI.
- Integrierter Tastaturrecorder (nicht mehr realisiert).
|