a) Briefly explain why the Java virtual machine concept cannot easily be extended to increase the portability of human computer interfaces.
[Seen problem]. The Java virtual machine provides a common means of executing byte code on a variety of different platforms. This offers huge benefits in terms of the portability of Java programs which are, typically, summarised by the phrase "write once, run anywhere". However, this leads to problems for user interface designers. The look and feel of a Mac and a PC are quite different. The Help menu is left justified on a PC but right justified on a Mac. UNIX interfaces can also be quite different again. Any system that supports the development of portable human computer interfaces must, therefore, either automatically translate the bytecode into a form that supports the particular look and feel of the host system OR it must enforce a platform independent look and feel that does not resemble "native" applications on a particular platform.
b) Platform independent toolkits, such as Swingset, increase some forms of interface consistency but reduce other forms of consistency. Explain this apparent contradiction.
[Bookwork]. Platform indepdent toolkits increase interface consistency because they ensure that an application will have the same look and feel whatever platform it is bieng run on. If a company or an individual decided to move from PCs to Macs or vice versa then the user interface of the application would not change. There would only be minimal re-training costs and levels of expertise would be transferred. These benefits would also apply if users had to operate a range of platforms within their daily activities.
On the other hand, platform independent toolkits lead to inconsistency because they stand a good chance of being significantly different from other "native" applications running on a particular machine. The subtle differences between Mac and PC environments ensure that no single interface can be consistent with both styles. This implies that users will have to learn how to interact with native applications and then with a separate class of platform independent interfaces.
c) You have been asked to design the web pages of a major consumer electrical manufacturer. Briefly explain how you would ensure that all of these pages provide the same corporate image both today and in the future.
[Unseen problem]. There are two aspects to this question. The first concerns the technical problem of implementing a consistent user interface over a number of different platforms. The previous discussion has already identified some of the costs and benefits of each approach. On balance, I would avoid the platform independent approach until I was sure that more of the potential users were comfortable with toolkits such as that supported by the Swingset. The question refers to a consistent corporate image and not to an identical look and feel.
The second aspect to this question focusses on the problems of maintaining a web site "today and in the future". This implies the transfer of corporate design knowledge from the initial developers to subsequent maintenance teams. Most companies would employ a web-master who was responsible for this. They would coordinate formal review process for each subsequent modification. Some training in graphic design and human computer interaction would help. Keeping records of modifications and the rationale for major decisions is vital. Visual identity regulations and design style guides are important.
a) Why is it important that event handlers execute as quickly as possible in asynchronous, human computer interfaces?
[Seen problem]. Previous generations of interactive systems relied upon synchronous turn taking. The user typed a command, the system then executed it and the user had to wait until the prompt returned before they could issue another command. The user synchronised their input to the return of the prompt. In modern, asynchronous intercaces, users can select many different objects. They may use the keyboard in conjunction with the mouse and so on. As a result, users can generate large numbers of input events in a very short space of time. If event handlers do not exit quickly then the system may store a growing backlog of events that can only be processed once the handler has finished. This creates a situation in which the system may behave unpredictably as it "unravels" and processes the list of stored events. In
b) Briefly explain how low level input events are propagated from input devices through the operating system and a user interface toolkit to an application program. Illustrate your example by referring to the Java Abstract Window Toolkit (version 1.0 or 1.1).
[Seen problem]. Input devices, typically, generate interrupts. The operating system responds to these interrupts by calling appropriate device handlers. These in turn pass the events to the native window handlers shown in the following diagram.
The native windowing systems will then pass the events onto the AWT run time system and hence the application program.
c) You have been asked to design the user interface to a web based, seat booking system for a major international airline. Travel agents have considerable expertise in the existing application because they use it many times each day. Members of the general public may also access the new site. Briefly explain how the presence of novice and expert users will increase the complexity of your event handlers.
[Unseen problem]. These groups of novice and expert users may get most support through the provision of different interaction styles. These differences affect the complexity of the event handlers that must be implemented. For example, novice users from the general public might be provided with a simple menu driven graphical user interface or a form driven system in which navigation between fields might be performed through mouse selection. In contrast, expert users will become skilled in quickly moving between different areas of an interface. This implies the need for keyboard accelerators into menus and the fields of a form. The overheads associated with moving from the "home" typing position to a mouse are likely to be unacceptably high.
In a full answer, I would also hope for a sketch of a potential screen and, ideally, some pseudocode to illustrate the additional complexity of supporting both keyboard and mouse interaction with forms and menus.
a) Electronic gridlock occurs when users have to spend large amounts of time retrieving information from heavily loaded sites. Briefly explain how this combines with the unreliable nature of current communications networks to create usability problems for many users.
[Unseen problem]. Electronic gridlock is exacerbated by the unreliabile nature of the world's communications infrastructure because not only to people not know how long it will take to retrieva re mote file, they also have no guarantee that the transfer will complete successfully. This makes it both frustrating and expensive to access the busiest sites during many periods of the day.
b) Information saturation occurs when users have to spend large amounts of time browsing through a mass of potentially relevant data. Briefly explain how this combines with the unreliable nature of current communications networks to create usability problems for many users.
[Unseen problem]. Information saturation is exacerbated by the unreliabile nature of the world's communications infrastructure because there is no guarantee that the user will be able to locate the information that they are looking for before a remote site or communications link goes down. Under such circumatsnces, users may use frequent bookmarks so that they can retrace their steps if anything goes wrong. They may also save the results of large intermediate searches.
c) You have been asked to develop the user interface to a system that provides information about the stock that is currently held in over 900 record shops. The system responds to any user request by dynamically requesting information from each of the shops in the network. The user can list all of the items held in a shop. They can also search for particular recordings made by particular performers. The intention is that customers might also use the system and it is difficult to predict what queries they might issue. Briefly explain how you might go about reducing the problems of information saturation and electronic gridlock for this interface.
[Unseen problem]. There are a range of solutions to this problem. Some of these are purely technical. For instance, relevance feedback techniques can improve the precision and recall of any information retrieval system in the interface. Another approach would be to build user profiles of the information that individuals are likely to request. If these requests are going to take some time to satisfy then predictive caching might be used to transfer some of the information before it is specifically requested.
The previous approach might not work very well because the question states that it is difficult to predict potential queries. Alternatively, large sets of data may be translated in small sections rather than tranferring the entire results of a query at one. The user could then choose whether to see the first ten, first fifty or all hits at the same time... This illustrates the general principle of providing the user with a degree of control over the level of time that they invest in a particular retrieval task.
A final general approach is to provide the user with feedback about their request. If no results were obtained from a question or if a huge number were obtained then hints might be provided to help people improve their search "technique".
The current pricing structures for telecommunications services is the major impediment to the growth of mass-market computing in the UK. Discuss.
[Essay]. There are many different ways in which this essay question might be answered. The key argument for the question is that most UK telecommunications provides charge for local calls on a per unit basis. You have to pay for each minute that you are connected. This is a huge disincentive for interaction with the Internet. You cannot predict exactly how long it will take to retrieve particular pieces of information. In consequence, you cannot predict how much it will cost to retrieve particular pieces of information.
In the United States, most local calls are free once you have paid for your long-distance service provider. In other words, it doesn't cost you anything to remain connected to a computer network. As a result, parents are less concerned about the costs associated with their children using the computer to support "leisure" time activities.
There are some other barriers to mass-market computing in the UK: