Skip to content
Article

Uber, Ethics and Mobile App Development

It didn’t take long for the news of Uber’s conduct to come to my attention. One of my colleagues, Mike McTaggart, wrote a post about it on LinkedIn titled “Uber and Ethics in Technology.” As a mobile application developer for Atlantic BT, I soon found myself being approached by my colleagues wanting to know my perspective.

If you aren’t familiar with Uber, they’re a service that is essentially a crowd-sourced alternative to a taxi. It’s cheap, efficient, and they have a mobile app to go along with it that makes it easy to use the service to get around. It is also a mobile app that can track users in the background and allegedly has a “God View” tool that lets the company track the movements of their users.

At Atlantic BT, we pride ourselves on ethical conduct. We need to balance what’s possible with what’s the best position for the client. At times, that can make for some difficult conversations, but they are ones we believe in having because it results in a better end product.

Avoiding an Uber Situation: Ethics Guidelines in Mobile App Development

In my career, I’ve gotten requests as part of projects to track a user’s location in a mobile app. On Android, all the permissions an app requires are presented to a user up-front. Sometimes, there are completely valid reasons to request fine location access, such as displaying a map with directions to your destination. But there must always be a balance. In my role as a mobile developer, it is my job to provide guidance to our clients on where that balance is. To help, I use a few simple guidelines:

  • If the application will do something in the background, let the user know, and let them turn it off.

  • Always use the least-invasive method of collection possible. If knowing what county the user is in is good enough, there’s no reason to use GPS.

  • Properly disable invasive data collection when it is not needed. If you aren’t looking at a map to see your current location, I will actively disable location collection.

  • If information is collected, store it securely. If it doesn’t have to leave the phone, store it locally in a protected area.

  • If collected information must be stored “in the cloud” let the user know. Tell them what you are collecting, and when you will store it. Again, let the user choose to turn it on or off.

What concerns me about Uber and their handling of this situation is that it shakes faith in the mobile application industry. If people decide that they can’t trust mobile app developers, then they will simply find alternatives. A website may be slower and less efficient than a mobile app, but it can’t run in the background. By nature, mobile apps have more access to your device, and in turn, more access to you. It is absolutely imperative that all mobile developers make an effort to retain trust in our industry. When a company like Uber violates that trust, it doesn’t just hurt them and their users, it hurts all mobile developers.

Maintaining Trust in Mobile App Development

As I mentioned, I am a mobile developer. I love what I do, and I take pride in my work. I treat every project that I work on with care. I am writing code that users trust enough to install on their mobile  phone, and I strive to always do my utmost to be worthy of that trust.

I don’t want to  take the same approach as Uber in my work at Atlantic BT. In that interest, I have begun to consider what I can do to prevent that from happening. I will keep the story of Uber in mind, and I will make sure to discuss it if clients ask for something similar. It may be difficult, but if the time ever comes, as Mike said in his post, sometimes “we have to say ‘No.’”

What other considerations do you think we should have when considering users’ privacy? What can we do to keep your trust?

*photo credit: IntelFreePress on Flickr

The Atlantic BT Manifesto

The Ultimate Guide To Planning A Complex Web Project

Insights

Atlantic BT's Insights

We’re sharing the latest concepts in tech, design, and software development. Learn more about our findings.

Questions & Answers

What is the best web development framework?
Many people commonly ask “what is a framework in web development?” Web development frameworks can easily be confused with web development tools, languages, or parts of the web development stack (like .NET, PHP, JavaScript, or Ruby).
Learn More about What is the best web development framework?
What is the best programming language for web development?
If there was one “best” programming language, then everything else would be obsolete. The reality is that there are so many different programming languages because there is no “best” language for any situation.
Learn More about What is the best programming language for web development?
How much does web development cost?
Web development can vary from a few hundred to millions of dollars depending on what is needed. You may simply need some changes to something that already exists, or you'd like to build a large or complex application.
Learn More about How much does web development cost?
What is the best way to become a web developer?
We get lots of questions from university students working on projects -- How do I get into web development? How long does it take to learn? How much do web developers make?
Learn More about What is the best way to become a web developer?
What is front end vs. back end development?
As web development evolved, it separated into logical specialization: front end web development and back end development. While back end development involves the server-side development, front end is the final rendering.
Learn More about What is front end vs. back end development?
What is full stack web development?
Full stack web development as a term evolved due to the separation of roles between front end and back end developers. A “full stack” developer is a developer that can work in both front end and back end technologies.
Learn More about What is full stack web development?
How can I improve the performance of my application?
There are several primary reasons that applications perform poorly, and in some cases it’s a combination of several. 1) Data latency: If your application is making calls to a data source (whether it’s an API or a direct call) and there is latency at the data provider, your application performance will suffer.
Learn More about How can I improve the performance of my application?