Three years ago, Richard Lucas, A&S ’15, never imagined that he would be able to build an app for Android, much less that he’d have a job lined up at an app development company after graduation.
Throughout high school and up to the beginning of his sophomore year of college, Lucas had not been involved in computer science at all. He came into his sophomore year having taken mainly classes that were a part of the Boston College core curriculum, intending to become a history major. A four-year member of the BC track and cross-country teams, Lucas had never really considered, nor found time for, learning about programming.
“I’d always thought development was only for crazy smart people, and to be honest, I was intimidated by it,” Lucas said. Out of growing interest, however, Lucas began learning to code during his free time and took an online class about the programming language Python.
“I got a late start, considering I started my sophomore year of college,” he said. “But if you’re even remotely interested in computer science, there are so many resources online that can teach you to code.”
During the fall of his sophomore year, Lucas decided to give computer science a shot and took a CS101 class at BC, in addition to his regular course load. “The assignments I did in CS101 as well as the lectures with Professor [Robert] Muller would often leave me mind-blown,” he said. “No other class I’d taken at BC before had done that,” Lucas said.
After thriving in the introductory level course Lucas moved onto CS102 in the spring, the course in which he learned Java, the language for Android development. Although the computer science department at BC is small in comparison with other major colleges and universities, Lucas argued that the professors are very helpful. He is currently pursuing his own independent study within the program.
With his interest and knowledge in computer science growing, Lucas decided he would try to develop and release an app for Android during the summer prior to his junior year. He knew he wanted to build an app even before he had the idea for it, and began by doing basic Android tutorials online to learn the platform. For Lucas, developing an app was more for the sake of gaining knowledge and experience in Android development. Lucas believed he would be more motivated to learn if he had a finished product to achieve, rather than just doing constant tutorials.
“I didn’t have an internship that summer, so I treated it like a nine to five job,” Lucas said. “I actually worked in my room all day and then slept in a tent outside my house at night, so that my work and resting place were two separate spheres.”
After learning the basics of Java, Lucas decided on an idea for his app and began developing, which took approximately six weeks of intensive work. The app, which is called NetLive, allows users to track data usage on their mobile devices and targets the apps that are the biggest consumers of data. In this way, the app is helpful to people who want to cut down their phone bills by conserving data and optimize the performance of their phones.
“It was my first app, so I wanted to do something simple,” Lucas said. “That way, I could say I’d designed, developed, and released and app that summer rather than just started to work on one.”
NetLive tells users what apps are using data and provides a live feed of how much data these apps are using, combining total upload and download features. In this way, NetLive allows users to monitor their Internet data transfer rate while displaying which app is currently streaming the most data.
“The idea behind it is fairly basic,” Lucas said. “I wanted transparency into what my device was doing, and to know when it was actually transmitting data. For instance, when you’re walking around campus hopping between Wi-Fi networks, NetLive can help you diagnose connectivity issues.”
The app doesn’t do any logging of total data usage, since this feature is already built into Android, but it monitors data usage live. Many people currently do not have unlimited data packages, as many networks do not offer unlimited data anymore. With NetLive, users can target data-hogging apps that are constantly updating in the background. Seeing how quickly your data is coming in can also display the speed of the network. Lucas’ app is geared more toward technical people who care about those kinds of things.
Lucas released the app for free through the Google Play store on Aug. 22, before coming back to school for his junior year. Upon its release, the app quickly received 33,000 downloads and has since tapered off to around 15 per day. Considering that he developed NetLive mainly to learn Android development, Lucas confessed he did not expect the app to be so successful. Lucas had publicized the app on Reddit, and since its release it has been featured in software reviews by websites CNET and Lifehacker. For now, the app can only be installed on Android.
“There are other apps that have similar features but I combined them all into one that at a glance shows you the active app and the speed, focusing on convenience for the user,” Lucas said. “Even with the other apps out there, I thought I could fill a niche that they didn’t fill.”
Recently, Lucas has updated NetLive to version 3.0. He revealed that he was planning to include ads and put a price tag on the app, but at the last moment decided against it for a number of reasons. An aspect of NetLive that technical users appreciate is the fact that it does not use certain permissions, so users can be sure that none of their information is going to third parties, Lucas noted. Incorporating ads would require permission since the Internet is required to feed apps to users, ultimately diminishing the value of the app. NetLive is also open source, so users can look at the source code for the app.
The summer before his senior year, Lucas interned for 10 weeks at Raizlabs, a mobile development consulting company. On July 6 of this year, he will begin to work at the company full-time as an Android app developer. He credits his app in helping him land the internship and later the position at Raizlabs.
“At my internship, I could sit in front of a computer for three hours trying to grind my way through a task or turn and ask the developer next to me for advice and get it done in a few minutes,” Lucas said. “It’s important to know how to ask for help.”
Nearing the end of his college career, Lucas looks back at his path and strongly believes that in this day and age, CS101 should be part of the core curriculum.
“You’d be surprised how much you can accomplish with basic knowledge in any of the programming languages, within only a few weeks of learning,” said Lucas.
Featured Image by Francisco Ruela / Heights Graphic