Take note: with the New ISB Network implemented from 19 July 2021, route information in this article is likely to be outdated.

A familiar freshman experience in NUS is having to get used to not producing your travel card to tap onto a reader as you board the ISB. Feels great to not pay for your ride, eh?

And then when you leave campus and board a public bus you have to get used to taking out your card again.

But there is (or was) actually an element of card-tapping in our ISB system, and in fact it’s crucial to the scheduling of the buses. Our bus drivers refer to this in Chinese as 打卡 (da3 ka3).

Starting a Trip

Before each driver starts a trip, they have to register the trip. Previously (until 2020), the driver had to physically tap a card onto a reader at the bus terminal. We have three terminals that were historically equipped with these readers: Kent Ridge Bus Terminal, PGP and COM 3 (then known as Carpark 11). In the interest of confidentiality, I won’t share what the reader looked like, but there was one inside each terminal.

By 2020, this process was digitised and bus drivers now “tap their cards” virtually with a phone app. However, as a matter of jargon, they still refer to the process as “card-tapping” even though a better description would probably be registering their trip.

“Tapping the card” tells the bus system that a trip on that route was started at that particular time. It also activates the GPS tracker on the bus that aids in locating the bus, which is integrated into the NextBus app. Note that this GPS tracker is always on, but the bus only appears in the NextBus app under the correct route when the trip has been registered.

This serves a multitude of purposes that are all interconnected. For a bus driver’s trip to be counted and logged in the system, the following must happen:

  • “Card” was “tapped” at the appropriate departure time (based on the system)
  • After “card tapped”, the bus passed through all stops along its route in the right sequence (based on GPS)
ece0a-D22Bschedule

The diagram above shows a sample schedule for a D2 bus in 2018, when the route was slightly different. It’s purely imaginary, and assumes that the driver has 25 minutes in between their trip-start timings.

The first trip in this diagram will start at 11am — the driver will tap their card at that timing, and the GPS in the bus will be activated. Then, they drive out towards PGP to start the route.

Each bus stop, represented by a blue cell in the diagram, is merely a waypoint. No timing is measured, so each bus stop can be reached any time between 1100 and 1125. They must be approached in sequence, though.

This also means that the driver can physically finish the route by checking in to the final bus stop at any time, but of course they have to be at the layover point before 1125, so that they can start their next trip.

Can we time-check each stop?

Some people have asked me — would it not be better to give each checkpoint a time and make the drivers adhere to it? This (or something similar) is done on public buses, with drivers asked to drive slowly or wait at bus stops if they are ahead of schedule, and speed up if they are behind.

However, it is utterly infeasible to ask buses to drive slowly or wait within NUS as our single lane roads are just too narrow. If a bus has to dawdle or stop because the driver is too early to arrive at a certain bus stop, it will cause congestion and hold up vehicles behind — including other ISBs who might be perfectly on schedule, or even late!

Public buses are able to do this because the roads they ply are wider and the routes are longer. Other buses and vehicles can overtake them on wide roads if they need to crawl; narrow roads usually do not last the entire bus route so a bus can go catch up on its crawling after exiting the narrow section. But in NUS, many roads do not offer places to overtake, and some stretches (like from AS 5 to PGP) do not even have bus bays for a bus to duck into.

The exception for ISB is Kent Vale (as of 2021). If buses plying routes E, K and BTC arrive earlier than the stated departure time at Kent Vale, they will wait at the stop until it is time to leave.

This is possible because the Kent Vale bus stop area is not heavily trafficked (other cars don’t use it as a main road) and there is enough space for other vehicles to pass a waiting bus. Previously, the Oei Tiong Ham Building foyer worked similarly, but nowadays it is the start/end of the BTC route and thus is better described as a terminal.

Schedules and Rosters

Schedules are prepared beforehand by our schedulers from the bus company, who issue a list of trip-start timings for each bus driver daily. They write the schedules according to frequency guidelines from NUS. Each bus sticks to its route group throughout the day, with a handful of exceptions (eg. buses who do E in the daytime and D1 after dinner).

Bus drivers in NUS either have a fixed bus or don’t. Drivers who have a fixed, allocated bus (“perm”, short for permanent) will stick to their bus and route throughout the day except for their meal break and fuel trip, so their list of start timings will reflect a gap for their meal time.

Drivers who have no fixed bus in a day take on the role of covering “perm” drivers during their meal breaks. As such, these drivers will drive many different buses and possibly many different routes each day. Of course, they have their own meal breaks as well, just at different timings. Since they start their day later at lunchtime, they are also often night-shift drivers.

This rotation of bus drivers is a reason why NUS needs as much information about the bus as possible for reporting of issues, if the bus driver is of concern. The plate number and route is not enough as we also need the time to determine who was behind the wheel.

Trip Intervals

The interval between all consecutive start-trip timings for each service logically determine the expected frequency of the bus service. Hence, in the example above, the frequency of bus D2 would not be 25 minutes – that is the interval between trips for each driver. The frequency of bus D2 would be simply the interval between any two consecutive D2 trips. However, this naturally assumes that each driver drives at the same speed, which is not the case. Thus, frequency of the bus may be slightly more erratic at stops nearer the end of the route.

As you can see, the end timing of bus trips is not governed by the system or schedule. Only the start of the trip is. This is why it was difficult for me to request certain things, like coordinating the end of A1 at the terminal with the start of the next A1 departing the terminal.

Some people requested that when I was in NUSSU in 2018, to reduce the waiting time for people choosing to ride past the terminal. But fact is, not much is stopping the first A1 driver from finishing their route early or late, so I cannot quite ensure that their passengers will alight just in time to board the second, departing A1.

Also, the interval between start-trip timings for each bus thus determines how long the bus driver has got to complete his route and have a break.

This is why, in the past, our bus drivers were often tempted to drive and finish their route quickly so they had more rest time at the terminal before tapping their card for the next trip.

The telematics devices now mitigate this tendency, while careful scheduling ensures that drivers still have adequate rest time for toilet breaks.

The GPS System

Finally, as I have mentioned, students should take note that the GPS system activated by card-tapping is also the system used to generate NUSNextBus app timings. In the event that timings disappear for a route, it does not always mean the route is not running.

It could be a glitch with the card-tapping system for the day. The same goes for “ghost” buses that do not appear on the app but suddenly show themselves in front of you.

7 thoughts on “ISB1101: Bus Scheduling

Leave a comment