HESPERIAN : the World @web
||  home : : careerZONE : : travelZone : : gallery : : archives : : WHITEPAPERS  ||

 
Introduction.
[Chapter 1 of MSc Dissertation]

What is Student.Manchester™?

Student.Manchester™ (pronounced Student dot Manchester) is an interactive guide to the city of Manchester aimed at the sub 30 year old demographic. The guide in the form of a web site is designed to provide information about the city and its amenities in an easily accessible and stimulating format. On the content side the site provides information about Bars, Clubs, Restaurants, Cinemas, Accommodation, Travel, links to information about Manchester and a ‘portal’ to the rest of the Web via links to the search facilities of Yahoo and Excite.

What Student.Manchester™ really is, is an investigation into web site design and construction with the purpose to create a prototype system that can be ported to cover other geographical zones with relative ease. The project covers areas as diverse as interface design, graphic design, typography, search systems, the integration of differing technologies, marketing, market research, browser technology and compatibility and copyright law.

Knowledge at Start of Project.

Going into this project the knowledge of the author consisted of experience using HTML (HyperText Markup Language) to the 3.2 standard with Netscape and Microsoft extensions, some basic knowledge of JavaScript 1.1, basic use of image processing applications (PaintShop Pro) and the use of FTP (File Transfer Protocol) applications. Some web site design issues have previously been dealt with in both a web site for Kingston University Caving Club (Allen, M(1).1998) and a group project undertaken in the MSc Computing module, Interactive Multimedia Systems, titled "Interactive Guide to Web Design." (Allen(2). 1998).

 

What is the Web?

The World Wide Web (WWW), which also known as the web is part of the Internet. The Internet is a global resource connecting millions of users that began as an experiment over 20 years ago by the U.S. Department of Defence. While the networks that make up the Internet are based on a standard set of protocols (a mutually agreed upon method of communication between parties), the Internet also has gateways to networks and services that are based on other protocols (Kroll and Hoffman 1993). Other ‘parts’ of the Internet include FTP (File Transfer Protocol), Telnet, Email (Electronic Mail), Usenet (also known as Newsgroups; a world-wide noticeboard), gopher (used to search for and retrieve files) and WAIS (Wide Area Information Service; also used to search for information).

The web, is a network of servers on the Internet: each of which host one or more web pages (also referred to as home pages) which provide information and hypertext links to other documents on that and other servers (Shnier 1996). Developed in 1989 by Tim Berners-Lee at the European Laboratory for Particle Physics (CERN), it was first implemented on a NeXT Workstation. The web was originally intended as a method of sharing scientific information in a paper document based format that would also include graphical images. Web pages are viewed via browsers such as Netscape’s Navigator and Microsoft’s Internet Explorer, which download documents from the servers and render them on a users computer screen.

A web site is a collection of web pages held at the same host (e.g. www.nasa.gov), a host may contain a number of servers linked together to form a whole entity for presentation to the outside world.

In October 1994 the World Wide Web Consortium (W3C or W3) was founded to lead the WWW to its full potential by developing common protocols that promote its evolution and ensure its interoperability. It is an international industry consortium, jointly hosted by the Massachusetts Institute of Technology Laboratory for Computer Science [MIT/LCS] in the United States; the Institut National de Recherche en Informatique et en Automatique (INRIA) in Europe; and the Keio University Shonan Fujisawa Campus in Japan. Initially, the W3C was established in collaboration with CERN with support from DARPA (Defence Advanced Research Projects Agency) and the European Commission (W3C 1998).

The Development Environment.

A number of tools were used in the development of the Student.ManchesterÔ web site;

  • The site has been developed on a PC running Windows95 and a Sun Sparc station running Sun Solaris 2.5 with Motif X windows and is accessed via a server running NCSA 1.5.
  • For HTML, Javascript, Java and Perl coding a selection of simple UNIX and Windows95 text editors were used. Whilst working on UNIX, ‘Text Editor’ was used. Whilst working on Windows95, Microsoft’s Notepad, NoteMaid (Kent H.) and Super NoteTab (Eric G. V. Fookes) were used.
  • Macromedia’s Dreamweaver (www.macromedia.com) was used to speed up the process of arranging frames, tables and some JavaScript behaviours due to it’s easy to use WYSIWYG (What You See Is What You Get) interface, furthermore it does not alter source code, as other editors tend to do.
  • Much of the graphical elements have been produced using Adobe PhotoShop (www.adobe.com) and Macromedia Fireworks. GIF animations were created in Alchemy Mindworks GIF Construction Set (www.mindworkshop.com).
  • Whilst investigating additional technologies, use was made of Macromedia’s Director and Flash software packages.
  • The site’s features have been tested on;
    • Netscape Navigator 3.0 and Navigator 4.0 running on Windows95, Sun Sparc stations running Solaris 2.5 and a Silicon Graphics machine running Irix 5.3..
    • Internet Explorer 3.0 running on Windows95.
    • Internet Explorer 4.0 running on Windows 3.1 and Windows95.
    • Opera 3.21 running on Windows95.
    • Amaya, HotJava and Lynx on a Sun Sparc station running Solaris 2.5.

 

