The SmartPanel 'Bus Timetable' widget ¶
By: jw35 on June 29, 2018, 4:06 p.m.
Processing and displaying bus information is the most complex part of what the SmartPanel does, so the 'Stop Timetable' widget is worthy of detailed explanation. For your first SmartPanel layout you would be advised to stick to the Weather, Train Station or even traffic map widgets first, as they are simple in comparison.
The SmartPanel Bus Stop Timetable can be used to display the timetable in a number of different ways, not all of which are entirely obvious. This post points out some of the options. We explain the three Stop Timetable 'layout formats' first (i.e. Simple, Multi-Line, and Nextbus), and then explain the tricky concept of how to highlight an intermediate destination on the route.
All Bus Stop Timetables have some things in common, including a title that appears on the display, and the identity of the stop whose timetable will be displayed. Currently this has to be a single stop but there are occasions when displaying a timetable for multiple stops would be useful and this is something we might add in the future.
Normally the timetable will display the next few journeys that will be leave the stop. However this isn't useful if it takes a significant amount of time to get from wherever the SmartPanel is to the stop itself. To allow for his, the 'offset' allows you to shift the start of the timetable into the future so that for example it might start its display with journeys departing in 10 minutes time.
There are three different Bus Timetable layouts available Simple, Multi-line, and Nextbus.
The Simple layout is just that - it displays future journeys one per line showing timetabled and expected arrival time at the stop, the name of the route being followed, the name of the final stop on the journey and the expected time at that destination:
This isn't ideal for at least two reasons. Firstly this layout doesn't quite fit in a single column on a SmartPanel and so takes up quite a lot of space. Secondly, and more importantly, just displaying the route code and final destination doesn't help people who don't use buses regularly because they won't know where else they could go by catching any particular bus. For both those reasons you might want to ignore the Simple layout and use the Multi-line one instead.
Multi-line, at it's simplest, displays the same information as Simple but formatted so that it conveniently fits in a single column on a SmartPanel:
The power of Multi-line comes when you start adding 'Destinations'. Destinations consist of a friendly title and a list of bus stops. You associate bus stops with a destination either by selecting them individually or by selecting all the stops inside a geographic area.
You can add as many Destinations as you like to a timetable. For each journey, if the bus calls at any stops in any destination then the destination name and the expected time of arrival at the first stop in the area will be shown as part of the timetable entry. This is great for buses that pass through popular destinations (such as the City Centre or the Hospital) on their way to somewhere else and is particularly helpful for occasional bus users who don't have an understanding of Cambridge's bus network.
As an added bonus, if a journey has a final stop that falls in a destination then the destination name is shown on the timetable rather that the final stop name. By taking advantage of this, you can for example arrange for a journey to be described as 'To Hospital' rather than 'To Addenbrook's' which is probably a lot more friendly to visitors:
Nextbus displays work the other way round. For each of their destination they display the next two journey's going to that destination, showing timetabled and expected arrival time at the stop, the code for the route being followed, the final destination of the bus and the expected time at that destination:
Nextbus layouts need at least one destination, and they display them in the order they are defined.
Adding a Destination
Here we'll show an example of a destination (Cambridge Train Station) being added to a Stop Timetable widget.
The Stop Timetable widget layout in this example is Multi-line and shows the 'U' buses going from our local stop to Addenbrookes Hospital as their final stop, but in this case the widget is able to display 'via Cam Station' with an associated time for each bus.
To produce this display we actually pick up the full journey of each bus, and look forwards along the route to detect whether the bus goes anywhere near Cambridge Station so we can create the 'via' entry. You can take advantage of this capability by adding a Destination to your Stop Timetable widget (in Multi-line or Nextbus formats) and the SmartPanel will automatically process each bus displayed and work out whether/when each bus passes that destination.
A destination is quite easily specified as an area you literally draw on a map (e.g. City Centre, or a railway station, or Cambourne) but if you're dealing with a single bus and know which stop is uses in your area of choice, you can specify the destination as just that bus stop (essentially this is by the choose stops or choose area options on the destination config menu).
On the panel layout screen you click the spanner on the widget of interest, to configure that widget as usual. As below, we're going to edit our 'Stop opp. Gates Bldg' Stop Timetable widget so it can in include 'via Cam Station' messages.
The widget configuration page will pop up, and after setting the usual parameters we will click to add a destination. For a new destination you click the green (+) highlighted below, or if like me you have an existing destination you can update that entry by clicking the choose stops or choose area links next to it. Don't forget to give your destination a 'Title' so the widget knows what to put in the 'via' message.
We will define the 'Cam Station' destination as an Area on the map by clicking the choose area link next to the input box. As mentioned before you can also define a destination as a fixed set of stops, which is useful if you have a bus stop outside your office with only a single bus route and you know the stop you would like to highlight.
When the map pops up you can zoom in or out (with the + / - buttons top left) or drag the map around to get to the area you're interested in. Then you click the pentagon button top-right of the map (highlighted below) which will allow you to click on the map creating the area which will define the 'destination' on the widget. The area doesn't have to be particularly accurate but it must include a stop the bus will make on it's journey. For our example we will select an area near Cambridge Station that includes all the stops the buses use so we're confident the 'U' bus will stop at one of them.
On the map we click the 'polygon' symbol in the top-right corner, and then click on points on the map to define our destination area. In this case we are clicking a box around an area we know the bus will enter and stop at when it is near the station.
When you view your widget (i.e. on the resulting panel), you will see via Cam Station entries have been added for each bus that is expected to pass through the destination you have defined.
Adaptive Cities Programme, University of Cambridge
Last edited by: ijl20 on June 29, 2018, 6:51 p.m., edited 3 times in total.
Reason: added destination guide