This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
HCI Human Computer Interaction can be defined as the way humans relate to computer systems. It is also the the study, planning, and design of what happens when you and a computer work together (Danino 2001). It refers to the implementing and designing of computer systems. It also includes the embedding of computer systems in all kind of designs and desktop systems. It is a large discipline, that doesn't only deal with the designing of the screens and menus. "Back in the 1970s, HCI was also called user interface or man-machine interface" (Hakansson, 2005). The term Computer refers to different kinds of technology and media. HCI when been discussed by practitioners in website design, they do not mean the computer used in accessing the website, but the website. It main objective is the effects on groups, companies and individual over time. "If the computer action is not in tune with the service command, problems will occur resulting in frustrated customers and angered employees" (McBride & Elbeltagi, 2004). It's broken down into three parts, the users, the computer and the way the user and computer work together. The user part doesn't mean a single user and a desktop computer what it means is an individual, group of people or series of people. The user is the one that is using the technology. The second part, the computers is referring to technology from desktop computers to big scale computers. Embedded system in a device can also be classified as computer. In terms of design for example website design, the website is classified as a computer. The third part, the interaction, "humans generally interact with each other through speech, but sometimes also with body gestures to display an emotion or to emphasize a certain point of view" (Lew, Sebe, and Huang (2007)). HCI makes it possible that both the humans and computers interact with each other successfully. In terms of website design, knowledge about humans and machine needs to apply when creating one. A reasonable balance needs to be created so that the website will be ideal for users. From a designer point of view, "HCI involves the design implementation and evaluation of interactive systems in the context of the users" (Dix, Finlay, Abowd, and Beale (1998)). It's a challenge when it comes to designing web application or website as the target is audience and the audience can be of anyone. The human use activity can be categorized into three aspects: PHYSICAL, COGNITIVE AND AFFECTIVE. From their book, they pointed out that "the physical aspect combines the study of human body mechanics and physical limitations with industrial psychology to reach a fit between human and computer and accordingly improving the performance and the user's well-being" (Te'eni, Carey, and Zhang (2007)). The PHYSICAL technologies in HCI can be generally be classified into input, output and other devices. These devices are arranged round humans' sense which includes vision: very important in computer age for example in a website design or web based application, the size of the texts, the images, the background-color of the application/website, the color layouts may affects users interaction with the computers. COGNITIVE aspects, is the way humans understands and deals with computers. Cognitive in HIC aims to "to reduce complexity of interaction" (Te'eni et al., 2007). AFFECTIVE in HCI, has to do with the emotions, feelings, satisfaction, attitudes and affective impressions. It makes the users' interaction experience more cheerful enabling the users to continuously using the machines because of the change in their emotions and attitudes. COGNITIVE AND AFFECTIVE in HCI goes together as they both bring about attitudes, and "attitudes can be seen to affect the formation of emotions" (Te'eni et al., 2007).
Each Human is with their habits, likes, perceptions, dislikes and so on. Things some human consider to be human friendly may not be friendly to another human, which makes it difficult to design a website. Designers try to use wide, global means to make it possible that all the styles and personal tastes of each user are met. Having a 100 percent perfect website is impossible, as their will be things that won't go the way the user wants it and there will always be user with unreasonable expectations. This is what now makes users research important that is gathering information about people that will make use of the website, how they are going to use it and how they react to certain designs. "A human-friendly website must anticipate what people intend on doing before they know that's what they want to do" (Paul Chin 2007). The total appearance and the structuring of a website that is "typography, layout, color choices, navigation, and information architecture" must communicate with the users. "If designers fail to connect visually with their target audience, users will easily lose interest and patience" (Paul Chun 2007). People like browsing and surfing web, not because they like browsing but because they are looking for experiences like learning, entertainment, communication and so on. They get angry and frustrated when their experiences is been cut short due to bad websites designs. For example the home page of Virginal DMV driving school http://www.5safepoints.com/ , a Christian website http://www.dokimos.org/ajff/ . This websites above is a good example of a bad website design, user are confronted with different labels, wrong layouts, wrong combinations of colors and so on.
Some techniques can be employed to maximize the retention of the users and make a website user friendly:-
Making the navigation self-explanatory
Organizing the website content by context
Avoiding cluttering the screen
Making the design consistent
Understanding the audience
Limiting the flashy things on the website and removing nonfunctional things from the website.
Good website designs create good experience for users. The main objective of HCI is to bring about "ease-of-use, operability, discoverability, simplicity, safety, utility, effectiveness, efficiency, accessibility, usability, and flexibility" (Stephanidis 2001)
"A server is a device with a particular set of programs or protocols that provide various services, which other machines or clients request, to perform certain tasks"(Kanika Khara 2011). Servers allow the transfer of data through networks that allows operating systems, applications, printing, file transfers, email and so on with other client computers. All the particular types of servers are defined by their software and configurations that allows them to make communication possible with other client intermediate computers. They are the one that provide computing powers at any network core, whether it is accessing a website, business communications, and distribution of computing power. Each and every types of server is been managed through a platform. They are always dedicated; they do not perform other tasks apart from their server tasks. There are different types of servers:-
Fax Servers: Used to reduce telephone services by faxing actual documents
FTP Servers: File Transfer Protocol, used to moved file securely from one computers to another.
Groupware Servers: Used to communicate between users on a virtual atmosphere, regardless of the location
IRC Servers: Internet relay Chat servers, used for chatting for seeking real time capabilities.
Mail servers: it as important as the web server, used to store and move email over cooperate networks across the internet using LANs and WANs
Proxy Servers: Another server in the web server, that filters request, improves performance, and makes the sharing of networks possible.
Web Servers: it's the most important out of all the servers, it loads static content, by loading a file from a disk and then pass it to the network to a user's web browser.
Application Servers: "Sometimes referred to as a type of middleware, application servers occupy a large chunk of computing territory between database servers and the end user, and they often connect the two" (Kanika Khara 2011)
The Web server and the Application server is the most important when it comes to website design.
As the web server is the one that responsible for taking the clients HTTP requests, and returning the HTTP response with optional data content. They are usually web pages and objects are linked to it. On each computer on the internet that contains a website, there is a web server present. "A web server is a piece of software that enables a website to be viewed using HTTP. HTTP (Hypertext Transfer Protocol) is the key protocol for the transfer of data on the web" (Ian Dickson 2012). When web server is been referred to, it means a piece of software installed on a computer. Web server needs to be installed on the development machine when creating a web application, so as to configure the environment to look like a live environment. Some of the features of web server are:-
Creating more than one websites, that is setting-up websites in the web server so that they can be viewed through HTTP
Configuring the website directory /Security that is what region can view the website, what kind of users can view the website
Creating a FTP(file transfer protocol) where files can be transferred from the website by the users
Creating a virtual directory and then mapping them into a physical one.
Creating and configuring a user error page
Specifying the default documents, that is, naming the default document that will be displayed when http://localhost is been open for example (index.html)
There are many examples of web server but this are the three most important:-
Apache HTTP Server: Also referred to Apache is the most popular web server since 1996, it's a free and open source server and it is been developed by "Apache Software Foundation". It is available on different operating systems like Linux, UNIX, windows, Mac OS X and so on. Example Tomcat
Sun Java System Web Server: it's based on the server on web server, it's designed for medium business application and it is available on most operating systems. Example Glassfish
Microsoft Internet Information Services (IIS): it's the second most popular; it is optional to windows operating system.
There are a lot of advantages of web server within the development stage that is when the website is still on the local machine that update can be made to the website before making it live.
It makes local website behaves like a live on by making it possible to be able to configure, test and so on.
Server side scripting languages can be used example PHP, JSP, ASP and so on.
It allows standardizing of codes that is root relative path can be used
It helps in gaining knowledge that can be used when it comes to live environment.
A software frame work that provides an environment, that application can run regardless of what the application do. It brings the business logic to users or clients by different kinds of protocol which includes HTTP. It is sometimes called the "Middleware" that is servers as a glue in between two applications, and it passes data in-between this two application. Its function is to deliver different kinds of application to different devices and it allows everyone to run the soft off the same machine. It adds to functionality of the web sites. It is always observed as a three part application, which is the GUI (graphical user interface) server, the business logic and the database server. It can be viewed through the front end that is through personal computer, through the middle that is through intranet server and through the database server.
It offers different advantages,
The application can be configure and modified, that is the database server setting or the system systems can me changed and moved
It saves cost when it comes to developing business applications.
Code integrity that is updates and upgrades are guaranteed for users by centralizing the business logic
It is safe
Increasing the performance of application when the usage is heavy.
It is responsible for the security and authentication of users, it serves and processes the HTML files, it compiles and process server pages files. Used in serving web based applications as application server contains web server internally. Examples of Application servers are "Sun Java Application server, weblogic server, Apache Geronimo"
Design is all about showing how beautiful something can be. "Design should extend beyond the technology and media that supports the digital community" (Paul Chin 2007). Users are not only interacting with a medium on a webpage, they are interacting with the other side of the medium. When it comes to web sites, the design of the website is one of the most important aspects. "Design is about exploring possible futures" (Lowgren 2008). When it website design, designers are not to impose their will through their designs as they are not the one who is going to use it, as it should be sophisticated enough to handle humans nature and diversity. As there are no disclaimers when it comes to design. Good designs are centered on the people who are going to use it.
SECURITY AND ISSUES
Website Security (web application security or webappsec) is a very broad field. Regardless of the functionality or technology used, many websites have security issues that need addressing. Web applications by their definition are websites that can be accessed over the internet using the HTTP protocol; because of this they have security issues. Though their security issue is well known, but fixing the issues is not always that easy. As the vulnerability of the web applications occur over and over again. As many developers when they are creating web applications do not code with security at the back of their mind. There are different ways by which websites can be attached examples are through:
Phishing: is the process by which attacker tricks the user of the web application into giving out their login information. This is done by creating identical page of another websites login page and sends the links to users through email, Facebook and so, telling them to login. If the user didn't check the link very well and logs in, the user's login information will be sent to the attackers. The only solution to this kind of attack is through user training.
SQL Injection: the aim of the attacker is to gain access into the database server. And start inserting spamming message into the database.
Click-Jacking: the attackers tricks users into clicking the submit links, it gained fame because of it attacker against Facebook and twitter.
Cross-Site Request Forgery (CSRF): The attackers trick users of the websites into carrying out attackers on their behalf. This happens when a user's logs in into their favorite website maybe facebook.com, then they visited a malicious without logging out of their favorite website, bad things can be done to the favorite website on the user behalf. The solution to this kind of attack is to issue a token to the logged in user.
Cross-Site Scripting (XSS): The attacker tricks users into executing codes from their website. This is done when the users clicks a pop up message box or something similar. What this attack does is that when a user clicks on the box, it steals the user's info for example the cookie on the browser and it can be used to impersonate the user.
It a literature review about a web application, a lot where covered from HCI, to Servers, to the Design of the web application, and the issues and security is covered to. Did see how HCI can be of good help when it comes to website design, by choosing suitable fonts, colors, the layout, how website can be built to be more interactive with the users, how users can understand and be able to enjoy their experience when visiting the website, different servers where mentioned and how they are of important when it comes to building web based applications, how the servers functions,. The web and application server been the most important server when it comes to building a web based application. How the design of the website needs to look like and how the design is supposed to be more pleasing to the users. Then the security and issues related to website design was talked about and how it can be avoided so as to make a website safer and secure for users.
A minimum computer system with Pentium 166 or better.
128 Megabytes of RAM or better.
Windows XP (or higher)
Java Virtual Machine.
98 Megabytes Disk Space.
O.S (Operating System) of 32 OR 64 Bits.
Notepad (Notepad++) / Java editor(NetBeans IDE).
Web Browser (Chrome, IE7, IE8, IE9, Firefox 3.6+, Firefox 4, Safari).
j2sdk1.4.1_02 (or later) / J2EE.
JSP / Servlets.
EJB / Struts.
SQL Server 2003 (or later).