Good Interface Design (2.1.a)
It is important to design user interfaces well, so that the software is simple and intuitive to use. When designing the user interface, 4 factors should be considered:
- Who the software is for
- What information needs to be conveyed
- The circumstances under which the interface will be used
- The effectiveness of the communication
Analysing User Interfaces - Examples (2.1.b)
Facebook for Android - Menu Based
- The interface uses large buttons because Facebook is often used on a touch screen, and fingers are big compared to the screen.
- New information fills the screen, so that it is easy to read.
- Icons are used instead of text, as there is very limited space.
- Three key functions (update status, upload photo, and check in) "stick" to the top of the screen all of the time.
- There is space for colourful images that friends have shared, to maintain user interest (as the purpose of Facebook is for leisure).
- The "form" to type a status update into comes pre-filled, to indirectly tell the user what to type into it ("What's up, name?").
Google Accounts - Form Based
- Parts of the form fields are pre-filled (e.g. the username ends in @gmail.com).
- Fields are dynamically validated, and feedback is instantly given to the user.
- When a text-box is selected, help pops up about the characters accepted ("you can use letters, numbers, and periods).
- Icons are used to help the user recognise inputs (for example, the union jack next to +44).
Types of Data
- Boolean - this is either true or false.
- String - a string can be anything, for example a number or a name. If a number is stored as a string, mathematical functions cannot be used (e.g. if $a was a string, then $a + 1 would return an error)
- Integer - a whole number. Alphabetical characters cannot be stored as integers.
- Floating point - also known as a "float" for short. Any number, including whole numbers, can be stored as floating points.
- List - lists are several pieces of data which can be accessed individually. For example: birth could hold the day somebody was born, birth could hold the month, and birth could hold the year. Individual items in lists can normally be any data type.
Data Capture Form, Screen, and Report Layouts (2.1.b)
These questions are often very mark heavy (8-12 marks), and there is lots of low-hanging fruit - for example, there will be marks awarded for giving the form a title, and making sure there are submit and reset buttons. The question also often contains a checklist of the fields which should be in the solution - make sure the type of input is suitable for the data the user will be filling in - by using dropdowns, checkboxes, and radio buttons, and explaining why they're appropriate.
It's also important to use all the space on the screen as efficiently as possible - there's often a mark for use of space. Finally, make sure all the form fields are big enough - it's a good idea to give an extreme example, for example "Super Chocolate Cake with Sauce" for a recipe form.
Data Requirements (2.1.c)
n.b. - this is effectively a summery of 2.3.*, and is not about the data a program requires (but about the types of data - for example strings and integers). For revision, see 2.3.3 Records & Files.