Home Daily TimetableDisruptionsFAQPerformanceWeb CamVessel FinderHelp

FAQ and Other Stuff

About

This site shows the time of the next ferry departing from Cumbrae Slip. Pressing the green button swaps to the next ferry departing Largs. If you want select a given date or time, then click on 'Daily Timetable' which allows you to select different dates.

If you're using a smart phone, you should be able to bookmark the site to your home screen, and then it will look like an app, see help for more details.

There's an option to include the CMAL Web Cam in Largs on the page, but be warned that takes up a lot of data, maybe not a great idea on a mobile phone!

Page automatically updates every minute, if you're using this on your phone it might be doing this in the background and using your data, so probably best to close the browser once you've figured out that you've missed the ferry.

Bus Times - yup, click on the bus button, and you get the times of when the bus leaves the quayside stop, rather than the ferry time. There's also https://bus.cumbrae-benches.com if you want to bookmark it.

Who, What, Why, Where and When?

The ferry timetable for Cumbrae is easy to remember, every 1/2 hour in the winter, and every 15 minutes in the summer. Easy! Well, yes, apart from the start and end of the day, and the lunch break in the middle of the day, and the Sunday timetable. Reading the "paper" version of the timetable can be a bit confusing, so I decided to make it a bit easier for myself.

I decided I didn't want to copy out the CalMac timetable, and spotted that it can be boiled down to a pretty simple formula:

generateTimeTable(["08:15","09:15",
"09:45","10:15"],30,"20:15",[],["14:45"]);

That's an example of a winter timetable, with an irregular set of ferries at the start of the day, then repeated every 30 minute until a given time (with the option of adding another set of irregular times at the end), and finally any sailings that should be removed. Given that, it's easy to produce a timetable. An added bonus is that the Cumbrae departures are 15 minutes after the Largs departures!

First written in python and ran on a RaspberryPi in the house, but then migrated to php (as my webhosting company gives me php for free) so that anyone could use it.

Uptime Stats

for the last 30 days.

FAQ

Why Cumbrae? - easy, I live there!

Could you do other island timetables? - yes in theory, but most other CalMac timetables aren't as easy to capture as the Cumbrae one. So that sounds like a lot of hard work, if someone really wanted it, then I might have a look.

There's a CalMac App for this sort of thing? - yes but it just has a copy of the paper timetable.

The Web Cam! - that's a bit of fun, CMAL have a web cam on the top of the booking office in Largs, and they stream it on Twitch. I just embed that into the web page.

vesselfinder.com! - in non peak times when a lot of people want to get on or off the island, like a sunny easter weekend, CalMac will run two ferries, but not tell anyone. At that point the timetable goes out the window, and ferries go as quickly as cars and people can be loaded. The only way to tell that's happening is to sneak a peek at Vesselfinder, and see if there are two ferries plying their trade.

What about the Service Info? - the CalMac web site has a page detailing if the ferry is running a normal service. This site used to Web Scrape that page, but now uses the super secret CalMac json interface to get the data. (Thanks Liam). So, if there are any known issues it displays that info under the next scheduled ferry info. If you see "Normal service" all should be running to schedule.

This seems very complex - yes it is, but CMAL/CalMac seem not to want to provide this service - they have no API to allow you get a timetable, or see if a service is suspended. They should have a json API to allow developers to just get this info easily, but I can't find one, so I built it myself.

You don't have a json interface! - says who? :)

You're doing this for free? What's the catch? - it's a challenge, and it's "fun". If you find it useful, then you could always buy me a cuppa tea - https://www.buymeacoffee.com/cumbraebenches

Aurora Data - Hmmm, after the last ferry has departed, as a little present you get some info about the current Aurora forecast from the lovely people at Lancaster University

AIS FAQ

What is AIS?

Think of it as a bit like sat nav for boats.

But a little more detail please?

It stands for Automatic Identification System, many boats have an AIS transmitter that give details of their location, speed and heading. It can also give details of their physical size in the water.

By having a transmitter and receiver, then boats can "see" roughly where other boats are, and which way they are heading.

Boats can transmit their data over VHF radio and/or satellite link about once a minute.

So you have a AIS box?

No, there are a number of internet based services that aggregate all the AIS data from all around the world. They display all this data in a lovely map kind of way. https://www.vesselfinder.com is one such site, and we use their "plug in" to display the map on our front page.

So you use that to display the text about where the ferry it?

Ah, no. To get anything else but a map vesselfinder wants real money. We use https://aisstream.io which is free.

Sometimes the boat information disappears

It's free for a reason! aisstream.io doesn't seem to have the satellite data - it looks like it's just VHF data. That data relies on the transmitter and receiver to be pretty close to each other - about 10-20 nautical miles - and with nothing getting in the way. It also relies on some kind person receiving the data via VHF and then forwarding the info onto to aisstream.io via the internet. My guess is there's such a person in Largs Yacht Haven that's doing exactly this. However because Largs slip is not in line of sight of Largs Yacht Haven I think the AIS data is in a "data shadow". If no data has been received for more than six minutes, then the AIS data display is suspended, until new data is received.

I want to know more!

https://en.wikipedia.org/wiki/Automatic_identification_system

Small Print

Data for nerds: the most you should have to wait for a timetable, is abour 1.6 seconds - that's if you have no images cached, and the script has to go to CalMac to grab the Service Updates. However, the CalMac data is cached locallly for a couple of minutes (so they don't get too angry), and if you hit a cached version you could get lucky and see a result in 0.8 seconds. Each un-cached request is about 50Kb. Cached that drops to about 36Kb, so you're not going to be using too much mobile data. Oh if you stream the web camera, all bets are off - no idea how long, and how much data! But it will be Mb..

The data contained in the ferry times page should accurate, but please don't blame me if you miss a ferry.

Technically, some of the data here might be copyright? The data comes from the publically accessible timetable published by Caledonian MacBrayne. The current service status comes from the "Service status & info" from the Cal Mac website - https://www.calmac.co.uk/service-status?route=07

Weather Data:https://openweathermap.org//

Weather Icons:http://websygen.github.io/owfont/

There's no cookies or any tracking pish.