|
Introduction.
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.
|