Kann man das so machen? Vor allem bin ich mir nicht sicher, wie das mit der GUI Programmierung genau laufen soll und ob ich das richtig vermute. Ich bitte um ehrliches Feedback !
vor allem würde ich sagen: Erfahrung. Es ist schon schwer genug gute Software ohne GUI zu entwickeln. Bei mir war es bisher so, dass immer ausrechend Fachkenntnisse im Team zu GUI-Entwicklung oder einem UI-Framework gefehlt haben. Deshalb ist meine Erfahrung mit der Entwicklung von GUIs, dass ich hinterher verbrannte Finger hatte. Microsoft gibt Millionen aus, nur um ein paar UI-Elemente zu designen, doch die meisten wissen oder verstehen es gar nicht.
Ich habe keine Arbeitspunktliste zu der UI Entwicklung, nur ein paar Grundsätze.
1. Wenn man wenig Kenntnisse von GUIs oder UI-Frameworks hat, sollte man die kleinste Suppe kochen die man kann. Das bedeutet, mächtige Frameworks suchen, wo alles schon fast fertig ist, um möglichst wenig selber schreiben zu müssen. Man wird es so oder so mehrmals umschreiben.
2. Wenn es nicht direkt gefordert wird, kein ausgefallenes Design, keine Experimente. So weit es geht an gängige Standards wie aus hundert anderen Programmen bekannt halten, auch wenn es langweilig wirken wird. Das reduziert den Aufwand neue Sachen zu erfinden und zu testen, weiterhin kann die Zielgruppe der Anwendung besser damit zurechtkommen.
3. Immer in enger Abstimmung mit dem Kunden arbeiten. Die meisten wissen vorher leider nicht, was sie wirklich wollen. Mit Paper und Bleistift anfangen und immer wieder Szenarien auf dem Papier mit dem Kunden durchspielen. Man kann auch gängige Software (z.B. MS Office, Photoshop) vorführen und fragen, ob man so ein "Aussehen und Gefühl" haben will. Auch die zukünftige Zielgruppe, welche mit dem Interface arbeiten wird, so weit es geht miteinbeziehen.
4. Die GUI von dem restlichen Programm strikt trennen, sogar in ein anderes Projekt auslagern. Man sollte gleich davon ausgehen, dass es parallel 3 vollkommen unterschiedliche GUI für das selbe Programm gibt. Das erleichtert später die Entwicklung eines neuen Interfaces, während das Programm mit dem alten GUI schon im Einsatz ist.
5. Ein Interface besteht nicht nur aus Grafik. Die Eingabe spielt eine sehr wichtige Rolle. So sollte die GUI von Anfang an fast vollständig mit Tastaturkürzeln oder Tastatur steuerbar sein. Aber auch die Mauswege müssen für die häufigsten Aufgaben nicht zu lang sein. Der Anwender sollte nicht überfordert werden, also sollte man keine komplizierten Erklärungen, Beschriftungen oder Aufforderungen wählen. Überhaupt sind Programmierer ziemlich schlecht in dieser Sache, das sollten wenn es geht andere machen, z.B. Kommunikationsexperten. Weiterhin sollte man den Anwender nicht mit Fehlermeldungen bewerfen oder durch ständigen modalen Dialoge an der Arbeit behindern, sondern versuchen einen reibungslosen Arbeitsablauf zu gewährleisten, mit klaren verständlichen Hinweisen oder Erklärungen, warum etwas gerade nicht geht oder wie man es anders machen kann.
6. Falls ein Grafikdesigner zu Verfügung steht, welcher eine Oberfläche in Photoshop entwirft, so sollte man sich mit diesem frühzeitig zusammensetzen und zu besprechen, was von der Programmiererseite gut geht und was weniger gut geht. Auch eine direkte Dreiecksbeziehung Kunde-Designer-Entwickler ist sehr zu empfehlen.
Slawa