The Biggest Ethical Question About Self-Driving Cars

I’ve done a fair amount of reading regarding self-driving cars, and the potential they have to change our world and all the good that can come from them. But to this date, this article written by Patrick Lin, is one that I always think about. He writes about self-driving cars from an ethicist’s perspective, and it really got me thinking. Here’s a brief summary of the scenario he portrays:

A self-driving car is racing down a crowded highway (adhering to the speed limit, of course) when, all of the sudden, an accident unfolds in front of it. Immediately to the front of the car is a tiny smart car and a big pick-up truck. The car’s algorithm runs through thousands, even millions, of possible scenarios in the milliseconds it has to react. The car concludes that it only has two choices: hit the smart car or hit the pick-up truck.

To entertain this possibility, you must accept the fact that the car’s computation really led to only these two choices. In reality, there is probably very little chance that this would occur. But nonetheless, the ethical dilemma is evident.

One rationale for the car choosing to hit the pick-up truck is that the massive size of the truck makes it well equipped to take a hit as compared to the frail body of the smart car. This would ensure safety for all drivers involved. But even in this scenario, the self-driving vehicle seems to be targeting large vehicles. Now, is it fair to truck drivers that they are essentially targets of self-driving vehicles? And what of the computer scientists who programmed this self-driving vehicle? Can they be held liable for programming the vehicle to target large trucks?

There is, of course, no right or wrong answer. We are in the gray area of autonomous machine ethics. I am definitely not qualified to comment on the questions posed above, but I do think about it every now and then. Regardless of what people may think, I believe we won’t come to a conclusion until a similar situation unfolds in the near future, leading the courts to essentially et a precedent for this scenario.

Obviously there are probably hundreds of varying opinions out there. If you have any thoughts or ideas on how this might play out, feel free to leave a comment.


17 Billion!? Is Uber’s Latest Valuation Reasonable?

In case you haven’t heard, Uber, the 4 year-old technology and transportation startup, raised a whopping $1.2 billion in funding from mutual fund managers and venture capitalists last month. This financing round placed Uber’s valuation at approximately $17 billion.

If you’re not familiar with Uber and what they do, just imagine a black-car or taxi service you can request via iPhone or Android app. You open the app, the app tracks your current location, you tap “Request an Uber”, and minutes later a driver picks you up. At the end of the trip, you pay through the app, with the credit card you’ve signed up with.

But the question remains, is the valuation reasonable or are the investors crazy? The short answer: yes, it’s quite reasonable. The long answer: not only is it reasonable, it’s actually undervalued!

An article on Business Insider states that an anonymous investor (not an investor in Uber) heard that Uber’s gross revenue last year (2013) was $750 million with $150 million in cash flow. He continues on to say that Uber’s projected cash flow for 2014 is around $400 million.

Doing a quick and crude calculation will show that Uber is being valued at a multiple of 23x gross revenue ($17 billion / $750 million). According to this data set provided by NYU Stern, the Internet Software and Services industry’s typical EBIT multiple is 33.63x. Obviously, this comparison is not exact, but it puts things into perspective. Uber can certainly fall within other industries but their main selling point is their software, so I chose to compare it to the software sector. Based solely on this analysis, it seems that Uber’s multiple is actually acceptable.

However, in the world of startups and venture capitalists, traditional valuation multiple formulas rarely apply. Viewing the valuation from the lens of an investor, this deal might actually even be a huge bargain. For instance, Facebook back in 2007 raised money at a 100x multiple with only $153 million in revenue and a $138 million net loss according to Statista. With that in mind, Uber’s 23x multiple seems very reasonable.

To illustrate this fact, I’ve created a chart below that compares companies’ revenues and their multiples for one of their funding rounds. I used Uber’s estimated 2013 gross revenue of $750 million and its $17 billion valuation to determine its multiple of 23x gross revenue below. I also plotted the revenue and multiple numbers for other superstar startups on the chart. I tried to choose funding rounds that resulted in a multiple within the range of Uber’s 23x revenue. I’ve also included one extreme example, AirBnb, just to represent the other end of the spectrum.


Comparing Uber’s revenue and multiple to the other startups, it’s easy to see that its valuation isn’t as crazy as it seems. Other startups had multiples that were much higher relative to their revenue at the time of funding. Amongst its peers, Uber is definitely looking like a winner.

To further support Uber’s valuation, a report from IBISWorld estimates that the 2014 annual profit for the Taxi & Limousine industry will be $1.4 billion. Essentially, Uber is projected to make approximately 29% of what the entire Taxi industry is expected to make!

With Uber’s “alarming” growth rate and new infusion of cold hard cash, you can bet that the company is dead set on conquering this exciting industry where transportation meets technology. There’s no doubt in my mind that the $17 billion valuation is justified. As a matter of fact, it’s definitely too low.

Statista, IBISWorld, NYU Stern, Business Insider, CNN


Pro Tip: Google Maps – Traffic on Specific Time of Day

