Web Applications

Web and Native Applications

Web ApplicationsNative Applications
Deployment and maintenance require deployment on a single set of serversDeployment and maintenance are done on individual client machines separately
Web applications can be accessed from anywhere, meaning no location constraintAs 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 accessibilityBetter authorisation and administrators have better control, hence more secure
Rely heavily on internet connectivity for their operationDon’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

  1. Visibility of system status
  2. Keep users informed through clear and timely feedback.
  3. Match between system and the real world
  4. Use familiar language, concepts and logical organisation.
  5. User control and freedom
  6. Provide clear exits, cancel options, undo and redo.
  7. Consistency and standards
  8. Use familiar layouts, terms and conventions consistently.
  9. Error prevention
  10. Prevent mistakes through careful design, validation and confirmation.
  11. Recognition rather than recall
  12. Make options, instructions and previous information visible.
  13. Flexibility and efficiency of use
  14. Support both beginners and experienced users, including shortcuts and advanced tools.
  15. Aesthetic and minimalist design
  16. Show only relevant information and avoid unnecessary clutter.
  17. Help users recognise, diagnose and recover from errors
  18. Use clear error messages that explain the problem and suggest a solution.
  19. Help and documentation
  20. Provide searchable, concise and task-focused help when needed.

HTTP

Locating Web Documents

To request for a web document:

  1. IP address or domain name of host server

  2. Port number that the web server program is listening on

  3. 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:

  1. Request line
  • Method
  • Path (may include query)
  • Version
  1. Header fields

  2. Empty line

  3. Optional message body

Responses

An HTTP response contains four parts:

  1. 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)
  1. Header fields

  2. Empty line

  3. Optional message body