NEW ON CAMPUS / RURadar

Here comes THE BUS

By Francine Tardo RC’96

Unless you’re game for a long walk or a bike ride, attending a large University like Rutgers typically requires relying on transportation to commute between campuses for classes, meals and activities. And in today’s environment where there’s an app for everything, that includes being able to see when the next Rutgers bus is coming and from where.

When Rutgers student Tadhg Jarzebowski️ found the app used to track the campus buses difficult to navigate and frustrating to use, he took it upon himself to dive into uncharted territory and develop his own. The computer science major, scheduled to graduate from the School of Arts and Sciences in 2025, explained the development process, the feedback he’s gotten and why it’s important to continue to evaluate and improve the app’s performance.

Tadhg Jarzebowski️
Tadhg Jarzebowski️

What motivated you to develop RURadar?

I used the PassioGo app that was available, and I really didn’t like it. All the important buttons are hidden in a hamburger menu, the map’s zooming gesture is unresponsive (pinching to zoom in right after zooming in didn’t work), and important features – like the order of stops along a specific route, are completely missing. Menus pop up from every which direction, and while there are so many features in PassioGo, they’re all tucked away in menus that have no intuitive design or direction.I didn’t like using it, but I realized that I had the ability to do something about it, to make a user interface that was better.

How many downloads have there been to date?

A little over 1,600. I like to think of it as 4% market penetration, as there’s roughly 40,000 students at Rutgers’ New Brunswick campus.

What type of feedback have you received?

In terms of face-to-face feedback, I’ve gotten feedback from my friends and strangers who saw the shirt I was wearing. I made a long-sleeved shirt that has “Ask me about RURadar” in big letters on the front, and every now and then, people actually ask me about it.

I’ve solicited feedback from my friends, and I usually get pretty good advice out of them. One of them helped make me aware early on to make sure that my app worked in dark mode!

One guy gave me some really good insight on a part of the app that wasn’t clear to him — the route’s stop list, and I took it into account for the next update. Also, he pointed out some behavior on the map page that I am planning on making smoother in the next update.

Some of the other people that recognized the shirt were just pretty hyped that they had met the person that created the bus app they had on their phones. Also, some people have emailed me.

What was the reasoning for not accommodating multiple devices?

I did not want to use a cross-platform app development framework to make RURadar, as it would have turned out just like PassioGo. I wanted to make a native app, and I chose to make one for iOS because I, and nearly all of my friends, use iPhones. I still haven’t made an Android app, because it’s a lot of work, and I am not nearly as familiar with the intricacies of what makes the user interface of an Android app feel good in the same way I know what makes an iOS app feel good. RURadar is a personal passion project focused on making an app for me, for better or worse.

Part of the appeal of RURadar is how iOS specific it is. I decided to make the app for iOS devices because I have used iOS devices for the past 5 years, and know what makes a good iOS app. I’m not sure if I could even make a great Android app, as I haven’t used the operating system since middle school!

Looking back, is there anything you would have done differently?

I actually think it’s been really good so far. Even though I’m typically a perfectionist, this app proves to me again and again that shipping a good app (or update) with some missing features is absolutely the way to go. I have learned that most people won’t judge my app as harshly as I do — they’ll just use what I’ve already made.

I believe that the reason RURadar works so well is because I understand the buses on campus and understand what I want out of a bus app.

Did you face any challenges building the app?

Absolutely. I had exactly zero previous experience in developing any type of mobile application, and I’m taking on the project alone. However, Apple’s tutorials were pretty strong, and there is a gargantuan amount of YouTube videos, Medium articles, and StackOverflow questions that helped me learn more about Apple’s Swift language and SwiftUI as I developed the app. Notably, AI sources such as ChatGPT and Bard were notably terrible at helping me diagnose issues in SwiftUI. It consistently outputted code that didn’t make any logical sense, making up methods that didn’t exist, and clearly failing to understand how most of Apple’s user interface libraries worked.

Have there been any issues you have had to address?

Yes – I had a huge problem with my code that caused the app to become highly unstable after PassioGo changed a small aspect of how they reported bus ETAs. My app was crashing when opening any page in my app that displayed ETAs – which is most of them. I got an update out on the same day, but when people actually installed the update was completely out of my hands. I have some rudimentary analytics provided by Apple, and they report that there are still a number of people on very old versions of the app.

Any planned improvements?

Always!

The map page is the one that I definitely need to spend more time optimizing – things like making it more efficient, and handling slow and inconsistent internet connections. There are some small features I am looking into working on, like adding a way to “favorite” stops, and including little tutorial hints to tell users about some of the behavior of the app.

Lastly, I have really grand ideas about doing my own math for predicting ETAs, but there’s absolutely no roadmap on that – and it’s something that frankly, PassioGo has had much, much more experience in. As much as I hate PassioGo’s user interface, I can’t deny that they have a really solid back-end system (that RURadar is completely dependent on). It can handle thousands of students and does its best to predict ETAs in an area with horribly inconsistent traffic and road closures. It’s easy for me to say “oh I’ll just have it check Google Maps using their traffic,” or “oh I bet I could get more accurate ETAs if I just did X or Y or Z,” but it’s a large undertaking, and frankly, it’s a lot of work for a problem that PassioGo has essentially already solved.

What’s your current career aspirations?

Well, the easy answer is “software development.” However, that’s actually a pretty wide scope, and the true answer is that I want to make tools that people actually like to use. With my studies and the projects I’ve worked on in my free time, that translates to making websites and mobile applications. However, it’s not the medium that I’m making something in — it’s the process of understanding both the user, the data available, and how to make an interface that makes connecting those two things as seamless and easy as possible. No matter what devices people will use in the future, I’ll be making software and interfaces that people will love to use.

 

PHOTO CREDITS
Rutgers campus bus. PHOTO COURTESY OF RUTGERS
UNIVERSITY.

Rutgers student Tadhg Jarzebowski️.