I took a break from working on my app, Pxture, to share this awesome technology tip! My job as an auditor has me going all over the place from clients’ offices to warehouses and everywhere else in between. So here’s a scenario I’m always stuck with: You’re going somewhere for the very first time and you’re not very familiar with the area. What do you do? You hop on Google Maps and get some directions. It even shows you live traffic information! But wait, what if it’s a Sunday night and you want to check what the traffic will be like during your commute Monday morning? Luckily, you can actually preview traffic information on Google Maps for whatever day and time you wish. Here’s how to do so:

1. Head over to

2. Hover over the search bar and click on “Traffic”

step 1

3. Select “Typical Traffic” and adjust the day and time option step 2

It’s that simple! Now you can preview traffic for any day of the week. Hope this helps, and safe travels.

iPhone Dev: UIScrollView Unresponsive – Interface Builder Bug?

Hello, hello! I haven’t written in a while and that’s mostly because I’ve been knee deep in my newest app, Pxture, which is finally available in the Apple App Store for the very inexpensive price of FREE.

While I was building the app, I encountered a possible bug. I was trying to get two UITableViews horizontally adjacent to each other in a single UIScrollView so I could essentially swipe left and right to switch table views.

I used interface builder to accomplish this but encountered a bug along the way. I placed the UIScrollView inside a UIView. I then placed the two UITableViews inside the UIScrollView.

I ran the app, and I was able to swipe left and right on the UIScrollView and see the UITableViews inside whiz by. I was also able to swipe up and down to scroll through the UITableView cells. Everything was working so nicely!

However, after I return to the root view from clicking into a UITableView cell to view the detail page, the UIScrollView would cease to respond! I could, however still interact with the UITableView. It made no sense at all! It’s as if the scroll view was non-existent. I NSLogged some touch points and found that views inside the scroll view returned nothing.

After searching the internet, it seems that this is a common problem and is a possible bug in IB. I eventually unchecked “Use Autolayout” on my IB file and viola! Everything was working once again. I always had a bad feeling of this auto layout crap that Apple is trying to push on us. It’s more of a headache than it’s worth!

iOS 7 Wish List

We all know it’s coming. Every year Apple refreshes its mobile software, “iOS,” with a big update that tend to include many “revolutionary” features. Rumor has it that iOS 7 will be announced some time in June along with the iPhone 5s and perhaps the “cheaper” iPhone. There’s been a lot of talk about iOS 7, primarily because of CEO Tim Cook’s executive shakeup last year that put Jony Ive in charge of iOS design. If you didn’t know, Jony Ive is THE hardware designer of Apple. He designed everything from the iPod to the Macbook to the iPhone.

While I’m confident that any design changes in iOS 7 will be nothing short of spectacular (see flat design), that is not the focus of my post. Instead, I’m more concerned about the practical changes in iOS 7. Last year, iOS 6 failed to provide any new useful features. Here are the top five improvements and features I’d like to see in iOS 7:

1. Easy-access toggles for common features

The iPhone, as a full-featured smartphone, has many connectivity features that may need to be switched on or off depending on your needs. Unfortunately, there’s no easy way to do this currently. If I want to turn on Bluetooth, I have to go into the Settings app and turn it on from there. Maybe I want my phone to use LTE instead of my school’s terrible wifi. Again, I’d have to go into settings to do that. The ability to quickly turn on/off these popular features (along with Airplane mode and Location services) would be a welcome addition. With the iPhone 5, Apple has increased the amount of screen space they can play around with. I think it is very likely that we will see toggle switches added on to the notification center in iOS 7.

2. Close all background apps button.

I don’t know about you, but I tend to close my apps entirely even from backgrounding. I don’t understand how Apple has never made a “close all” button in the background/app switch manager. I would like to see this in iOS 7 and I think there’s a good chance we will.

3. Live app icons

live app iconsYou may have noticed that the iOS default calendar app shows you the actual date. However, that’s the only Apple App that does that. Why can’t they do this for other apps? Why does my “Clock” app always show 10:15 and why is the weather always 73 degrees? I understand Apple has some sort of vendetta against widgets on iOS home screen, but this would be a great way they could incorporate live information onto their current setup.

4. Change default apps

I know it is in Apple’s nature to be a control-freak when it comes to the OS environment, but I think it’s time to let us users choose what apps we want to be our defaults. No, I don’t want Safari to open up every time I click on a URL, I prefer the Google Chrome app. I would like to use Sunrise as my default calendar app, not the one provided. APPLE IF YOU’RE LISTENING, DO THIS!

5. Smarter, faster Siri

To be honest, I barely use Siri, but that’s probably because it sucks. If they improved it, I would definitely use it more often. Every now and then I use Siri to text people, but I hate doing so because it can’t distinguish between two separate sentences. That’s an understandable problem, but sometimes Siri doesn’t work entirely. It often just freezes in a middle of a request with that purple beam continuously spinning itself into oblivion. Needless to say, get on this Apple.

