Self-Driving 'Edge' Cases Aren't All That Edgy

Just your standard, run-of-the-mill, immovable ice-sleet layer.

This is the front of my car after driving for about 20 minutes on the road in average weather conditions on the 401 between Toronto and Waterloo in December 2020.

This was not an uncommon storm. The weather was perfect for sticky sleet (that's a kind of very wet snow for you California dwellers). Your post office talks about it, look it up :].

I call out California but it's a larger problem in Tech and in AI/ML as well. We propose a solution, then we get it working on the easy case, and then we stop.

We say that 'extreme weather' will need to be dealt with, of course, it will, one day. Yet, it never happens. This is a problem for ever getting AI solutions out into the real world. And because the real world has many challenging situations like this that are rare enough to seem like edge cases, but frequent enough to completely invalidate the "autonomous" nature of the system.

The sludge is so thick you can't even easily scrape it off with your finger, so tiny little wipers won't work, no matter how cute they are.

I would say robot vacuum cleaners are another example. I have one, it's very nice. They one part of a broad activity automate with the human user filling in the gaps of unsticking the robot, stopping it from eating a rug or stray sheet of paper.

So how will we move forward?

I don't know what the solution is but it has to start with address the reality of the situation. The variety of weather conditions autonomous and semi-autonomous vehicles need to face to be minimally viable is way beyond the usual test set. We need better datasets for these varied conditions to even start determining how we can build systems to work in these conditions.

Don't worry...we're working on it.

The Canadian COVID19 App

So you've probably all heard about the new #CovidApp from the Canadian federal government. I was surprised initially that they were doing it given some of the concerns people have had about the UK's approach and other countries. But I took a deeper look and its really quite a clever approach they've taken to give you some useful protection and maintain privacy.

The main idea of the app is to use Bluetooth connections to anonymously link with nearby phones with the app installed. Since Bluetooth is shortrange, if you are in Bluetooth range you may be in COVID range. It also looks at the signal to figure out if you are within 2m of another phone. If you are, then your phone swaps random codes, generated right then, like random numbers for the lottery. The numbers don't tell the other phones who you are, but your phone keeps track of the numbers it shared and received for two weeks.

Then, and this is the clever part, if someone tests positive, they can log on to the provincial gov't site and get another random one-time-code. This is like the two-factor authentication codes you get from gmail and other websites. You type that code into your app and this confirms officially to your phone's app that you tested positive. It then uploads all the codes it sent out for the past two weeks to the main server and notifies the people you got close to. Again, this really can all be anonymous, because the app doesn't know who you are, the codes don't identify you, and no one ever sees all the information. The app doesn't even use GPS, so it doesn't know where you are.

I've downloaded it, so has my family, I hope other people do too.

Be well.

Some Questions about the Canadian Covid Tracing App

How does the federal government’s tracing app work? 

Update: This post has been updated on Oct 6, 2020, to update information on the percentage installed and how many Canadians could install it.

The main idea of the federal government’s #CovidApp is to use Bluetooth connections and random codes generated and stored by your phone to track connections with other nearby phones that also have the app installed. 

Bluetooth is short-range wireless technology, so if you are in Bluetooth range you may be in COVID range. If the app estimates you are within 2 to 3 meters of another phone, then the two phones swap random codes, generated right then, like random numbers for the lottery. 

These numbers don’t tell the other phones who you are, but your phone keeps track of the numbers it shared out, and the numbers it received in, for two weeks. Since all the codes are random, each phone only knows the codes it has received from nearby phones, not that phone’s owner or even where they were when they received it. 

The most useful part of this app for individuals is what happens next when you or someone else receive a positive COVID test. At that point, the diagnosed person receives another random one-time code from the health provider. This one-time code is essentially a proof of infection ticket for the person who tested positive, but it has no identifying information. Once this one-time code is entered into the app on a phone, that phone now has proof that its owner is infected. 

Then, if you give your phone permission, it will send the list of recent random codes it sent out in the past two weeks to the central server. Every once in a while, your phone checks the internet and downloads new codes for confirmed diagnoses from the central server. If your phone sees a code like `37423798473289` on the server, for example, and it received that code from someone in town a few days ago, then your phone will alert you that you are at risk of having been infected. 

Why should people use the app? 

We all need to work together as a society to get through living with this disease until reliable treatments and prevention methods are available. While treatment is improving every day and vaccine trials are racing ahead, it may be years before we have a real grip on how to minimize death and suffering from COVID-19. So the most impactful thing we can do right now is minimizing spread. This requires masks, social distancing, and tracing cases back to their source so everyone at risk can self-isolate while they recover or find out for sure if they have it. This last point is what the app can help tremendously with. We should see it as one tool, among many, in society’s toolbox. It isn’t perfect, and it won’t reach everyone, but it will reach a lot of people. 

What are the security and data privacy concerns about these apps and do you have these concerns about the Canadian app? 

I am using the app, and my family is using the app. I do not have concerns about its privacy controls. However, people have raised many legitimate concerns about these kinds of apps in other countries and even the rollout of this particular one in Canada. 

One of the most pressing challenges for such an app is that it cannot reach everyone. The app relies on a software layer built by Apple and Google to share as little information as possible while allowing simple contact tracing. Any app using this layer cannot access location or identity from the phone. So, the federal or provincial government cannot track your location or identity using this app. 

As of Oct 6, 2020 every province has either integrated the app or is planning to except for British Columbia and Alberta.

The app depends on software technology that is only available on more recent phones (Android: 6.0+, iOS:13.5+). This means many Canadians with older or un-upgraded phones, estimated at around 11 percent of the mobile phones in the country, will not be capable of running the app. 
(via a quick calculation based on Statcounter Global Stats)

iOS Market Share in Canada48.7%50.9%
% of those phones that are "New Enough"98%81.9%
% of Canadian phones that can run ENS and Covid Alert47.8%41.7
Total % of Canadian phones capable: 89.4%

You can see my calculations here.