UIConsider.pdf Flashcards

1
Q

When developing a user interface, there are two areas that must be considered…?

A

appearance and behaviour.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

In most cases when addressing these issues, the trade-off between…… will influence decision-making?

A

functionality provided, speed of development and runtime performance.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

It is unlikely that a gain in performance, development speed and functionality factors could be made without impact on another factor because…?

A

These three factors are so closely linked.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

A common cause of poor performance within application is …?

A

forms that simply have too many controls on them.

This is especially a problem when using folders with many sheets

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

With a complex form containing lots of data and many options, you run the risk of…?

A

overwhelming the user.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

The overhead of loading a form with hundreds of controls is much greater than that for a…?

A

smaller form.

This overhewad increases, again significantly, if the form is deployed as part of a Web application

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

If you find large forms are performing poorly then there are a number of options to consider….?

A
  • 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).
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Most forms are designed using the JADE Painter but JADE also provides facilities to create controls dynamically at run time.
This is useful when:

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

There are two ways of adding controls to a form at run time…?

A
  • 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.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

The performance characteristics of an application vary greatly, depending on…?

A

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.)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

A significant point of difference between running in single user or fat client mode, as opposed to think client mode, is…?

A

the overhead associated with the handling of events.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

If an event method has be implemented for a particular event, a request must be sent from the…?

A

presentation client to the application server to process the event method.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

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…?

A
  • 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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

When a window needs to be repatined on a presentation client, this requires no interaction with the application server, unless….?

A
  • 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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

The Window::enableEvent method can be used to…?

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

A common problem in designing a user interface is…?

A

the inappropriate use of controls.

17
Q

Often what works well during development with a small amount of data does not…?

A

scale up when the system is deployed in production with many more users.

18
Q

It is important that when the decision is made to use a particular type of control that ….?

A

consideration is given to the volume and the volatiliy of the data associated with the control.

19
Q

Volume-related problems are most common when using…?

A

listed boxes, combo boxes, and tables.

(If the number of entries that could be displayed is likely to be large, you shoudl consider a strategy for reducing the amount of data that will be loaded)

20
Q

The listCollection method can be useful when..?

A

loading entries from a collection into a ComboBox or ListBox.

21
Q

The advantage of the listCollection method…?

A

Is that the collection will be loaded incrementally; that is entries are loaded as the user scrolls through the list as ooposed to be loaded in one hit.

(This feature works well as long as the number of entries in the collection is in the region that a user would feel comfortable scrolling through. It is also most useful when the order of the collection is the order in which the entries are to be displayed, as setting the sorted property for the list box or combo box causes all the entries to be loaded).

22
Q

Where it is not pratical to load all collection entries into a list box or combo box consider…?

A

implementing some kind of browse facility.

23
Q

Both list boxes and combo boxes provide…?

A

a facility to organize data display into a tree or hiearchy structure.

24
Q

Where the volume of data to be loaded is low, it may be appropriate to…?

A

load a tree with all branches expanded.

(However, loading only the first level of the hirarchy can result in the significant performance improvements where the volume of data is large. Loading of the lower-level brances can be deferred until a particular node is expanded. In this case if a node is never expanded, the data need never be loaded.)

25
Q

The displayCollection method can be useful when…?

A

loading data from a collection into a table, list box or combo box.

26
Q

The advantage of the displayCollection method is that…?

A

only the number of entries required to fill the control are loaded and as the user scrolls down the table entries that are no longer visible are discarded. JADE handles the loading and discarding of entries automatically.

27
Q

Another approach to loading a table is to…?

A

load the table entries incrementally.

(This works well for searches where as a user may enter some keys value and the entries they are looking for a likely to be at the beginning of the list.)

28
Q

In both of the approaches, it is not pratical to…?

A

provide sorting from within the table as the table generally does not contain all of the search results at a specific time.

29
Q

When a large amount of data is being loaded into a form, there is often opport

A

werwef