Languages Used.

A number of Web languages have been integrated into this project;

    • HTML.
    • JavaScript.
    • PERL.
    • JAVA.

1.5.1 HyperText Markup Language (HTML).

HTML is the basic building block language of the web, the current specification stands at version 4.0. It is a document-layout and hyperlink-specification language that defines the syntax and placement of special, embedded directions which are not displayed but tell a web browser how to display the contents of the document, including text, images and other supported media. The HTML standard and all other web-related standards issues are developed under the authority of the W3C. Standards specifications and drafts of new proposals can be found at http://www.w3.org (Spainhour & Quercia 1996).

Tim Berners-Lee originally developed HTML as a subset of SGML (Standard Generalised Markup Language) while at CERN in 1990. It was developed as a means of publishing documents that would be portable across the many operating systems and hardware platforms in use over the networks at that time. Popularised by the Mosaic browser developed at NCSA (National Centre for Supercomputer Applications), during the course of the 1990’s its use has flourished with the explosive growth of the web. During this time it has seen a number of proprietary extensions from both Netscape and Microsoft, some of these have even been incorporated into subsequent specifications.

HTML 2.0 (November 1995) was developed under the aegis of the Internet Engineering Task Force (IETF) to codify common practice in late 1994. HTML+ (1993) and HTML30 (1995) proposed much richer versions of HTML, but despite never receiving consensus in standards discussions, these drafts led to the adoption of a range of new features. The efforts of the World Wide Web Consortium's HTML working group to codify common practice in 1996 resulted in HTML 3.2 (January 1997).

HTML 4.0 (July 1997) extends HTML with mechanisms for style sheets, scripting, frames, embedding objects, improved support for right to left and mixed direction text, richer tables, and enhancements to forms, offering improved accessibility for people with disabilities. It is sometimes referred to as Dynamic HTML (DHTML) due to these improvements.

This version of HTML has been designed with the help of experts in the field of internationalisation, so that documents may be written in every language and be transported easily around the world. One important step has been the adoption of the ISO/IEC: 10646 standard as the document character set for HTML. This is the world's most inclusive standard dealing with issues of the representation of international characters, text direction, punctuation, and other world language issues.

HTML 4.0 also offers greater support for more effective indexing of documents for search engines, higher-quality typography, better text-to-speech conversion, correct hyphenation, etc.

Version 3.2 of the HTML specification has been used as the main building block of the Web site. The reason for this is that HTML 4.0 is only supported by Netscape Navigator 4.0 (also known as Communicator) and Microsoft Internet Explorer 4.0 and then it is interpreted slightly differently in each one. As earlier versions of both browsers are still in widespread use, in addition to other browsers, use of HTML 4.0 would alienate a large proportion of the potential audience.

Though the HTML 3.2 standard has not been strictly adhered to; for example frames have been used, as have some Microsoft and Netscape specific extensions this has been accounted for and most browsers and platforms are catered for.

1.5.2 JavaScript.

JavaScript is a lightweight interpreted programming language with rudimentary object-orientated capabilities (Flanagan(3) 1997). Client-side JavaScript is embedded into HTML documents and allows ‘executable content’ to be distributed across the Internet. Originally called LiveScript it was developed by Brendan Eich at Netscape Corporation in 1995: version 1.0 was incorporated into Netscape Navigator 2.0.

Syntactically the core JavaScript language resembles C, C++ and Java, however the resemblance ends there. JavaScript is an untyped language; variables do not need to have a type specified, it is also interpreted rather than compiled. JavaScript can be used very effectively to control browser behaviour and provide for rich content, but it cannot draw graphics or perform networking: however it can work with and control Java applets in a Web page.

Microsoft Corporation has implemented JavaScript its own JavaScript version called JScript. Unfortunately JScript fails to satisfy the full Netscape implementation and alternatives have to be found to make code compatible with Internet Explorer. In 1996 Netscape submitted JavaScript to the European Computer Manufacturers’ Association (ECMA), a standards body, which in June 1997, after some input from Microsoft produced the ECMA-262 standard (also known as ECMAScript). The standard closely resembles JavaScript 1.1 but is not exactly the same, the standard can be downloaded from http://www.ecma.ch/stand/ecma-262.htm (Negrino and Smith 1998).

Table 1.5.2-1. Browsers and the JavaScript version supported (after Negrino and Smith 1998).

Browser

JavaScript Version

Netscape Navigator 2.0x

1.0

Netscape Navigator 3.0x

1.1

Netscape Navigator 4.0x*

1.2

Microsoft Internet Explorer 3.0x

1.0

Microsoft Internet Explorer 4.0x

1.2

*All versions of Netscape Communicator include Navigator 4.0.

JavaScript has been used to detect for different browsers, enable drop down menus, co-ordinate the display of certain documents, open new windows among other activities. JavaScript version 1.1 has been used, as it is supported by the bulk of the browsers currently in use. Less enabled browsers will also be catered for.

1.5.3 Perl.

