header page

Introduction

This book is intended for small to medium business owners who are specifying their requirements for commercial websites, whether setting up a website for the first time or updating their first-release website to current standards. This book allows them to specify the design of such websites so that they follow good practice in a wide range of features.

For each aspect of good practice, the background and history of that aspect is discussed and current good practice spelled out.

Commercial websites have a particular and specialised role of promoting the interests of the commercial organisation which they represent and consequently are distinguished from other web site forms, such as, for example, artistic website. An artistic website can be obscure, challenging to navigate, may hide certain of its features to the casual visitor and yet still succeed in its objectives despite (or even because of) these characteristics. A commercial website must, in contrast, observe good practice rules in order to promote the organisation's interests.

This book concentrates on good practice, not best practice, for a number of reasons. Firstly, "best practice" often involves high implementation cost and long lead times, whereas most commercial website owners are seeking to minimise each of these. Secondly, we have no desire to engage in the petty semantic wars which sometimes erupt in this area; it is of no benefit to the commercial website owner to argue the relative merits of "standard A" vs. "standard B". Thirdly, both the de jure and de facto standards for web design are evolving steadily, so even if we can agree on what is best practice, it will be tomorrow's good practice.

To illustrate a practical implementation of each of the techniques in this book, we have prepared a demonstration website, http://www.zabalu.com. The Zabalu website is a fully featured food information website, but one which has also been carefully prepared to illustrate the techniques (and their outcomes) discussed in this book.

The main subject areas discussed are:

The book concludes with a list of useful Internet resources relevant to each section and a detailed glossary of terms.

[...pages omitted...]

Text Size

The text size of a website is either established in an absolute or relative manner. An example of an absolute definition is, e.g. "12pt", which establishes the text size as 12 point. No matter what adjustments the site visitor might make, the text size remains at 12 point. This means that visitors to the site who are vision-impaired cannot adjust the text size to a comfortable size. An example of a relative definition is "0.75em". This establishes that the text is to be rendered at 75% of the size of the basic font. When text sizes are specified in this (relative) manner, the visitor can alter the size of the text through their user agent or browser. The Microsoft Internet Explorer web browser, for example, allow the visitor to alter text size across a five-point range from "Smallest" to "Largest" and the range of adjustment is quite reasonable. This adjustment will not change the size of text specified as an absolute size, nor does it resize any graphics, including graphics posing as text. The Opera web browser allows co-ordinated resizing of the whole page including graphics, but the reality is that this browser has not gained a significant market share.

Good Practice

Set all text sizes in relative units, allowing the website visitor to resize them in a relative way.

At Zabalu

All text sizes are set in relation to the "em", the font size of the relevant font. Thus, when the site visitor adjusts the text size rendering of their browser, all text, including headers and captions, is resized. The one exception to this is the principal page caption, which is rendered by an image. These images are rendered in 22 point font, so are quite legible at their standard size.

text size 1
Figure xx: zabalu.com showing a relatively small font size
text size 2
Figure xx: zabalu.com showing a relatively larger font size

Scripting Languages

Introduction

What we mean when speaking of scripting languages is any of those client-side scripting languages which allows enhancement of the user interaction after the page is initially rendered. These languages can substantially improve the quality of user interaction and many of the language techniques have become so common as to be both familiar and expected. For example, when you pass your mouse over a menu image on a website the image may be replaced by a complementary image which indicates that the menu item is available, and once clicked a further complementary image may be used. This is achieved by way of a scripting language. When a small sub-page with additional information is popped up, this is often managed by a scripting language. Equally, when a mortgage calculator is presented on a page, it will usually be implemented by way of a scripting language. Further, when you fill in a form on a website the validity of your inputs is often checked before the form is submitted by a scripting language. Each of these functions adds value and richness to the browsing experience.

The client-side scripting languages are typically Javascript, VBScript (Visual Basic Script), TCL or Java, with Javascript being by far the most commonly used.

For good practice design, we need to evaluate the additional contribution of these scripting languages against their downsides.

Techniques

The challenge brought about by scripting languages comes into play when they cannot be executed. This can occur due to a number of circumstances: When these circumstances occur one of two things can happen as a consequence, depending on the original design of the website. The first outcome is that the site visitor misses out on some minor functionality of the website, which might have slightly improved the website experience, but does not prevent the website from meeting its primary goal. The second outcome is that a fundamental aspect of the website is blocked to the site visitor and, consequently, the website does not deliver its goals.

Good Practice

The first option is acceptable design, but the second outcome cannot be considered as "good design". Consequently, we suggest that the golden rule for use of (client-side) scripting languages must be that they only be used for peripheral contribution to a website's functionality and not for any fundamental functionality. This will ensure, once again, the widest possible audience for our website's content.

At Zabalu

The Zabalu website makes use of a limited set of client-side functions written in Javascript, which take care of minor user interactions such as checking that, when the search button is pressed, some text has been entered in the input and rotating the logo each time a page is visited. Absence of these minor functional elements would not markedly detract from the website user's visit to Zabalu.

Site Search

Introduction

It is unlikely that you can accurately predict exactly what each visitor to your site is seeking. The navigation scheme which you have carefully designed will not serve every site visitor and the key words you have chosen will not meet every query. To ameliorate these problems you can (and should) provide a clickable site map (discussed in "Site Map") but also you can (and should) provide a site search facility.

Techniques

This can be approached in one of two ways: Research into searching habits has repeatedly shown that only a very small percentage of users make use of advanced search facilities. Site searches are still at a relatively primitive stage since they typically only search for text and not for meta data describing other objects (such as images or data) which might be embedded in the website. This may evolve with the development of the "semantic web".

Good Practice

Current good practice is to use a site-specific version of the major search engines, as these tools will be familiar to your site visitors. Advanced options should only be available by specifically selecting to use them, otherwise the basic search facility should work as a simple, case-insensitive text search. Where you have large databases incorporated into the site, these need to have custom search facilities. Good practice may evolve to include searches which encompass non-textual data.

At Zabalu

Zabalu uses our own site search software, which we can adapt and control with some precision. Nevertheless, the general appearance of the site search software output is quite similar to that of the major search engines, and advanced searching is only available as an option after basic searching.

The very large nutritional database is provided with its own, specific searching facility,

searc page
Figure xx: search results at zabalu.com

[...pages omitted...]

Where Next?

The complete series of Business Process Management e-books is as follows:

The series is available at the following website:
http://www.modulus.com.au/

Modulus provides tools, applications and services to consultancies and website developers. For more information contact Peter Hill, peter.hill@modulus.com.au.

[...pages omitted...]