Object Oriented Software Engineering   View all facts   Glossary   Help
subject > person or group > person > stakeholder > software developer > designer > user interface designer
Next designersoftware designer    Updesigner    Previous designerUML diagram designer   

user interface designer
subjectfact 
user interface designeralways defers to users by both asking their opinions and evaluating how they use prototypes2001-08-30 14:58:16.0
asks user's opinions2001-08-30 14:58:16.0
avoids modal dialogs because they force the user to constantly press 'OK' or 'Cancel' to move on to the next step2001-08-30 14:58:16.0
avoids technical jargon and acronyms in text2001-08-30 14:58:16.0
bases user interface design on user's tasks2001-08-30 14:58:16.0
chooses coding techniques with care2001-08-30 14:58:16.0
employs a skilled writer to write the text and a skilled graphical designer to create graphics2001-08-30 14:58:16.0
ensure that the user interface appears uncluttered2001-08-30 14:58:16.0
ensures that the user interface does not have too many pages, each with only a small amount of information, because the user will have to spend much time navigating and will become lost2001-08-30 14:58:16.0
ensures that the user interface only displays essential information, while allowing the user to request additional information by navigating to another dialog box, tab or page2001-08-30 14:58:16.0
ensures that everything that appears on the screen is understandable by all users2001-08-30 14:58:16.0
ensures that good labels are used so that all coding techniques are fully understood by users2001-08-30 14:58:17.0
ensures that if operations take up to 15-20 seconds, such as loading complex pages from the net over a modem-based connection, the user understands that they are naturally time-consuming and an indication of progress is shown2001-08-30 14:58:17.0
ensures that response time is adequate2001-08-30 14:58:17.0
ensures that response times are a second or less for operations such as saving most data, moving between windows, obtaining help, and obtaining the first feedback from any longer operation2001-08-30 14:58:17.0
ensures that the application mimics other applications2001-08-30 14:58:17.0
ensures that the system has different modes for beginners and power users if the system is complex2001-08-30 14:58:17.0
ensures that the system is usable by people with disabilities2001-08-30 14:58:17.0
ensures that the user always feels in control by being allowed to set system preferences2001-08-30 14:58:17.0
ensures that the user can always get out, go back or undo an action2001-08-30 14:58:17.0
ensures that the user can see what commands are available and are not available2001-08-30 14:58:17.0
ensures that the user can undo an action that may have changed data in the system2001-08-30 14:58:17.0
ensures that the user does not have to navigate anywhere to do subsequent steps of a task2001-08-30 14:58:17.0
ensures that the user interface does not use too many different colours, fonts or graphics2001-08-30 14:58:17.0
ensures that the user interface informs users of the progress of operations, changes of state, and of their location as they navigate2001-08-30 14:58:17.0
ensures that the user interface warns the user if the response time for an operation will be more than 15-20 seconds so the user can do something else while waiting or choose not to perform the operation2001-08-30 14:58:17.0
ensures that the user is not affected by information overload2001-08-30 14:58:17.0
ensures that the user is warned before they perform an action, if the action cannot be undone and asks the user to confirm an action if it can have serious consequences and cannot be undone2001-08-30 14:58:17.0
ensures that when something goes wrong, the user interface explains the situation in adequate detail and helps the user to resolve the problem2001-08-30 14:58:17.0
evaluates how users use prototypes of user interfaces2001-08-30 14:58:17.0
evaluates response time by testing on the slowest hardware that end-users are likely to encounter2001-08-30 14:58:17.0
follows look-and-feel standards2001-08-30 14:58:17.0
follows usability principles but not rely solely on them2001-08-30 14:58:17.0
internationalizes the user interface2001-08-30 14:58:17.0
is aware of locale-dependent features2001-08-30 14:58:17.0
is responsible for making sure that usability is kept at the forefront of the design process2001-08-30 14:58:17.0
is part of software development team2001-08-30 14:58:17.0
is a subtopic of 7.4 - The Basics of User Interface Design2001-08-30 14:58:17.0
is a kind of designer2001-08-30 14:58:17.0
makes the most important commands stand out by using large buttons, by being the first item in a menu or by being the leftmost icon in a toolbar2001-08-30 14:58:17.0
makes sure that elements are arranged in straight lines or several columns2001-08-30 14:58:17.0
performs use case analysis and designs the user interface based on this2001-08-30 14:58:17.0
provides good help system2001-08-30 14:58:17.0
reduces the amount of reading and manipulation the user has to do2001-08-30 14:58:17.0
should avoid fancy and unusual UI designs, and especially the design of new controls, because they will be more sensitive to changes2001-08-30 14:58:17.0
should not focus on the commands, fields and icons etc. that are needed because this approach tends to result in systems that do not fit the users' tasks2001-08-30 14:58:17.0
should not give the user too much to look at2001-08-30 14:58:17.0
should not invent new user interface controls because users will have to figure them out2001-08-30 14:58:17.0
should use simpler UI frameworks that are widely used by others2001-08-30 14:58:17.0
thinks about the sequence of activities the user will want to perform to get their job done2001-08-30 14:58:17.0
uses grouping, colour and fonts to help highlight the organization of information2001-08-30 14:58:17.0
uses similar layouts and graphic designs throughout the application2001-08-30 14:58:17.0
designercan create skeletons for the files that will contain the code2001-08-30 14:55:17.0
can learn from studying patterns2001-08-30 14:55:17.0
must find ways to reduce costs and increase benefits2001-08-30 14:55:17.0
should not design large systems until she has experienced a wide variety of software development projects2001-08-30 14:55:17.0
should study designs of other systems, including designs that have been found to be bad2001-08-30 14:55:17.0
software developerdevelops software2001-08-30 14:57:35.0
has goal rewarding career, recognition, or the challenge of solving difficult problems or by being a well-respected 'guru' in a certain area of expertise2001-08-30 14:57:35.0
is part of software development team2001-08-30 14:57:35.0
maintains software2001-08-30 14:57:35.0
may be judged on when they deliver product, not on its quality level2001-08-30 14:57:35.0
may be reluctant to develop new libraries, APIs and frameworks because
  • developing anything reusable is seen as not directly benefiting the current customer
  • If a developer has painstakingly developed a high-quality reusable component, but management only rewards the efforts of people who create the more visible 'final product', then that developer will be reluctant to spend time on reusable components in the future
  • Efforts at creating reusable software are often done in a hurry and without enough attention to quality. People thus lose confidence in the resulting components, and in the concepts of reuse and reusability
