Das nervige Bauen des GUI...



  • this->that schrieb:

    Der Punkt mit "unversierte Benutzer" ist Quatsch. Oder sind die Anwender von 3dsmax, maya, vs, fx composer und Photoshop unversierte Benutzer?

    Dein Punkt ist völliger Quatsch. Fällt dir nicht auf was alle von dir genannten Programme gemein haben?



  • hui, toll rege Beteiligung 🙂

    Also mit den unversierten Benutzern meine ich folgendes: kleine tools, die eigentlich nur auf der kommandozeile laufen könnten zB ein Verzeichnis als eingabe, eine datei als ausgabe. Da braucht man eig keine GUI. Wenn ich jetzt aber fürn bekannten was baue, dann kann der nicht mit kommandozeile umgehn -> daher unversierte benutzer.

    Ich meinte eigentlihc gar nicht mal so, dass das bauen des dialogs so nervig ist, sondern eher das verknüpfen von dialog mit funktionen. Die MFC benutz ich nicht mehr, da war das doch relativ einfach, das stimmt: doppelklick auf button und fertig.

    Das ist das, was mich besonders nervt, dass man alles sozusagen als ereignsroutine machen muss, und das nicht iwie automatisieren kann.

    @kommandozeilen-freak: Es geht mir hier gar nicht um große guis, sondern vl ein kleines fenster mit optionsdialog oder so. und wenn man grad keinen designer zur hand hat, muss man das halt selbst machen 🙂

    @gregor: Diese 5oder 6 zeilen mit @ machen deinen Dialog? das wär natürlich ziemlich geil, leider kann ich überhaupt kein java. KAnnst du in etwa sagen, wie du das gemacht hast? Kanns mir vl so vorstellen, dass ich ne basisklasse Dialog habe, und dem füg ich dann zB mittels AddInput(&variable, grenzen etc.) ein eingabefeld hinzu. Aber wie realisierst du in dem Fall das Layout? also dass zB zwei textfelder nebeneinader sind und anderes dann darunter etc.?

    @... Was ist ein RAD-Editor? bei google hab ich nix gefunden. Und wie meinst du kann man da mit Templates was machen? gib maln tipp bitte

    Liebe Grüße, Maxi



  • finix schrieb:

    this->that schrieb:

    Der Punkt mit "unversierte Benutzer" ist Quatsch. Oder sind die Anwender von 3dsmax, maya, vs, fx composer und Photoshop unversierte Benutzer?

    Dein Punkt ist völliger Quatsch. Fällt dir nicht auf was alle von dir genannten Programme gemein haben?

    Sie haben eine komplexe GUI und werden alle nicht von unversierten Benutzern benutzt.



  • Maxi schrieb:

    @... Was ist ein RAD-Editor? bei google hab ich nix gefunden. Und wie meinst du kann man da mit Templates was machen? gib maln tipp bitte

    Ein RAD-Editor ist ein Editor in dem du deine GUI zusammenklicken kannst. Da kannst du dann auch Events eingeben. Für wxWidgets gibt es z.B. wxSmith, welcher bei Code::Blocks dabei ist, oder wxFormBuilder als Standalone programm.

    Was Templates angeht, man kann gewisse Dinge mit Templates auslagern, in dem man sich für verschiedene Controls Klassen schreibt, die diese Wrappen. Dann benutzt man diese Klassen, statt die der Library.

    phlox





  • this->that schrieb:

    finix schrieb:

    this->that schrieb:

    Der Punkt mit "unversierte Benutzer" ist Quatsch. Oder sind die Anwender von 3dsmax, maya, vs, fx composer und Photoshop unversierte Benutzer?

    Dein Punkt ist völliger Quatsch. Fällt dir nicht auf was alle von dir genannten Programme gemein haben?

    Sie haben eine komplexe GUI und werden alle nicht von unversierten Benutzern benutzt.

    Zum Beispiel. Interessant, oder?



  • finix schrieb:

    this->that schrieb:

    finix schrieb:

    this->that schrieb:

    Der Punkt mit "unversierte Benutzer" ist Quatsch. Oder sind die Anwender von 3dsmax, maya, vs, fx composer und Photoshop unversierte Benutzer?

    Dein Punkt ist völliger Quatsch. Fällt dir nicht auf was alle von dir genannten Programme gemein haben?

    Sie haben eine komplexe GUI und werden alle nicht von unversierten Benutzern benutzt.

    Zum Beispiel. Interessant, oder?

    KA was du daran so interessant findest. Das war auf jeden Fall der Punkt, den ich zeigen wollte.



  • kommandozeilen-freak schrieb:

    zwutz schrieb:

    warum sollte die GUI auch schneller gehen? Sie ist auch mindestens genauso wichtig wie die Programmlogik.
    Die Programmlogik interessiert einen Nutzer nicht. Ihm interessiert die GUI. Und wenn ihm die nicht passt, bringt die beste Logik nichts.

    was werden denn hier für verschärfte klicki-bunti argumente gebracht?^^ 🙄
    übrigens; das bauen einer schicken GUI ist eher aufgabe eines designers, weniger die eines programmierers.
    🙂

    den Teil der GUI, den ein Designer machen sollte, hab ich mit meinem Kommentar nicht gemeint. Es geht um den Teil der GUI, um die sich ein Programmierer kümmern muss. Korrekte Tabreihenfolge, Verknüpfung mit der Programmlogik, Menüstruktur, Dialogdesign.
    Und von Klicki-Bunti hab ich auch kein Wort gesagt.

    Gutes Beispiel: Blender. Erstklassiges 3D-Modellierungsprogramm, noch dazu kostenlos. Da die GUI aber zumindest anfangs grottenschlecht war (im Sinne von unübersichtlich), haben es vor allem Neueinsteiger schwer, damit zu arbeiten.

    Eine gut durchdachte (nicht designte) GUI bringt mehr Nutzer, als eine gute Programmlogik (letztere dient dann eher dazu, die Nutzer auch zu halten). Daran sollte man vor allem denken, wenn man seine Programme auch vertreiben will



  • im grunde hat zwutz recht. einen anwender wird kaum jucken, wie ein programm intern arbeitet, solange es genau das macht, was er möchte. dem anwender ist es wurst, ob sein tool eine VB anwendung ist, die allen code in button events versteckt oder obs ne c++ anwendung ist, die sauber und elegant logik und GUI trennt.

    sauberes entwickeln macht man für sich selbst. für wartbarkeit. allerdings fällt das dann auch irgendwann wieder auf den anwender zurück, wenn der frickelcode irgendwann mehr bugs enthält, als der gut durchdachte 😉



  • Hi,

    ich kann nur sagen, daß bei dem was ich dezeit mache die eigentliche Verarbeitung eigentlich (mathematisch gesehen) trivial ist. Aber da das Programm übers Internet für möglicherweise tausende Benutzer rausgegeben werden muß, kann ich es mir nicht leisten, daß ich da groß Nutzerbetreuung machen muß. Also muß alles für möglichst JEDEN Benutzer ausreichend verständlich und selbsterklärend sowie auch zuverlässig und korrekt sein. Hab ich auch immer Probleme meinem Chef klarzumachen warum ich da so viel Schnuckebutz treiben muß, es soll doch nur ein kleines Tool werden. Aber wenn von den Nutzern jeder nur 10 Minuten Betreuungszeit braucht hab ich damit einen Fulltimejob. Also muß ich dafür sorgen, daß alle ohne mich klar kommen. Das bringts nun mal mit sich, daß die Verarbeitung nur den kleinsten Teil der ganzen Sache ausmacht. Das meiste ist Bedienerschnittstelle. Bediener sind nun mal Menschen und machen Fehler. Also muß man irgendwie daruf reagieren. Daran wird sich bei Programmen, die man aus der Hand geben muß auch nie allzuviel ändern.
    Was mir bei der ganzen Sache etwas hilft ist, daß man bei C++-Builder und Delphi (beide Borland) mit eigenen Komponenten arbeiten kann, in die man schon eine ganze Menge Selbständigkeit reinlegen kann. Wieweit das bei anderen Umgebungen geht kann ich aber nicht sagen.

    Was den Designer angeht, sicher wäre es schön einen zu haben, aber ich bin schon mal froh mich selbst zu haben. In einem Einmannteam ist man alles in einer Person. Gleichzeitig ist aber gerade die Aufgabe des Designers bei einem Programm die wichtigste von allen. Das erste Erscheinungsbild nach dem Starten und die ersten Interaktionen mit dem Nutzer entscheiden darüber ob das Programm angenommen und akzeptiert wird. Ob der Nutzer also mit SEINEM Programm arbeitet und sich dabei wohlfühlt oder nur mal nogedrungen eine Zwangsjacke anzieht.
    Für die eigentliche Funktion ist eine einladende angenehme Nutzerschnittstelle völlig unwichtig, aber der Nutzer wird einen unaufgeräumten Misthaufen nie als SEIN Programm ansehen.

    Gruß Mümmel


Anmelden zum Antworten