The City Car Club
Before we engage in thinking about designing things, this is a good point at which to introduce the City Car Club (CCC). The CCC provides a running example that will be used through most of the following chapters to help illustrate various issues. While it is by no means the only example that will be used in these, it has the benefit that once described (here) it can be easily used without the need for lengthy explanations.
Very briefly, the City Car Club is a car-sharing system that will be operating within a city. We haven't said which one, so you can assume your favourite city when picturing it in your mind. The team behind the CCC will need extensive software support to make the venture work successfully, and an initial specification of what is needed is given below.
The Specification
The City Car Club (CCC) is an organisation that is planning to set up a car-sharing system that will eventually operate in different cities, and requires a software system to manage this. They will be trying out this idea for the first time in 〈your favourite city〉. CCC will provide a number of small ‘city-friendly’ cars that can be used by members of the club, who pay a monthly membership fee. When using a car, the pick-up and drop-off points must lie within a specified central zone of the city, although a car may go outside this area while it is in use. There will be some designated locations where cars can be left and collected, indicated by specially coloured hatching on the parking bays, and with these being protected by a lockable ‘fold-down’ post where it is necessary to stop others from using them. Cars may also be left in any other suitable parking area, including a number of supermarket car parks (approval has been obtained for this), but if a car is left in any other non-designated places, the club member who is leaving the car will be personally responsible for any parking fees or fines that might be incurred. A member will also be charged an additional fee if a car is left outside of the designated central zone.
The position and status of the cars is tracked using a GPS system built into each car. At any time each car will have a status, describing its availability, which can have one of the following values:
Unavailable – the car is currently in use by a member of the club, or has been identified by the support team as needing attention in some way.
Available – the car is available for use and can be booked by a club member.
Reserved – a member has requested use of the car, but has not yet taken charge of it.
CCC's central monitoring system will continuously record and track the position and status of each car.
To use a car (a ‘session’), a member uses their club id to access the central booking system, identifies a car that is available as well as conveniently positioned for their use, and makes a reservation, with a unique confirmation code being sent to them as an SMS text or in an e-mail. The reservation can be made using a laptop application or a phone app (these are provided when a member registers with CCC). A reservation automatically expires if a car has not been collected within 20 minutes of making the reservation, but it can be extended for one additional period of 20 minutes (the system prompts the member at the end of the first 20-minute period and gives them the opportunity to extend it). On reaching the car they have reserved, the member uses the unique code to open the car and to operate the ignition system, as well as to unlock the security post if one is in use. This can all be done by using either a small keypad that is provided to members by CCC, or by means of a Bluetooth link to the app on their phone or tablet. Entering the code starts the session, and from that point on the member is responsible for the car until they finish the session by locking the car and notifying the central booking system.
Billing for a session is based upon a formula that takes account of distance covered and the length of time the car is being used. Members can also add fuel to a car at a number of authorised agencies (including the supermarkets providing car parking) using a payment card that charges the fuel to CCC, for which they get credit. There is a ‘fine’ for leaving a car with an inadequate reserve of fuel in the tank (the fuel level is transmitted to the central monitoring system at the start and end of a session). As well as identifying where nearby available cars are located, the phone app provided by CCC can be used to locate nearby filling stations.
The support team of CCC can perform various ‘mobile’ tasks of maintenance, including fixing any problems with cars and retrieving any that have been left outside of the central area. While out ‘on the road’, they will use a similar set of apps to those provided for ordinary members, but with additional privileges (for example, allowing them to declare a car to be unavailable when they begin work on it, and available once they have finished).
In the longer term, once the system has been tested out in this first location, CCC plan to make their cars available in other cities. So the design of their software needs to ensure that this is adaptable for use in other places, in addition to the usual requirements for security, robustness and efficiency.
Highlighting the examples
To help the reader identify where the CCC has been used to illustrate an issue, the relevant text and any associated diagrams will normally be placed inside a separate shaded box as in the illustration below.
Of course, where we simply make reference to the CCC, rather than discussing how it might form an example of something, we will just do so in the normal text of a chapter.
Sketches versus diagrams
We will say more about what we mean by sketching later on, but it is worth pointing out here you will find that many illustrations and figures in this book have been drawn and lettered by hand (admittedly, not always very elegantly). This is because sketching is what designers actually do (Petre & van der Hoek 2016), and producing neat diagrams, of the form usually encountered in textbooks, often comes later, if at all.
So, when syntax and clarity are important, diagrams will usually be in ‘textbook style’, but when the issue is more one of thinking like a designer, then expect to get a sketch!