📟Using America’s Worst Transit App🤦🏼‍♂️

NJ Transit’s official app is packed with amazing tools that will turn your phone into a straphanger’s swiss army knife. As for accessing those tools, well let’s just say it feels like one of those surreal psychology experiments in the 60s before they had ethics boards. That’s why I made this complete guide, to get you on the bus, instead of on the phone with customer service. It also serves as a record, cataloging everything broken with the app.

Update: NJ Transit is improving, and this app is slowly getting better. As usability problems on the app are fixed, I’ll put a 🏆 Transit Triumph badge to commemorate the achievement.

For trains, this is easy. Just put in your origin and destination and voila! Buses, as usual, are more complicated. From Home, tap Buy Tickets->Bus and you’ll be confronted with two buttons. Route & Zone and Origin & Destination. Origin and destination looks like the more user friendly one, but it can be pretty tricky to use.

Open it up, and you’re asked to select an origin out of a suspiciously limited list of places. But let’s say you pick “New Brunswick”.

This is the list of possible destinations you’ll see. It’s the database used for ticket machines, but jerry-rigged to work on the app. The problem is that while these are the names of municipalities and geographic areas, zone boundaries usually don’t follow municipal boundaries. And the only way to locate the boundaries is by looking at the pdf schedule or trip planner. If you can’t be confident about your selection, try Route & Zone.

Route & Zone.
So, you open it up. You look for your route. Aaaand, it’s not on the list. (If it is, skip one paragraph ahead.) What’s going on?? You’re gonna be so mad when I tell you. Remember that zip code they made you put in when making your profile? Once you’ve done that, Route & Zone will only show you buses in North Jersey or South Jersey (depending on which the zipcode is in). (Except for some buses along the coast that are in both. It’s weird.) This also affects the options in Origin & Destination. So to fix it, you have to tap the profile circle in the top left, then tap User Profile, then change the zip code to one closer to the route you’re trying to ride. This zipcode filtering also applies to the origin and destination page, and there is sadly no way to turn the madness off and just see all the buses in New Jersey.

Okay, so you’ve got your route. Now you need to put in how many zones you’re traveling. If you’re not sure, consult one of my route guides. Or outside New Brunswick, look at the map or table on the pdf/paper bus schedule. Count the number of zone boundaries crossed and add 1. It’s not as high-tech, but it’s often easier.

Once you’ve bought your ticket, you’ll find it in My Tickets. (Bus tickets last 30 minutes once activated, so don’t activate until you see the bus.) On the ticket, it will show the number of the route you purchased it for. But I’ll let you in on a little secret: It doesn’t matter which route the ticket’s for. A 2 Zone Intrastate ticket on one route will get you 2 zones on any intrastate trip.

In fact, I only ever purchase tickets on one route, the 317. It’s 19 zones long and travels interstate, so it’s all I need. But there’s another more, shall I say, devious reason I do this.

As you might know, there are separate bus fare systems for North Jersey (more expensive) and South Jersey (slightly cheaper). But if you buy a 2 Zone Intrastate ticket for a South Jersey route, when displayed to the driver, it just says 2 Zone Intrastate, allowing you to buy the South Jersey one for 30¢ less. Muahahaha! It’s their fault for making it so easy.

Also, if I’m ever traveling with a friend, having all my tickets for one bus lets me activate both simultaneously and display them on the same screen.

As you might know, NJ Transit provides live location data for buses, which can be used by third party apps like Transit. However, the connection between the apps and the gps data feed can be awfully patchy. So if you’re not seeing the little realtime waves on your departure, there’s a good chance you can still see your bus’s location in the NJ Transit app instead.

Under Home, tap MyBus->Routes. Then pick your route, pick your direction, and then pick your stop out of a massive list with no search bar. (They’re also ordered not geographically, but alphabetically by their official names, so you’d better know the official name of your stop or you’ll be scrolling for a while.) Then, you’ll see a departure board. Click a departure, and finally you get to a map where you can see all the buses moving along the route. You can also tap on the stops and see their own departure boards, or search for other routes and stops.

Okay, but then if you can select routes and departures in the map, why did it take five clicks before they even let you see it? Beats me. But here’s the trick. It doesn’t matter which direction, stop or departure you click on. Just click the first one that pops up and that will get you to the map. (If it says “Stop Not Found”, scroll down and tap some other random stop.)

There is, however, a quicker way. On every bus stop sign, there’s an ID number. Open MyBus, select Stop, type in that magic number, and you’ll jump right ahead to the departure board. If your stop is one of the sad, unmarked ones, just click on it in the map to see the number. (Make sure you’re clicking on the right side of the street.) If you’re a commuter, you’ll have that number memorized in no time.