Perl was originally developed nearly a decade ago, by Larry Wall as a scripting language for UNIX, aiming to blend the ease of use of the UNIX shell with the power and flexibility of a system programming language like C. Perl quickly became the language of choice for UNIX system administrators (O’Reilly 1998).

"Perl is an interpreted language optimised for scanning arbitrary text files, extracting information from those text files, and printing reports based on that information." (Gundavaram and Christiansen 1996)

Perl also is an untyped language, used mainly to simplify connections between components and provide rapid application development. The concept is to "leave the details for later." Since scripting languages are generally good at calling system utilities to do the dirty work, for instance, copying files and building directories or file folders, the details can be handled by some small utility.

The advent of the web has resulted in an explosion of Perl usage. The Common Gateway Interface (CGI) provided a simple mechanism for passing data from a web server to another program and returning the result of that program interaction as a web page. Perl quickly became the dominant language for CGI programming.

1.5.4 JAVA.

"A simple, object-orientated, distributed, interpreted, robust, secure, architecture neutral, portable, high-performance, multithreaded and dynamic language." Java as described in one of Sun’s early papers (Flanagan 1997).

On the 21st September 1995 the programming language Java was unleashed into the world by Sun Microsystems. Soon thereafter support was announced for it by Netscape and subsequently (though reluctantly) by Microsoft (though there is currently a legal dispute about exactly how much Microsoft’s products actually do support it).

As the main design criteria for the Java language was that it could be written once to run anywhere. It has thus been designed to support applications that will be deployed into heterogeneous network environments. In such environments, applications must be capable of executing on a variety of hardware architectures and must execute atop a variety of operating systems (Windows 95, NT, Mac OS, UNIX etc.). To accommodate the diversity of operating environments, the Java compiler generates bytecodes, an architecture neutral intermediate format designed to transport code efficiently to multiple hardware and software platforms. The same Java language bytecodes will run on any platform.

"The Java interpreter can execute Java bytecodes directly on any machine to which the interpreter and run-time system have been ported" (Gosling & McGilton 1996).

The designers of Java chose to use a combination of compilation and interpretation, technology based on that used in the SELF language. Programs written in Java are compiled into machine language, but it is a machine language for a computer that doesn't really exist. This "virtual" computer is called the Java Virtual Machine (JVM). The machine language for the Java virtual machine is called Java bytecode. An interpreter is used to run Java bytecode programs. Of course, a different interpreter is needed for each type of computer, but once a computer has a Java bytecode interpreter, it can run any Java bytecode program and the same Java bytecode program can be run on any computer that has such an interpreter. This is one of the essential features of Java: the same compiled program can be run on many different types of computers.

On the Web Java programs are commonly encountered in the form of Applets. An applet is a mini-application, designed to be run by a Web browser or some other ‘applet viewer.’ Applets differ from regular applications in a number of ways:

  • The first and most important is that they are completely untrusted unless accompanied by a sound digital signature (and then only a few restrictions may be dropped).
  • As part of the security restrictions an applet is not in control of the thread of execution, it simply responds when the browser tells it to.
  • An Applet is also not allowed to enter time-consuming (or infinite) loops.

The Common Gatway Interface (CGI).

This is a standard by which browsers can communicate with servers. With CGI the Web server can invoke an external program, while passing user specific data to the program (such as input submitted from an HTML form). The program then processes that data and the server passes the program’s response back to the web browser.

It enables web pages to be created on the fly, based upon the input from users. CGI scripts can be used to create a wide range of applications, from surveys to search tools and graphs generated from a user’s input. As all the processing is done at the server end it can be used to provide content that a browser itself can’t generate as long as it is in HTML format.

Any language can be used to create CGI scripts e.g. C, Modula-2 etc, but the most common is Perl.

The Design Process.

The design of the project has undergone a number of phases:

At the start of the project each phase was worked through in the order presented. As work progressed phases were returned to in order to re-evaluate and strengthen design implementations. This more holistic method of project design is most akin to the Interactive Prototyping method.

The function of early prototypes is to refine the objectives of the system. The prototype then becomes the object of communication betweent the designer and the users. Requirements can then be clarified in the light of the design possiblities presented (Boyle 1997).

Overview of Dissertation.

The dissertation is divided into nine chapters;

  • Chapter 2 is a review of the design and content of current web guides to Manchester and web sites around the world.
  • Chapter 3 discusses the process of researching user’s need and their hardware/software capabilities.
  • Chapter 4 looks into the browsers that are used to view the web.
  • Chapter 5 is a discussion of the design issues affecting the web today and the choices made in the design of the site.
  • Chapter 6 explains how certain parts of the site were implemented.
  • Chapter 7 discusses the search engines in use to search the web, strategies for improving a site’s rankings and the design of the search engine used on the site.
  • Chapter 8 is a discussion of how copyright law affects web designers and users.
  • Chapter 9 is an evaluation of the site and a discussion on what could be done next.

 
©Martin Allen 2001-2008 All rights reserved :: sitemap :: request_info :: feedback :: view_CV ::