Entwicklung einer IDE - Wie soll die GUI aussehen? - Eure Meinung
-
Ein Gruß an die Entwicklergemeinde!
Da der Compiler, der im Team von einigen Freunden und mir entwickelt wird, so langsam eine Form besitzt, in der er schon halbwegs gute Ergebnisse liefert, haben wir uns nun entschieden zwei Gruppen zu bilden, die sich dann auf zwei Projekte konzentrieren. Zum einen hätten wir da die Compilerentwickler und zum anderen die IDE-Entwickler. Geplant ist eine IDE für die Programmiersprache und diese IDE so modular wie möglich zu entwickeln, um Support für andere Sprachen/Compiler zu gewähren bzw. einfach neue Sprachen/Templates eingliedern zu können.
Die Entscheidung, was die GUI unter Windows betrifft, fiel darauf, dass wir Microsoft Scenic (Ribbon mit Backstage-Menü) nutzen wollen, wie sie auch im neuen Office 2010 zu finden ist. Nun möchte ich euch gerne fragen, welche Ansprüche ihr an die Oberfläche einer IDE stellt, um dann eine Oberfläche zu erschaffen, deren Usability gut durchdacht ist.
Zunächst einmal zum eigentlichen Aufbau unserer/einer Scenic Ribbon (für die, die das nicht allzu kennen). (Da keine Bilder hier im Forum eingefügt werden können, einfach mal die Direkt-Links!)
http://img707.imageshack.us/img707/6541/ribbonk.png
Das Ganze ist eine riesige Multifunktionsleiste mit einem Button (Datei) zum Öffnen des Backstage-Menüs, welches weiter unten erklärt ist, Tabs (Start, Senden/Empfangen, Ordner, Ansicht), die wiederum aufgeteilt sind in Gruppen/Chunks (Neu, Kaspersky Anti-Spam, Löschen, Antworten, ...), die dann wiederrum Buttons oder andere Controls besitzen können.
Darüber hinaus gibts es neben den statischen Tabs auch Dynamische, die nur auftauchen, wenn besondere Bedingungen erfüült sind, wie z.B. dass ein besonderes Item ausgewählt ist, für das die jeweiligen Aktionen ausgeführt werden können, andernfalls werden die Tabs, die so gruppiert sind, ausgeblendet.
http://img717.imageshack.us/img717/7213/groupedtabs.png
Das Backstage-Menü ist ziemlich interessant, da er mehrere Optionen bietet:
http://img403.imageshack.us/img403/3372/backstagec.png
Es gibt im Menü links Buttons, die sofort eine Aktion auslösen - so etwa Speichern unter, Optionen, Beenden - und Reiter, die "Untermenüs" öffnen - so etwa Informationen, Öffnen, Drucken, Hilfe. In diesen "Untermenüs", die einfach neuer Inhalt im rechten Teil des Fensters sind, kann man dann wiederum alles mögliche implementieren.
Momentan waren die Pläne die, das Menü von Visual Studio 2010 zu filtern und die passenden Optionen/Aktionen so zu integrieren. Nun würde ich gerne von euch in Erfahrung bringen, welche Optionen ihr gerne nutzt/nutzen würdet (unabhängig von der Programmiersprache was z.B. Refactoring anbelangt), damit es für uns möglich ist, die Ribbon so zu implementieren, dass diese intuitiv benutzbar ist und die Aktionen alle einfach aufgerufen/genutzt werden können.
Vielen Dank für eure Zeit,
Christian IvicevicPS: Zwei Bilder sind aus Microsoft Outlook 2010 rausgenommen, das Dritte (mit den Grouped Tabs) ist aus einem eigenen Beispiel-Programm mit der Ribbon!
PPS: Die IDE wird multilingual werden
-
Sind Ribbons nicht irgendwie Lizenziert?
-
so und jetz nochmal dinge zum Compiler und zur IDe und nich nur zu dem geilem Menü
-
Im Allgemeinen ja, aber wenn du nicht die eigene Implementierung von Microsoft nimmst (die unglaublich schlecht ist!) kannst du auch ohne Lizenz das Programm vertreiben. Den Beleg dafür liefer ich gleich. Muss es erst wieder finden.
// EDIT: btw, Bei MSDN gibt es genauere Erklärungen zur Ribbon - leider auf die alte Version bezogen...
Außerdem könnt ihr auch Vorschläge posten bzgl. der IDE allgemein.
@gastmitc: Der Compiler ist eh auch noch im Entstehen// EDIT2:
You should "visit this [Office UI Licensing] site and accept a simple click-through agreement". Moreover you will receive an evaluation copy of the design guidelines (note, you may use it only if you accepted the agreement).
Ergo: Einfach mal durcklicken und ich darf die Ribbon und Scenic nutzen!
-
hast du die screenshots auch als poster ueberm bett haengen?
-
Die Screenshots habe ich bloß vorhin gemacht was bedeutet, dass es noch dauert das zu drucken! Sonst gerne, weil ich echt 3-4 Monate damit verbracht habe eine Ribbon zu implementieren.
Außerdem können wir darüber disskutieren, wenn ich auch Antworten bezogen auf meine Frage/meinen Wunsch bekomme
-
Christian Ivicevic schrieb:
Außerdem können wir darüber disskutieren, wenn ich auch Antworten bezogen auf meine Frage/meinen Wunsch bekomme
Du hast in deinem ganzen Post nur beschrieben wie geil die Ribbons sind und was die können, du hast sogut wie kein Wort verloren was du für deine IDE planst und eine konkrete Frage hast du auch nicht gestellt, was für Aussagen suchst du also in unseren Antworten? Bestätigung wie geil die Ribbons sind und wie gut geeignet die für eine IDE sein können?
Mein Bier: warum benutzt ihr nicht einfach Eclipse, damit könnt ihr euch in einer Woche max. + Einarbeitungszeit eine hübsche IDE erstellen.
-
Was soll ich zur IDE genauer sagen? Aktuell sehe keine "besonderen" Highlights, die geplant sind, die zu implementieren wären. Jede IDE hat ja ähnliche Arbeitsweisen, Funktionen und "Helfer". Es scheint mir unnötig, jetzt so als Beispiel, zu erwähnen, dass etwas wie IntelliSense mit Codevervollständigung reingehört, weil das heutzutage schon erwartet wird. Somit versuche ich redundante Diskussionen bzgl. dessen außen vor zu lassen.
Hierbei interessiert mich ja jetzt, was du dir denn vorstellen könntest, was so in eine IDE reingehört, was aber nicht zum Standard gehört, wie es in Eclipse, Visual Studio, Code::Blocks oder Xcode schon drin wäre.
-
Christian Ivicevic schrieb:
Sonst gerne, weil ich echt 3-4 Monate damit verbracht habe eine Ribbon zu implementieren.
Du hast 3-4 Monate damit verbracht ein Ribbon zu entwickeln?
WARUM???
-
Ich wüsste nicht wie ich Ribbons hier sinnvoll verwenden könnte.
Mir fallen garnicht genug Funktionen ein die man dort sinnvollerweise reinstecken könnte...Navigate Forward/Backward
Comment/Uncomment
Format Selection
Compile
Compile All
Clean & Compile All
Run
Run & Debugund schon stehe ich an...
Ribbons finde ich dann gut, wenn man unendlich viele Funktionen in endlich kleinen Platz bringen will. Aber was für Features gibt es denn in einer IDE die ich über die Toolbar benutzen will?
Sobald ich in eine andere View springe (zB Debug) dann habe ich sowieso wieder eine neue Toolbar mit Watch, Step Into, Step Over, Run, Enable/Disable Breakpoints,...
PS:
ich würde ein Eclipse Plugin schreiben. Da hat man dann automatisch alles wichtige dabei ohne etwas tun zu müssen.
-
Man könnte ja, bezogen auf den Editor, Code-Templates o.ä. oben in einer Gallerie packen. Für das Debuggen könnte man kleine Tools oben rein packen, die bei einem Klick etwas verursachen (keine Ahnung wie ich das erklären soll
), was das Laufzeitverhalten (testweise) ändert.
Außerdem kann man unter View beispielsweise eine Auflistung von Fenstern/Funktionen etc. machen, wie in Visual Studio z.B. mit Solution Explorer, Team Explorer, Object Browser, ...
Teammäßig ist es möglich einzubauen, dass man eine Steuerung für Checkins etc. macht.
-
Christian Ivicevic schrieb:
Man könnte ja, bezogen auf den Editor, Code-Templates o.ä. oben in einer Gallerie packen. Für das Debuggen könnte man kleine Tools oben rein packen, die bei einem Klick etwas verursachen (keine Ahnung wie ich das erklären soll
), was das Laufzeitverhalten (testweise) ändert.
Außerdem kann man unter View beispielsweise eine Auflistung von Fenstern/Funktionen etc. machen, wie in Visual Studio z.B. mit Solution Explorer, Team Explorer, Object Browser, ...
Teammäßig ist es möglich einzubauen, dass man eine Steuerung für Checkins etc. macht.Damit Fülle ich aber keine Ribbons, so wie ich das sehe.
Code Templates ist ein Button. Die sind im Editor auf den Context bezogen sowieso besser. Ich schreibe "class " und er vervollständig mir wenn ich will das kompletten Klassen Gerüst. Selbes für Schleifen, Funktionen, etc. Da sind solche Context Templates einfach super. Da reicht ein "Zeige mir alle Templates an" Button in der Toolbar.Debuggen ist eine eigene View, da brauch ich keine Code Templates und sonstiges mehr. Da muss sich die Toolbar ziemlich ändern. Es sei denn ich kann Live Updates am Source Code durchführen - das wäre ein interessantes Feature.
Solution Explorer, Object Browser etc. sind eigene Fenster. Das ist wichtig dass ich diese immer sehen kann.
Aber ja. commit/checkout/etc sind auch noch Buttons in der Toolbar.
Da sind wir aber immernoch bei weit unter 20.
Keine Ahnung, aber ich sehe den Sinn von den Ribbons einfach nicht. Ich schaue mir meine IDEs an und ich habe genau 1 Zeile Buttons in der Toolbar, bis auf beim Visual Studio, da sinds 2 (weil ich zu faul bin die unnötigen auszublenden).
uU sehe ich das auch zu eindimensional...
-
weniger ist mehr.