In my prior article, I wrote about the general, high level requirements of the R3 GUI. And, over the last few weeks, I have spent a great deal of time reviewing the current R3 VID design and evaluating how it meets those requirements. (And reading all of your comments as well.)
In general, I have concluded that there is more work to do.
Because the GUI is critically important to R3, I will be talking a lot more about it in the weeks ahead, but before I go into great detail, I want to point out an essential design rule. This rule applies to design in general, not just software. It is:
In addition, experts always have precise demands that are difficult to satisfy for general cases. If necessary, they can always construct their own GUI system from the lower level graphics libraries.
But what about other users, ones who are not so expert? This is the group I am interested in, and I would include myself in this group as well!
Most of the time, I do not want to struggle with the GUI. Instead, I want to focus my energy into the application code itself and spend only minimal time on code related the the GUI. In fact, the perfect situation is where the GUI portion of the app is totally descriptive, and I don't even need to write a line of code for it.
If you think more about the concept of REBOL dialects, you will recognize my point goes to a deeper level. A dialect is a shortcut for expressing a concept. You can always code something without a dialect and most other programming languages are proof of that.
However, when you have a dialect, you have a special tool for getting work done faster, and for making the end result easier to build, maintain, and improve.
So, the fact that we call our GUI the Visual Interface Dialect, VID, is a hint that we really want more than just gurus to use it.
This knowledge helps us to precisely tune our design requirements.
Now, I know what some of you are thinking... you want a powerful GUI system, not just one that works for beginners or even non-programmers. But, I should point out, you actually have that right now! There's nothing to stop you, the expert programmer, from doing whatever type of graphics and GUI you need. You are free to make it as interwoven, complex, and complicated as you desire.
But, VID is for the rest of us, and VID is for me too. On this, I will not compromise. It is our primary objective. Our target user is defined.