Preamble
Abstract
The brief was to develop a "smart ticket", ie a device that somebody could carry around with them, input the required start and end point, and receive directions to their goal. The approach adopted can be broken down as follows:-
- The user will have a hand-held device (HHD) with a browser on it
- The user will use the browser to view the user interface
- The HHD will send the users' requests to the gateway
- The gateway will pass the user's requests to the server
- The server will activate server-side programs to process the requests
- The server-side programs will calculate the optimum route
- The server-side programs will translate the optimum route into English
- The server-side programs will create a browser-viewable page to hold the translated route
- The user will use the browser on the HHD to view the reply.
This thesis will look at each of these elements in turn. It will then look at how the thesis proceeded and make a note of what went right and what was done when things went wrong. Finally, it’ll consider possible developments in future and draw conclusions.
Design Principles
This thesis will adopt the following design principles.
- Small is better than big: Many small programs are preferable to one big one.
- Simple is better than good: Simple code that covers some cases is better than complicated code that covers all cases.
- Now is better than then: A program that can do some of what you want now is better than one that can do it all in a month’s time.
- Cheap is better than expensive: Cheap equipment that works is better than expensive equipment that works.
- Don’t keep a dog and bark for yourself: If a program already exists that does some of what you need, use it.
- If you don’t have to do it, don’t do it: If the system will still work if a part is not done, then don’t do that part.
- Separation of concerns: split the task into logical parts and devote a program to each part.
Adoption of these principles should result in small programs making up a system that can be implemented before deadline and which makes logical sense.
Style notes
- This thesis will adopt the passive voice (eg "this was done" as opposed to "we did this" or "I did this").
- Use of the present tense will mean September 2001.
- The thesis is divided into two parts: sections and appendices. The sections will take a more generalised view and the appendices will contain the fine detail. Readers who only need to know the broad brush strokes will only have to read the sections
Acknowledgements
Thanks are due to the following:-
- My supervisor Jeff Sanders for his unfailing enthusiasm & guidance.
- Craig Tranfield & Iain Collier at Support for coming up with a server just for this thesis.
- Oege DeMoor for allowing me to file the serial numbers off his "planner" program.
- Gavin Dodds of e-mu.net for advice when the CGI module didn't work.
- Theodore Judlin for his "get them to pay for it" idea.
- Harry Doyle of Redeye.com for the burp.