jata – an Android transit app
Jata is an Android application that displays arrival times for buses and trains. It currently works with agencies that use the Clever Devices BusTime system. Specifically:
- CTA – Chicago Transit Authority
- CCCTA – Central Contra Costa County
- PSTA – Pinellas Suncoast Transit Transit Authority
- WRTA – Worcester Regional Transit Authority
Version 1.2.2 makes it easier to select routes by adding a route description on the routes screen.
More BusTime agencies can be added; read more below.
Jata’s goal is to quickly navigate to a transit stop, and see predictions for oncoming buses or trains. A Worcester user said “your app is more user friendly than the wrta’s”! There are several ways to navigate to the predictions screen:
- Select an Agency, then..
- Pick a Route, then a Stop from lists. or
- Pick a stop from a map. or
- Pick a Stop (or Route) from Favorites. or
- QR Code Scanner
Routes->Stops->Predictions. And, you get where you wanted to be, at predictions. To get there faster, save a stop as a favorite. You can save a route or a stop as a favorite with a “long click” on the item in the list. Normal flow is to advance to the next view.
Jata can display the stops for any selected route on a map. This can be handy when you are in unfamiliar territory, and need to find a stop. Tap on a stop icon to get the predictions for that stop.
QR Code Scanner
Some agencies (WRTA for one) post QR code signs at stops. The code is a link to the BusTime web site, where you can see the predictions for that stop. A Barcode Scanner app will offer to open a browser to view the site. Jata can integrate with an optional scanner. The QR Scan button will open up the ZXing Barcode Scanner, if installed. If it’s not installed, you will get a dialog asking if you would like to install it. Once the scanner opens up and recognizes the code, jata will ask if you want to see the link in a browser, or try to display the predictions in jata. You can select the default action or disable the Scanner button completely in Settings. Side note: I recommend not to open the WRTA barcode results in a browser, as you could miss the bus waiting for the web page to open! Jata is much quicker. Also, if it happens that there is no network connection, the browser might happily display the cached copy left over from last week rather than alert you there is no connection.
Long Press Navigation
On the Routes or Stops screens, press and hold (Long Press) an item to Add/Edit Favorite, See on map, or check for Service Bulletins.
If you select Check for Bulletins from a long press menu, jata will request service bulletins for that map or stop. This is an example from CTA.
Settings (more than you want, or should need to know).
Access the Settings screen by pressing the menu key on your device or from the Action Bar if your Android device is Android 3.0 or higher and has no menu button. I have to assume that Android 3.0 phones have a way to display the Action Bar without building an action bar into jata. The settings screen is not very pretty. You should be able to stay away from it most of the time.
Here you can ask jata to “phone home” and look for an updated agency list. Jata is able to work with any agency that uses Clever Devices BusTracker and will will distribute a “key” to an application developer. If you know an agency that you want added to jata, comment on this post, or email jata. Stillwater will try to keep this page and the online database current for any new agencies added.
Enable QR Scanner
You can enable the QR Scanner button, and select a default action for scan results, or disable the scan button entirely. The default action lets you elect to open the result in Jata (only tested with Worcester’s transitmob signs), or just open in browser. If there are no QR coded Bustop signs, as there are in Worcester, you can disable the button. Or, you can leave it enabled, and if the default action is set to Open in browser, you can use it as a handy product code scanner for items at the bus stop news stand while keeping track of the bus.
Jata stores all “static” data in it’s own database, which it creates and updates every time it looks up a new route list or stop list. It does this to speed things up, and to conserve data bandwidth that you, the user, might be paying for. Routes and stops are “static” items, for some definition of static . They can change at any time, and jata cannot predict when they may change, so it is left up to the user to choose how often to check. Hence, the Check for changes item, allowing you to choose to check every day, or other periods up to monthly. The Next access choice allows you to force jata to re-check it’s cached data the next time it is needed, and is provided in case you learned through a Service Bulletin or other means that routes or stops may have changed.
Cache Info, Clear Cache
Cache Info will display the storage required for all the cached items, helping you determine whether to Clear Cache. You may want to Clear Cache if you are running short on storage (jata has been known to work OK after moving to SD card from Android’s Settings->Applications->Manage Applications->jata->Move to SD card button). Another reason would be if jata displays a message like “the parameter is incorrect”. See the footnote in Caching.
Backup and Restore allow you to copy cached data and favorites to and from an accessible location on external storage (SD card is assumed). This could be used if you get a new device, or need to uninstall or reinstall hata. Backup copies all cached data files without asking for confirmation and the results are displayed. Restore allows you to choose what files to restore from the backup location. The backup location is on external storage under jata. Example /mnt/sdcard/jata/favorites.db.
Displays general information and some help. Sort of a condensed version of this article.
About the Agencies database
- joe – Who wanted jata to be named jbus or JoeBus, or XTransit, before common sense was pounded into him.
- Clever Devices – Created and documented their API used to get real time info.
- stackoverflow, where the quality of questions and answers vary as broadly as… let’s say New England weather. Fortunately, stackoverflow answers (and questions) are voted on by users, and good results rise to the top. Also, unlike the weather, you are free to pick which solution fits your needs.
- Android Developers The canonical site for Android API documentation. Can be hard to interpret without the help of stackoverflow.
- EDUmobile Mobile Training who’s online course in Android programming helped get an Android developer up and running, and gave a brief introduction to Android programming concepts at a discount rate.
- ZXing Team provides an excellent Barcode Scanner application and a module to integrate it into your application.
For even more about jata, go to the jata development page.
- Some agencies like to randomly change/add/delete directions. The changes seem trivial, but create potential problems for jata’s database. When CTA changed from using “North Bound” to “Northbound”, jata would complain that there are no stops for a route in the “North Bound” direction, because the name was now “Northbound”. WRTA did the same thing just before release, but by then, jata could handle multiple direction specifiers. Another side affect is that jata needs to accept that a route might have 4 or more directions, because the Admins might decide to use “North” AND “North Bound” AND “Northbound” and possibly all caps versions of all above variants.↩