6 (71)Copyright © Nokia Mobile Phones 2000. All rights reserved.2. GENERAL UI PRINCIPLES- Applications should interact with the user- User key presses should be acknowledged in some way. The application should always react to the key presses.- The UI should be as flexible as possible: if there are two ways to perform an action, you should allow the user tochoose his or her own favourite way.- All of the application functionality should be visible at all times- Indicate commands and controls that are available- If a command cannot be executed at one point for some reason, then the command should be dimmed.Sometimes, when the user selects a dimmed command, an Information Banner indicating ‘‘Command notavailable’’ can be displayed.- If a command cannot be executed at any time, it should not be visible in the UI at all.- The UI should be consistent across different applications and across other devices which operate on the sameplatform. This means for example:- Common dialogs (see chapter 9)- Common menu structures (see chapter 6.2)- Common shortcuts (see chapter 18.3)- Common CBA functionality (see chapter 5)- Common terminology (see chapter 13, chapter 14)- Common graphics (see chapter 10)- Common task flow, i.e. carrying out the same type of task should be similar across applications within the UI- Minimise the UI- Less work for the implementer and less work for the user. ‘Make it simple!‘- Hide the complexity, if complexity is needed at all- Common actions should be available with as few key presses and hand movements as possible- Do not frustrate the power users- Provide shortcuts- Let the user have control: do not over-automate- Provide feedback (see chapter 15)- Use Notes (see chapter 9) and/or audio feedback (see chapter 12) when it is not obvious what has happened- Avoid ‘‘flicker’’ when an application is redrawn; no part of the UI should flicker when the display is updated- Speak the user's language- Provide an undo functionality, that is, make things reversible (see chapter 16.5)- Allow swapping from one application to another. A given application must not block other activity- Allow cancellation of the operation at every stage- If you develop an application that is not going to be localised, make sure that you create all strings yourself. Donot take them from the system. This is because the operating system that your application runs on may well be in