chesterbr / toronto-transit-time

A Pebble watchface that shows when the next streetcar/bus/subway will arrive in Toronto

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Toronto Transit Time

A Pebble application that shows bus/streetcar arrival time predictions for nearby stops in Toronto.

aplite   routes   predictions

It supports all Pebble models - including Pebble Time Round:

routes   predictions

Download

Click here if you are on your mobile phone to install the watchapp (or just to get more info).

Alternatively, you can search for "Toronto Transit App" on the Pebble Time app.

In any case, there is no need to install any companion app, or preload/configure anything. Just install and run.

Rationale and Development Process

This blog post is a deep dive on how the initial idea ended in this app, and on why things were done in this particular way.

Structure

The /app directory contains:

  • The C code of the main application that runs on Pebble (with separate files for the routes and predictions windows and layers, plus a splash screen layer that is shared among them).
  • The JavaScript code that runs on the phone and provides location and internet API request/parsing services to the C app.

The /server directory contains a Rails app that:

  • Pre-fetches the stops from the TTC system.
  • Exposes an endpoint that receives a pair of coordinates and returns the closest stops and the routes served by each of those stops.

That back-end is used only to get the routes/stops list. Check its README for setup informaiton.

Predictions and service messages are gathered directly from the TTC back-end by the watch (from the C app, via the JavaScript app).

Credits / Acknowledgements

  • @cabello for the JavaScript tips and contributions.
  • @bwinton for the color icons.

Also thank you...

  • @bani for help with images, app name and Pebble development resources (not to mention having a physical Pebble Time Round, which forced me to support it 😭).
  • People on the pebbledev Slack for general guidance on my first Pebble app.
  • Toronto Transit Comission (TTC), for offering a service I am pleased to use, and for publishing the APIs that made this application possible.

Legal

The stop locations and predictions come from the TTC Real-Time Next Arrival service. The app or its authors do not have or claim to have any affiliation with the Toronto Transit Commission (TTC).

About

A Pebble watchface that shows when the next streetcar/bus/subway will arrive in Toronto

License:MIT License


Languages

Language:Ruby 47.3%Language:C 35.4%Language:JavaScript 10.5%Language:HTML 4.9%Language:Python 1.7%Language:Dockerfile 0.3%