Reliability note:
While it’s always worth checking MyBus for your bus’s location, don’t get reliant. It has this glitch where, if the bus ever strays through a detour or even parks at a different layover point, it will just default to “No stop times are available for this stop at this time.” in terrifying red text. This sobering message also displays when a bus is coming, but just hasn’t turned around at the layover point yet. Worst of all, you’ll sometimes see the red text just because of a patchy signal.

Transit App doesn’t have these problems at all.
When a bus detours or there’s a brief lapse in the signal, it keeps the countdown going at the same rate as the schedule for about five minutes.
If a bus hasn’t reached it’s terminus and turned around yet, Transit App usually uses the bus’s gtfs block ID to match the bus to its returning trip and give a prediction anyway.
And when all else fails and no signal can get through, Transit simply defaults to scheduled departures shown in gray.

So when MyBus says your bus isn’t coming, most of the time, it actually is. Just think about how many would-be riders are lost because of this one usability failure.

Accessibility note: The realtime map is a trainwreck for screen readers. Maps are usually tricky, but this one is especially bad because each stop is encoded as a button, but with no alt text. There’s gotta be a better way.

This one’s easy. Click Schedules -> Printed Timetables. You can see all the trains there too.

The trick is not to click Schedules -> Bus, because it’s not actually a schedule viewer. It’s a jerry-rigged version of the trip planner that only shows buses, but only lets you input train stations and major bus terminals. So in other words, it’s unusable.

🏆 Transit Triumph Before 10/15/2022, the timetable viewer was buried under Rider Tools, and only had buses. Much improved!

For NJ Transit’s official trip planning tool, tap Rider Tools->Trip Planner. This trip planner is not exactly top notch, considering it doesn’t have a map, so the input and output are fully text based. Worse yet, the input is split between separate Stations and Address tabs. You’ll probably end up using the Address tab.

When you put stop information into a modern trip planner like Transit App, it usually shows your results as you type, effectively giving you feedback on how the computer will receive the input. But here, you just have to put the text in and see what happens. Sometimes it takes landmarks like “Passaic City Hall”. Sometimes it can’t even handle a street address. And since there’s no map, there’s no way to now what went wrong.

Okay, so then why would anyone ever use this garbage trip planner in the first place? Well, it does one useful thing that Transit can’t do, and that is showing you how many zones you’re traveling on each leg.

For a demonstration, let’s take a weekend trip from New Brunswick to Lakewood. We’re traveling 2 zones and then 7. The trip planner also shows the cost of the trip ($6.95), but it does so in a very unhelpful way. It takes the $2.55 for the 818, 75¢ for the transfer and $3.65 for the override fare on the 139, adding them all into one useless number. I bet the programmer who made this thought they were helping. Now to be fair, you can subtract $2.55 and 75¢ to get the override fare, but you may find it easier to just do it manually. Here’s a demonstration.

First, we’re traveling 2 zones on the 818, so under the North Jersey fare system, our first ticket will cost $2.55. Then, when we board the bus, we’ll ask for a transfer ticket for $0.75. Once we board the 139 in Old Bridge (which also has North Jersey fares), we use the transfer ticket to pay for the first zone. We’re traveling 7 zones to Lakewood, so that’s 6 override zones. Overrides are calculated by subtracting $1.60 from what the 7 zones would have cost if purchased as a ticket. $5.25-$1.60=$3.65, so that’s your override fare. Don’t like math? I made an override fare table just for you!

NJ Transit’s app has 4.1 stars on Google Play and 4.8 on Apple. So what’s the big deal?

Many of the issues highlighted above (such as zipcode filtering) are not a big deal once you’ve learned the secret trick. But that’s the problem.

For every person who figured out the zipcode trick, there’s another who figured “Well, I guess I can’t buy a ticket.”.
For every person who got to the tracker map, there’s another who gave up.
For every person who saw “No stop times” and knew better, there’s someone who believed it and got an Uber.
For every person who read “We were unable to find a trip.” on the trip planner and kept trying, there’s someone else who took it at face value.
These many hundreds of lost riders don’t leave 1-star reviews. They just leave.

So if you’re reading this, NJ Transit, you’ve got a long way to go with this app. Like, 19 zones long. But if you care about people being able to use your service, I know you can do it. And when you finally get around to fixing what I believe to be America’s worst transit app, I can’t wait to take this page down.