Web Applications
Web and Native Applications
| Web Applications | Native Applications |
|---|---|
| Deployment and maintenance require deployment on a single set of servers | Deployment and maintenance are done on individual client machines separately |
| Web applications can be accessed from anywhere, meaning no location constraint | As the desktop is confined to a machine, they can be only accessed from the machines they are deployed in |
| Platform-independent, meaning they can work in different types of platforms with the only requirement of a web browser. | Need to be developed separately for different platform machines. (Windows, Linux, Unix, Mac etc) |
| Higher security risks as they are inherently designed to increase accessibility | Better authorisation and administrators have better control, hence more secure |
| Rely heavily on internet connectivity for their operation | Don’t require the internet for their operations (mostly) |
USABILITY
Usability describes how easy and pleasant an application is to use.
Five usability components:
- Learnability: ease of learning the system
- Efficiency: speed of completing tasks
- Memorability: ease of remembering how to use it
- Errors: frequency of errors and ease of recovery
- Satisfaction: how pleasant the system is to use
NIELSEN’S 10 USABILITY PRINCIPLES
- Visibility of system status
- Keep users informed through clear and timely feedback.
- Match between system and the real world
- Use familiar language, concepts and logical organisation.
- User control and freedom
- Provide clear exits, cancel options, undo and redo.
- Consistency and standards
- Use familiar layouts, terms and conventions consistently.
- Error prevention
- Prevent mistakes through careful design, validation and confirmation.
- Recognition rather than recall
- Make options, instructions and previous information visible.
- Flexibility and efficiency of use
- Support both beginners and experienced users, including shortcuts and advanced tools.
- Aesthetic and minimalist design
- Show only relevant information and avoid unnecessary clutter.
- Help users recognise, diagnose and recover from errors
- Use clear error messages that explain the problem and suggest a solution.
- Help and documentation
- Provide searchable, concise and task-focused help when needed.
HTTP
Locating Web Documents
To request for a web document:
-
IP address or domain name of host server
-
Port number that the web server program is listening on
-
Full name of the document being requested (i.e. path)
All three pieces of information are supplied to the web browser using a single string
called a Universal Resource Locator (URL).

Note: query and fragment are optional
- Query sends extra information to the server
- Fragment is not sent to the server, and only controls how the browser displays the page
URLs allow only unreserved characters: letters, digits, -, _, ., and ~. Other characters must be percent-encoded as % followed by their 2-digit hexadecimal ASCII code.
HTTP REQUESTS AND RESPONSES
- HTTP/1.0 and HTTP/1.1 are text-based
- requests and responses remain readable
Requests

An HTTP request contains:
- Request line
- Method
- Path (may include query)
- Version
-
Header fields
-
Empty line
-
Optional message body
Responses

An HTTP response contains four parts:
- Status line (indicates whether the server successfully carried out the request)
- version
- Status code and reason phrase (200 OK, 404 Not Found, 500 Internal Server Error)
-
Header fields
-
Empty line
-
Optional message body