artefaktur
software engineer &        architecture

 
 
 
 

Projekt PowerUser, Computer Associates

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 externer Entwickler und 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


Siehe auch <a href="../../products/nmwm/index_de.htm">New Menus for Windows</a>

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 unter dem Namen '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 &amp; 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: <a href="new_menus_container_de.htm">Snapshots von Container</a>)
- 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).


See also:

 
Last modified 2012-11-19 21:57 by rkommer By Artefaktur, Ing. Bureau Kommer