UIConsider.pdf Flashcards
When developing a user interface, there are two areas that must be considered…?
appearance and behaviour.
In most cases when addressing these issues, the trade-off between…… will influence decision-making?
functionality provided, speed of development and runtime performance.
It is unlikely that a gain in performance, development speed and functionality factors could be made without impact on another factor because…?
These three factors are so closely linked.
A common cause of poor performance within application is …?
forms that simply have too many controls on them.
This is especially a problem when using folders with many sheets
With a complex form containing lots of data and many options, you run the risk of…?
overwhelming the user.
The overhead of loading a form with hundreds of controls is much greater than that for a…?
smaller form.
This overhewad increases, again significantly, if the form is deployed as part of a Web application
If you find large forms are performing poorly then there are a number of options to consider….?
- Split the data across several forms.
- Use different controls (for example if a form displays read-only data, a table may be more effective than several textbox or label controls).
Most forms are designed using the JADE Painter but JADE also provides facilities to create controls dynamically at run time.
This is useful when:
- The number and type of controls cannot be predicted at design time; for example a highly graphical application such as a container terminal tracking system.
- There are a large number of controls that are all expected to respond to the same set of events; for example a multi-line data entry form.
- A user-defined control consisting of a container and a number of child controls must be built at run time.
There are two ways of adding controls to a form at run time…?
- The loadControl method clones a persistent control associated with the form. The coloned controls respond to the same events defined for the original control.
- The addControl method can be used to create new control for a form at run time. It differs from the loadControl method, as the new control does not need to be based on an exisiting control on the form. The control responds to event methods defined on the parent form based on the control name; for example newControl_click. The setEvetMapping method may be used to define another method to be invoked for an event.
(Note: Dynamically creating controls allows you to write more generic code but there is a measurable performance overhead associated with creating the controls in the first place. Furthermore, the use of the setEventMapping method is quite expensive and should be used sparingly.)
The performance characteristics of an application vary greatly, depending on…?
whether the application is run in single user mode, as a thin client, or using the standard fat client.
(There is a danger that if development takes place in one mode and the system is deployed in another, performance issues may arise.)
A significant point of difference between running in single user or fat client mode, as opposed to think client mode, is…?
the overhead associated with the handling of events.
If an event method has be implemented for a particular event, a request must be sent from the…?
presentation client to the application server to process the event method.
The events that are likely to have most impact when running in thin client mode are those that have the potential to happen most frequently. These are…?
- Events that occur in response to keystrokes; e.g. keyDown, keyUp, keyPress, change.
- Events that occur as a result of moving the mouse, e.g. mouseMove, dragOver.
- Paint events.
When a window needs to be repatined on a presentation client, this requires no interaction with the application server, unless….?
- The developer has implemented a paint event for the form or control.
- The control is a subclass of JADE control and the developer has implemented a paint method for the control.
(In the second case, it may be perferable to use the Window::autoRedraw property instead. When this property is set, no paint events are processed and instead, when the form or control is repainted, draw commands are replayed on the presentation client.
The Window::enableEvent method can be used to…?
enable or disable handling of specific events.
For example, you may choose to disable all keystroke events for any client running in thin client mode.