Imagine tens of thousands of smartphones flashing in unison in Arizona Stadium, in sync with the crowd chanting the Wildcats to victory. Imagine being stranded by the roadside and using your mobile device to help you locate the fuse box in the crammed engine compartment. Imagine sharing a photo album on your iPad, swiping through photos together with your friends at the same time, except each of you is on a different continent.
These apps, and many more designed to make our lives easier, safer or more enjoyable, could soon become reality thanks to the work of students in the class of Jonathan Sprinkle, assistant professor in the Department of Electrical and Computer Engineering at the UA College of Engineering.
The course is the capstone project course for computer engineers, and this year's project focused on smartphone programming for engineering solutions. Working in small teams, 33 students produced 13 apps, including software capable of mapping potholes, analyzing driving habits, translating handwritten notes into computer code and hiding secret messages in pictures.
Sprinkle required his students to tackle the full potential of modern mobile device technology, and to come up with true engineering-based projects rather than information-based projects.
"This means they couldn't just adapt existing information for display on a mobile device," Sprinkle said. "Rather, they had to create an app that makes use of one or more of the phone's sensors, like the GPS, the camera, the microphone or its acceleration sensor to enable the phone to do something it couldn't do before and that has the potential of commercialization."
One team looked to nature for inspiration: Fireflies have been observed to synchronize their light signals when gathering by the thousands, resulting in entire trees or even a stretch of forest flashing rhythmically.
"Our app is for people who want to use their smartphones to make something happen together without a leader who coordinates everything," said Jin Bai, a master's student in electrical and computer engineering, explaining that in addition to applications in entertainment, such as iPhones flashing in unison or sharing content in real time across continents, the app could enable computers, autonomous vehicles or satellites to work independently, yet coordinated as a team without the need for a controlling agent.
The potential for commercialization is an important aspect of the course, Sprinkle said.
"It's different from a traditional engineering course where someone might tell the students, this is the project you have to do, now go do it. Of course, there is a lot of value in that – but this course includes entrepreneurship. The students are simultaneously developing the intellectual merit of their app and whether someone would want that app. They have to think about what the customer wants in the end."
"Because they're working in an academic setting, we want to make sure our students own their intellectual property," Sprinkle added. "We leave it up to them if they want to try to successfully launch their app."
"The class is fascinating, because you're not just writing computer code ... it teaches you the steps you need to do actual software engineering," said Justin Offett, who together with fellow engineering major Anthony Anderson developed AutoFile, an application that helps motorists locate the oil cap or identify engine components. "Neither of us had made any apps before. We went from the initial design all the way up through the different processes and the different analytics, to the finished product.
"It was very similar to what I think the industry does and what the industry wants," said Offett, who graduated this spring with a bachelor's degree in electrical and computer engineering and is heading to Virginia to start his career at Lockheed Martin.
"Instead of teaching the students how to write code for a specific mobile device platform that might be obsolete in a few years, we teach them how to go about the overall software engineering process," Sprinkle said. "It gives them a tool for lifelong success."
The students have to make sure their apps can run on a broad array of devices, Sprinkle said. They have to determine the tests they need to do to satisfy those requirements and they have to run code to make sure their app works every time, all the time.
Such cross-device compatibility is vital for STEGO, an app that hides secret messages in plain sight. It was created by Sriharsha Mucheli and Abhishek Pandey, both master's students in electric and computer engineering.
"STEGO works a bit like invisible ink," Mucheli explained. "The technology embeds a watermark inside an image using some mathematical functions on the pixels. This way, an invisible watermark can be hidden without any visible traces of it in the image."
Although not fully mature yet, STEGO could one day be commercialized to help photographers track image use and hide messages and transmit information disguised as innocent-looking pictures, Mucheli said.
"They say that a picture is worth a thousand words. But what if the words in a picture are worth a thousand dollars – or more?"
As part of the course, the students produced videos about their apps. This one illustrates an app designed to help engineers in the development of driverless vehicles. To see videos about the other apps, visit the YouTube playlist.