GUI presentation models - more than just look and feel

March 02, 2009 Company and Community , Application Development, Digital Experience, OpenEdge

While working on a new ABL sample using OpenEdge GUI for .NET, I started thinking about the different presentation models that are available to an ABL programmer in 10.2A. While much of Microsoft geeks are focused on the cool new features of Vista, OpenEdge stays focused on real world business applications. Business applications need a productive, full-featured user interface whose purpose goes beyond catching the user’s attention. Since these applications must be functional above all else, the need for Vista’s multimedia effects (video, animation, graphics) might be nice but not critical. Business applications have a typical set of features that are often reused over and over again. These features include:

  • Support Create, Read, Update, Delete (CRUD) capabilities – data entry and persistence
  • Data managed in a grid or multiple entry fields

One of ABL’s core strengths has always been its ability to manage the backend data easily, with built-in and native data awareness and transactional support in the language. Now with OpenEdge GUI for .NET, you have even more choices available to select the right presentation model for your applications. In general business applications have many different screens to show to their users and often there is need to show more than one simultaneously. There usually is a central way of managing the various screens (a window manager), as well as some means of transitioning between them. It is crucial that users can easily navigate the application, and can use it in a flexible way that fits with their needs.

The presentation models to consider are:

  • Single Document Interface (SDI)
  • Multiple Document Interface (MDI)
  • Tabbed Document Interface (TDI)
  • IDE Style Interface (IDE)

Single Document Interface

SDI organizes graphical user interface applications into individual windows that the operating system's window manager handles separately. Each window contains its own menu or toolbar – there is no concept of a “parent” window. Applications which allow the editing of more than one document at a time, e.g. word processors give the user the impression that more than one instance of an application is open instead of a single application with multiple documents. Each window displays as an individual entry in the operating system's task bar or manager – which might group windows of the same application.

          Microsoft Word and Excel are examples of an SDI application.

Multiple Document Interface

MDI organizes graphical user interface applications into many windows that reside under a single parent as opposed to all windows being separate from each other like SDI. A single menu bar and/or toolbaris shared between all child windows, reducing clutter and increasing available screen space. In MDI a single instance of the application is shared and the child windows all float within the parent (container) window.

The disadvantage of MDI is that it is easy to “lose” a child window when many windows are open simultaneously. In order to view the list of windows open in MDI applications the user typically has to go to the menu bar, moving their focus out of the child window area.

Tabbed Document Interface

This is a specialization of the MDI model. Like MDI, TDI organizes graphical user interface applications into many windows that reside under a single parent window. Unlike the floating child windows of MDI, in TDI each “window” is displayed in its own tab. This makes it much easier to find open windows than traditional MDI. TDI windows must always be maximized inside their parent window, and as a result only one tab can be viewed at a time.

The disadvantage of TDI is with only a single window available at a time, comparing information or copy-and-pasting between two windows is more difficult. Additionally although tabs make it easier to find open child windows, if there are a large number of windows opened simultaneously there are many tabs for the user to search before finding the one they are looking for.

Firefox is an example of a TDI application.

IDE Style Interface

IDE Style Interface is another specialization of the MDI model. Like MDI, IDE organizes graphical user interface applications into many windows that reside under a single parent window. An IDE-style interface is a superset of the MDI model with features available to support the child windows that are not normally available in traditional MDI applications. These child-window features include:

  • TDI model for child window
  • Ability to view child windows simultaneously using splitter
  • Separate window management for child windows - normally tree-based
  • Additional, independent panels to support application – these often use a tabbed interface

Microsoft Visual Studio.NET and Eclipse are examples of IDE applications.

Microsoft Outlook

Microsoft Outlook, and its very popular user interface metaphor, is not true to any of these models. It is closest to an IDE application without tabs for the child windows. Or you could consider it an MDI application with child-window features.

When you plan to redesign your appIication's user interface, consider which of there models works best for your application and users. This is not a one size fits all solution but one that is customizable for your needs. With the new GUI for .NET you get access to Microsoft .NET Windows Forms, an extremely full-featured user interface solution. In Microsoft’s own words “With Windows Forms, you can create powerful Windows-based applications. You can harness the power of Windows Forms to display data, handle user input, and deploy your applications easily and with enhanced security.”

Shelley Chase

Shelley Chase, a Software Fellow with Progress Software for over 20 years, takes a whole product view over the company’s core product, OpenEdge. Her technical skills and customer-driven focus drive the architectural direction of the product. Shelley is extremely talented in system architecture, object-oriented programming, and cloud deployment technologies. Her passion is to provide a well-architected product with an excellent user experience and works with engineers, product managers and services to guarantee success. Shelley has a patent for her work on “Alternate Presentation Types for Human Workflow Activities.”

 

Read next Make the Most of Progress OpenEdge by Identifying Skills Gaps, Tightening Security and Ensuring Database Health