2012-02-09 Benefits of MBUI

From W3C Wiki
Jump to: navigation, search

See also The benefits of MBUI and when to use it


  • Testable system

Currently designers use Photoshop to design the UI and hand it over to the developers, and there is a long feedback loop when it comes to revising the design.

  • Informal and formal requirements

In the automotive industry the requirements are stated in a informal way, but together with UI mockups, e.g. as pictures. Perhaps a thousand page document or more.

In the process industry the UI design requirements tends to informally stated.

DFKI is doing a lot of consulting e.g. the the process and manufacturing industry. They tend to express the UI requirements in paper, PowerPoint etc. We then work on prototypes as mockups, but miss the details of the UI behaviour.

How to work on other devices, e.g. touch screens. People tend to think very much at the concrete level and this often results in problems.

Can MBUI be used for agile development of user interfaces?

No concensus on that.

What is it about the models and the transformations that are needed to support agile development?

Formal methods aren't sufficient to ensure that the requirements meet the real world needs. That requires careful review and short feedback loops. MBUI makes it easier to for non-technical people to participate effectively in this process.

Domain experts will want to review the task models

Non-functional requirements need to be considered.

The MBUI WG needs to focus first on enabling interchange of UI designs at task and abstract UI levels.

How much detail needs to be captured at the task level? Preferably not too much!

Models may need to be expressed in domain specific terms.

Moving up the Cameleon reference framework introduces ambiguity.

No, abstraction isn't the same as ambiguity.

An iterative approach would be valuable with a short feedback loop.

Better integration with UI development with model-based development of the overall software application.

MBUI makes it easier to adhere to design guidelines, e.g. for accessibility.

This is because the design concerns for UI and accessibility can be separated.

Today many mobile apps are using HTML5. How can these benefit from MBUI?

There are some semantically meaningful tags, but much of the app is in JavaScript.

MBUI techniques can go well beyond what you can achieve through CSS alone.

Another big factor is usability. When you retarget a UI to another device, usability can suffer. MBUI can help to counter that.

What can be automated, and what needs to be done manually.

People differ, some people are comfortable working top down from abstractions, others find that extremely difficult. MBUI can be used to support both kinds of people.

Extensibility is a key consideration for MBUI languages.

Sometimes ugly tools work fine. "Good enough, and fast" is much better than "perfect and slow" when it comes to design work.

MBUI and declarative models can be used to improve the reliability and consistency of user interfaces.

MBUI can reduce the quantity of bugs in UI design. It also makes it easier to generate tests.

This is really important for safety critical domains, e.g. aviation and healthcare.

Task models should be quick to produce and update.

There can be top level goals for a UI, the requirements then need to be elicitated and reviewed to see that they meet real world needs. The UI design can then prepared, and tested to see it fulfils the requirements. In an agile process, these can be done concurrently, in an iterative manner.

Extraction of main ideas

Benefits of MBUI

  • Separation of design concerns
  • Better documentation of UI design
  • Less effort to target multiple delivery platforms
  • Improve system testability
    • Long feedback loop with current design tool (e.g. Photoshop)
  • Captures the requirements more formally
  • Enforces developers to think in more abstract levels (than CUI) resulting to more structured UIs
  • Makes it easier to adhere to design guidelines
    • e.g., for accessibility
  • Usability
    • MBUI can counter the usability loss when retargeting a UI to another device
  • Supports different development paths satisfying developers preferences
    • top-down, bottom-up, …
  • MBUI and declarative models can be used to improve the reliability and constancy of UIs
  • MBUI can reduce the quantify of bugs in UI design

When to use MBUI

  • May be used for agile development
    • The feedback loop should be short
    • No real consensus on that, still need to be investigated
  • For targeting many platforms
    • HTML5 may be useful for this purpose, but MBUI can go well beyond what CSS alone can achieve