Wie gehen Sie bei der Entwicklung einer Desktop-Anwendung vor, die mehrere Gruppen von gleich wichtigen Daten und Vorgängen enthält, um die Benutzeroberfläche zu gestalten?
Die meisten webbasierten Anwendungen, die ich entwickelt habe, haben eine einfache Startseite mit Links zu den einzelnen Diensten, die die Anwendung bietet. Die meisten dieser Seiten enthalten Listen von Einträgen in einer Datenbank, die Sie über Links wie "Bearbeiten", "Aktualisieren" oder "Löschen" aufschlüsseln oder bearbeiten können. Denken Sie an das Benutzer-Bedienfeld von vBulletin. Menü auf der linken Seite, Datengruppen und Operationen auf der rechten Seite.
Ich beschäftige mich gerade mit der Entwicklung von Desktop-Anwendungen und bin neugierig auf die gängigsten Design-Idiome. Für das obige Beispiel stelle ich mir eine Art Oberfläche mit Registerkarten vor (wie Eclipse mit der Java-Perspektive, der Subversion-Perspektive und so weiter), aber wenn die Funktionsgruppen ungefähr gleich häufig verwendet werden, wird der Benutzer sehr oft zwischen den Registerkarten hin- und herklicken. Ich frage mich auch, ob ich den Benutzer n Registerkarten desselben Typs starten lassen will, oder ob ich jede Registerkarte für jede Funktionsgruppe vorladen und dem Benutzer nur erlauben will, zwischen ihnen zu wechseln.
Ich nehme an, dass es auch mit separaten Windows für jede Gruppe von Funktionen implementiert werden könnte. Damit bleibt das Problem eines deplatzierten "Home-Fensters", das nur eine Sammlung von Schaltflächen zum Auslösen dieser Fenster ist.
Nachdem es eine Desktop-Anwendung war Benutzer Ich habe so viele Jahre lang mit der Erstellung einer sinnvollen und nicht zu auffälligen Benutzeroberfläche verbracht, dass ich nicht mehr weiter weiß. Ich habe mir Microsoft Office angeschaut, aber die meisten dieser Anwendungen befassen sich mit einem Datenelement (z. B. einem Word-Dokument) mit vielen Operationen, anstatt mit vielen gleich wichtigen Datenelementen mit jeweils einzigartigen Funktionen.
Welche Design-Prinzipien / Idiome befolgen Sie für die Entwicklung von Desktop-Anwendungen in dieser Situation?