2001-08-30 14:57:35.0
may refuse to reuse components in which they lack confidence2001-08-30 14:57:35.0
most often works on custom software2001-08-30 14:57:35.0
must inform the project manager about any problems2001-08-30 14:57:35.0
must understand the customer's business environment, their problems and the available technology which can be used to solve the problems2001-08-30 14:57:35.0
often fails to adequately involve users in the development process2001-08-30 14:57:35.0
often has significantly less knowledge about modelling than about design and programming2001-08-30 14:57:35.0
often underestimates software development time because it is very hard for people to assess the quality of software or to appreciate the amount of work involved in its development2001-08-30 14:57:35.0
reuses libraries and APIs delivered with a programming language2001-08-30 14:57:35.0
should be rewarded for developing reusable components2001-08-30 14:57:35.0
should emphasize the use case or use cases which are central to the system, which represent a high risk because of problematic implementation, or which have high political or commercial value2001-08-30 14:57:35.0
should identify all the use cases associated with the software product2001-08-30 14:57:35.0
should not document a design only after it is complete2001-08-30 14:57:35.0
should not omit design documentation2001-08-30 14:57:35.0
should only reuse technology that others are also reusing2001-08-30 14:57:35.0
should realize that attention to quality of reusable components is essential so that potential re-users have confidence in them2001-08-30 14:57:35.0
should realize that developing and reusing reusable components improves reliability, and can foster a sense of confidence2001-08-30 14:57:35.0
should realize that developing reusable components will normally simplify the resulting design, independently of whether reuse actually occurs2001-08-30 14:57:35.0
should work for several months on a testing team; this will heighten her awareness of quality problems she should avoid when she returns to designing software2001-08-30 14:57:36.0
wants software that is easy to design and maintain and which has parts that are easy to reuse2001-08-30 14:57:36.0
stakeholdermust agree on requirements2001-08-30 14:57:46.0

Next designersoftware designer    Updesigner    Previous designerUML diagram designer