Student-developed CyRide app makes debut on app stores

A student-developed portal for navigating CyRide, Ames Ride, was recently released on the Apple and Android storefronts, giving residents of Ames an alternative means of monitoring their rides.

Patrick Demers, a senior majoring in software engineering, said he spent at least 150 hours working on the project since September 2022.

“Like a lot of students at Iowa State, I’ve just been frustrated since my freshman year with the terrible options that exist for seeing where the bus is,” Demers said. “The website that CyRide has is phenomenal. It’s old, it doesn’t look great, but it can always reliably tell you where your bus is at.”

Demers said he began inspecting the code and how the website worked so he could reverse engineer it and build his own front end for it based on the same data.

He said while the MyState app’s CyRide section operates off the same data and has few technical differences from his own version, Iowa State and CyRide sometimes lack the manpower to maintain the Android version of the app.

He said there is a lot to manage, so even with the Apple version of the app, things can be put on the back burner.

“So as I was developing it, I was placing a lot of emphasis on making sure that it’s reliable and fast,” Demers said. “Because when you’re using a bus app, there should be nothing complicated about it. You just need a simple portal to be able to find out where your bus is.”

Demers said his goal was to create an app that is easy and painless for students to use.

Demers said CyRide and Iowa State were both supportive of his efforts in creating Ames Ride. He said he was unsure whether he would hear from Iowa State’s legal teams, but that CyRide’s head of technology was more than happy to help answer questions.

Demers said he used a programming framework called React Native, which allowed him to build the application so that it would work on both Apple and Android.

“So that’s beneficial because you only have to write the code once,whereas for MyState, let’s say, if they want to add some new feature they have to write at once for the Apple version and once for the Android version, which really just increases the overhead for maintaining an app,” Demers said.

Demers said using React Native allowed him to just focus on writing the code that actually powers Ames Ride.

Demers also pointed out that he made the app open source, meaning that the code is public and accessible.

“Anybody is able to go online and view the source code; they can submit changes to it to add a new feature or if there’s a bug somebody else is able to contribute to that,” Demers said. “So my hope is that if there’s different software engineering students, or just students in general at Iowa State, that are interested in contributing to it, they have that ability to do so.”

Demers said he is not doing anything proprietary, so all the help he can get is appreciated. He also mentioned that the app includes no collection of location metrics or data of any kind.

Courtesy of Patrick Demers

Demers said getting Ames Ride published on the app stores was easier than he had assumed. He said with the Google Play Store, he was able to get the app published within 24 hours with no rejections or problems. Demers said the Apple store was a bit more complicated.

“I think I went back and forth with them four times before I was able to get it published,” Demers said. “One time I was rejected for being spam, according to them. I don’t fully understand that one.“

Demers said another attempt was blocked because he had not provided a custom message explaining why the app was requesting location services, and he was rejected for going against Apple’s legal terms and services.

“Thankfully, they in general provided fairly good clarifications on what needed to be modified to be to be in compliance,” Demers said. “And their response time was within 24 hours, usually, so typically, less than a week from trying to get on the Apple Store to actually being live.”

Demers said as he has gone through college, he has picked up a lot of good information, but it is harder to put together a big project to actually be proud of.

“So personally, I think when you’re trying to develop your own skill set or going out to employers and trying to find a job, being able to show that you’re passionate about something matters a lot,” Demers said.

Jordan King, a junior majoring in architecture, said while he has only been able to use the app for a short time, the bus schedule included in the app has been accurate and he has not seen anything not work.

King said one nice aspect of the app is it allows users to select certain routes or stops that they plan on using, similar to the MyState app, but when users select a certain stop, the app shows all the buses that would be coming through, allowing users to pick whichever might get them where they are going the fastest.

“So far, it has been functioning better than the MyState-CyRide app,” King said. “I haven’t had any sort of trouble with like stops not loading or schedules not loading so far. Whereas the MyState app could often have that happen, especially during times where I really needed it to know when I can get home.”

King said another quality of life change in Ames Ride is indicators on the bus icons that allow users to see which directions the buses are heading.

“So that was really nice to know, to be able to actually know which way I’m going to be heading instead of like ‘Oh, maybe this is north or maybe I’m going south,’” King said.

People interested in the app can follow these links to the Apple or Android stores and inspect the open-source code on GitHub.