Let Ads Work For You. HitBliss is the Future!

Television as we know it today is outdated. While it was a luxury to be able to consume all this content in a single “box” 30-40 years ago, this is no longer true today. With the advances in computer and streaming technologies (i.e. Netflix), it makes no sense why we should have to go through expensive cable/satellite packages for entertainment that include channels and shows we will never watch.

Television doesn’t work because of two things. First, you can’t pick and choose what shows you want, meaning you watch maybe 20% (made up to prove a point) of the channels you are paying for. Second, you already paid for access to all these channels, yet you are still bombarded with advertising as if you don’t spend enough already.

Enter HitBliss, the solution to this problem and the company that will flip this ancient business model up-side down. HitBliss lets ads work for us, the consumers! It’s actually very simple, yet quite brilliant. I’ve been lucky enough to be a beta tester and let me tell you it works flawlessly. Here’s the breakdown of how it all works.

Instead of paying for shows you don’t want and watching ads you don’t care about, HitBliss lets you pay for shows you want by watching ads tailored to you. That’s right, you earn credits by watching ads, which you can then use to rent an episode or a movie. When you first launch the app (which you have to download and install) you will be greeted by a 5-step explanation of what HitBliss is all about. You will also have the opportunity to set your personalization settings and choose which information you want to share with HitBliss. The more information you share, the more personalized the ads, and essentially the faster you earn credits. Think about it, if HitBliss can guarantee marketers that their target audience is watching the ads, the more money they both make.

I opted to earn credits the “fastest” by providing information regarding my search habits, web surfing habits, gender, income, education level, number of children and more. After the introduction, you are greeted with a familiar screen that lists all content by genre and type. On the top left of the main page is a button titled “earn.” This is where you go to watch a bunch of ads and earn credits. I clicked it and watched multiple ads. During the ads you will be required to either click or hit “enter” to make sure you are actually there and watching it. The more you pass this “test” the higher your “trust level” is. As far as I can tell, higher trust level means less “press Enter to prove you’re there” tests.

I think I watched about 7 minutes worth of ads, hitting the earned credit cap of $5.00. Throughout the process I was presented with the “hit Enter” test multiple times, perhaps one every ad. You level up faster by successfully completing the “hit Enter” test consecutively and quickly (streak bonus and quick response bonus, I think is what they called it).

Searching through the content, I believe everything is $1.99 for a 24 hour rental. I used some of my earned credits (you can opt to pay using your credit card as well) to fire up Good Fellas just to see how the actual streaming was. It looked great and worked well.

HitBliss is a great experience with a business model that makes perfect sense. It’s rare when three parties (consumer, HitBliss, marketers) all win in any one product or service, but I really believe HitBliss proves this can be done. This is why I think it has a tremendous future ahead of it, and why it will be my number one TV/movie streaming application.

iPhone Dev: UITapRecognizer iOS 5 vs iOS 6

Text Fortress‘ first update (v 1.05) went live yesterday and it fixes a nasty bug where all the buttons in the app seemed to be broken. In the process of fixing this problem, I discovered an interesting difference in the way iOS 5.x and iOS 6.x handles user taps.

First, I’d like to thank Text Fortress user, Vishal Patel, for kindly notifying me of this unintended function. Thanks to him, I was able to pinpoint the problem and fix it easily. Since I primarily tested this app using iOS 6.x, I did not experience the problems Vishal did. It turns out that UITapRecognizer’s property “cancelsTouchesInView” is set to YES by default in iOS 5, but it is set to NO in iOS 6.

This turned out to be a problem in my app because I had it set up to immediately look for taps when the app launched. In iOS 6, this wasn’t a problem, but in iOS 5, it prevented the users from interacting with the UIButtons since the system kept registering it as a tap. There are two ways to fix this problem.

One way is to manually set UITapRecognizer’s “cancelsTouchesInView” to NO. Another way, which is what I opted to do, was to check for taps only when necessary. For example, I was using the tap gesture to dismiss the on-screen keyboard. Instead of looking for taps right from the get go, I simply started looking for taps when the keyboard was present (the keyboard covered the buttons anyway). So there you have it, a little food for thought for beginner iOS devs.

Marketing “Text Fortress” – Facebook, Google, Twitter?

Text Fortress recently went live in the App Store and ever since then I’ve been brainstorming of ways to best promote the app. I’m an amateur marketer, using only Facebook and Twitter to promote my previous apps, so I really have no idea what I’m getting into. However, I do know that I want more exposure than what I achieved before, and that is why I am going to conduct an actual marketing campaign.

I plan to do both Facebook and Google Adwords advertising, but I’m going to start with the later because Facebook is more effective when I have the Facebook SDK integrated into the app (which I don’t).

As I learn more about these mediums of advertising, I plan to document my progress and share my experiences. Look out for my next post where I’ll talk about my initial experience with Google AdWords and how it can all seem so convoluted to someone who has never used it before.