views:

128

answers:

1

Refering to this question I asked a while ago:

UI functionality modeling languages

It looks like there is no good-enough solution. I decided to develop one. (and prepare a set of elements for DIA or something) I'm sure it will require a good insight in peoples' experiences and problems in designing functionally complicated GUIs.

I've got some ideas already, but I'd like to hear from You what You'd expect from a GUI functionality modelling language.

Clarification: It's functionality modelling (possible user interaction, events etc.), so it's not about where I put a button. It's about objects that have some events binded, and the interface behaviour logic.

If You think (just as I do) that UML is far from useful for such purposes - feel free to put Your expectations here. I'll try to meet them. ( not necessarily in person;) )

Remember - there is no such thing as a wrong answer to this question
+1  A: 

I would want four things in a UI modeling language:

  1. A definition of the UI objects (controls, forms, etc.), including: a. The composition of the UI objects from UI primitives and sub-controls (members). b. Events c. Properties d. Methods
  2. The ability to layout said objects. I know you're only wanting to cover functionality, but the main purpose of models is the ability of humans to understand them, and the most intuitive way to do so is to "see" the UI. The layout could just be a conceptual "design-mode" thing divorced from the actual UI.
  3. Discrete states (modes/configurations) for UI objects. Each state results in a different set of properties for the UI elements. For example, you may have rules that when you're in the "Downloading" state, most controls are disabled, a progress bar is shown, and the only clickable object is a cancel button.
  4. Unless you're just modeling a control library, I'd want modeling for the "orchestration" of the UI elements within the scope of an application. For example: a. How the UI is data-bound to the model/view model/presenter b. How business logic/controller methods are tied to UI events c. Perhaps use cases with interaction sequence diagrams could fit in here
Jacob
Your #3 is a great thing for me to consider. #1 is my main goal (and is almost ready in concept). I'd like to discuss #4. At the moment I think my diagrams would be the way to describe *how* the data binding is created, not the data binding itself. Which technology did You have in mind when suggesting that?
naugtur
and for the #2 - I think this is not what I wanted to do. UML is not human-understandable as well. But I thinkit'd be quite easy to associate a drawing with diagrams.
naugtur
For #4, I was thinking of MVVM architectures as used in frameworks like Flex, Silverlight, and WPF, or even MVC architectures. To me, modeling the UI itself is less helpful than modeling data presentation and interaction.
Jacob
I've added bolded some words to clarify that I intend to model.
naugtur