The software must do what the user expects the software to do.
If you make software for an ATM Kiosk, then the user is expecting to be able get money out of the kiosk.
The user needs must be considered in the planning stages and the user must be given an opportunity to look at the design and to provide feedback on how good it will work for them.
user interface (UI) = is the way humans interact or engage with a computing device, handheld, laptop or desktop
device interface = every computing device has an interface that people use in order to 'work' the device
interaction with the device could be clicking a mouse, sliding a finger across a screen, talking to or listening to the device
usability = how easy it is to use
inclusivity = a sense of belonging, can participate. Include community, culture as well as
accessibility = "To allow people with and without disabilities to benefit from the same services" source
UI includes input controls; buttons, text input boxes, radio buttons, check boxes, drop down lists
UI includes navigation controls; breadcrumbs, sliders, search fields
UI includes information components; tool tips, progress bar, message box
Graphical user interface (GUI) suitable for target audience
if a target audience is 5 years old, large pics, not much text, bright colours
if a target audience is 55 years old, small pics, text, normal colours
match the interface to the users (target audience)
Logical and hierarchical organisation of content
UI should be well set out, not cluttered, easy to follow, large sites should have a sitemap for hierarchical organisation
UI should have a flow that is easy to understand. Small sites should have a menu system that is named using common names (logical organisation, eg About Us, Contact Us, Home etc
Let things go where they are expected to go.
Relevant help features of a graphical user interface
usability; people will be able to use the website more effectively with the following;
a search function
a site map
breadcrumbs
inclusivity;
language choice,
cultural sensitivity (images in one culture may not be liked in another culture),
gender neutral or specific
accessibility;
font resizeable,
alternate text for images,
screen readers (software that vision impaired people buy to be able to 'read' the screen)
choose colour blind friendly colours (not red and green together)
Software has different memory and cpu intensity.
Rendering 3D on a computer uses much more CPU and memory than typing into a small text editing program.
It would be unwise to run 'high end' software on 'low end' hardware as it will crash.
When making software, it must be designed to match particular hardware. These are listed in the technical specifications when purchasing the software.
In making the software how much time is needed.
How many programmers are working on the project.
Testing must be in this development time to ensure that the software works as intended.
Keep track of all timing using project management scheduling software such as GANTT charts.
It is important to match the software to the hardware.
If software is made that demands 8 Gb of RAM and it is on a computer that has only 2 Gb of RAM, there will be problems.
This is called hardware/software compatibility.
When advertising the software, the technical specifications must be listed.