Monday, February 11, 2013

Cars Will Drive Themselves Without You

According to the fender it makes your coffee too!
(photo by Saad Faruque)

Cars that drive themselves are the all over the news (1, 2, 3, 4) these days.  Everyone is speculating about when cars will drive us to work, our kids to school and families cross country on vacations.  While this is fine to imagine, it's getting the cart before the horse. What should be discussed instead is the much bigger change which is closer at hand, vehicles driving by themselves without drivers or passengers.

Currently we're treating autonomous vehicles the same way we treated steam and combustion engines when they became small and reliable enough to replace the horse. There is nothing wrong with bolting a new technology onto an old platform.  This allows faster advancement during the research and development phase without building the underlying platform at the same time.  Until the 2nd DARPA race I, like many others, didn't think working autonomous software could be built earlier than 2050 at best.  Given the amount of time it was going to take to develop, it was best to focus on the software by using a car as the cheap and dependable platform to build on top of.  Now that it's obvious a computer can control a vehicle by itself with no help from a human driver, it's time to go back and ask what kind of vehicle it should be used with for the first commercial products.

No one analyzes their driving this way but try and break down a typical week of your driving based on why you are driving.  In one column put all the miles you drive in order to transport yourself to a location to do something that only you could do. For example, I drive to work every day.  I must transport myself or I probably won't get payed for any work that happens to get done.  I'm transporting myself to a destination to do something that not just anyone can do. As a counter example, I also go to the grocery store on average five days a week.  I have no need or desire to transport myself to the store and would be perfectly happy if the groceries I need simply appeared in my house in exchange for money.  Put all these trips in a 2nd column along with the mileage.  Everyone's totals will be different but for myself I am mostly moving around because I must but about 30% of my movement is for reasons that I would be perfectly happy if I could accomplish without leaving my house.

So why is 30% of my travel more important than the other 70%?  All the traveling I must do happens during times where my entire family must travel as well.  For example, the wife and kids are going or returning from work and school.  Giving me an autonomous car during this time doesn't improve life that much for me.  I'm still stuck in a commute by myself.  If I'm industrious I can start work but I'll probably just spend the time trying to entertain myself which I already do when I drive by listening to a podcast.  I'm not saying it wouldn't be better and I might make different choices than I currently do, but it would only be a marginal improvement.

For the remaining 30% of my time spent in a car it's possible to completely eliminate it all if I choose and the technology is there to do it.  Most shopping, eating in, dry cleaning and package delivery could be done for me and save a lot of time and effort. Maybe I can't replace 100% of these errands but I certainly would choose to never going to the grocery store again. Replacing these common trips with quality personal or family time seems a much better use than allowing someone to apply makeup or read email on the way to and from work would.  To put it another way eliminating 30% of my travel time is better than marginally improving the other 70%.

Sadly 90% of this traffic is going to the nearest Redbox location.  Haven't' they heard of Netflix?
(photo by Simon Forsyth)

The other big reason it doesn't make sense to kick start the autonomous vehicle revolution by having cars drive you to work is the huge social contract we would be asking everyone to agree to.  As soon as the first autonomous car starts driving on a street near you you've agreed to trust your life and those in your family to a lot of very complex computer code.  We do it everyday with humans in the form of student drivers but somehow when it's just a computer it's different. For a long time I had faith that this seemingly massive hurdle would be easier to accept as autonomous cars slowly became a reality.  The problem now is that the technology arrived 40 years earlier than I thought it would. It's going to take years to get general society to accept that the other 2-ton cars are on the same road as them with no driver in control.  Even worse than accepting them on the road is the additional decades for a lot of the population to actually let a car drive them or their family personally.  Imagine bringing a product to market where almost the entire population is against buying it and most are against anyone using one.

I asked several friends and family if they would put their children in a computer driven car and send them to school.  I wasn't too surprised when everyone said no. Most cited a lack of trust that the computer would not malfunction or would encounter a situation that physics dictated would end in a crash regardless of who or what was driving.  I then asked them to imagine that they knew that their children were safer statistically in a computer controlled car than being driven by them to school.  Most didn't have a hard time accepting this fact since most agreed that it would probably be true in the same way that flying is safer than driving.  Not one person would let their child be transported to school even while agreeing that they were putting their child in more danger by not doing it.  I can't say I was surprised that a parent would want to add a statistical bit of extra danger in order to be in the car in case the worst happened.  They just couldn't handle that there was a possibility their child would be in a wreck without them there, even if it meant they were more likely to be in one because the parent was driving.  What really threw me for a loop are those with teenagers who drive themselves. They would rather the teenager drive themselves than being driven by the car.  Some even admitted that their kids weren't good drivers. All cited there would be events outside the ability of a computer or human driver to handle.  In these situations they would rather the outcome determined by their teenager than a computer.  Almost all agreed that their logic wasn't sound on any level but it was their honest feelings.  Maybe this is simply a problem of correctly imagining the real scenarios but it's a anecdotal sign that self driving cars will have an uphill battle in general society.

If only we hadn't let the car drive.
(photo by Danny McL)

So what is my point?  Are we doomed to wait until 2050 or later to reap the benefits of self driving cars even though we've made this huge technological leap forward?  For the same reason the invention of the computer wasn't instantly followed up by the invention of robots there will be a lot of small steps first.  Just like robots, which we still really don't have as they are imagined by most people, the self driving car is better in Sci-Fi than in real life.

Before I go much further, I want to make up a new term. The phrase "Autonomous Vehicle" gets a little heavy to write over and over again by the end of an article and I need a new term that isn't confused with the more common and pervasive "Autonomous Passenger Car".  I've searched for many years for anyone else talking about the class of vehicle I want to talk about.  I have found nothing close unless you want to count the word "drone".  So without further explanation, I bring into existence the word "autocart".  If I'm lucky it will have the same cultural sticking power that it's predecessor the "horseless buggy" did. Now that I've birthed a new word however poorly justified or thinly supported, what is an autocart?

It's simply an autonomous vehicle that doesn't carry any human passengers.  Imagine a small, cheap and very lightweight vehicle capable of  carrying a few hundred pounds of cargo at most.  They would move at city speeds of 40pmh or less, just enough to not be a traffic nuisance.  By lightweight I am don't mean the 100lbs of a typical go cart.  Lightweight would be closer to 10lbs with no cargo.  Think wheels, a 2.5hp engine and an aerodynamic cargo cage.

Like this but with groceries and way less bad ass.
(photo by Roger Smith)

In the business of moving cargo around there is a term called payload capacity share that is expressed as a percentage.  This percentage represents how much cargo a vehicle can carry compared to its unloaded weight.  Most non-commercial cars and trucks have a payload capacity share of less than 40% while a tractor trailer can be up to 200%.  UPS and FedEx trucks are typically around 80% although UPS is working to improve this in their fleet.  Why is UPS putting money into improving the payload capacity share of their fleet?  Because the better this number the more cargo they can carry for a given fuel cost.

Freed from structural and safety requirements needed to carry a 200lb+ person, an autocart has the potential to have a payload capacity share of 2,000% or more.  Even more important the interior doesn't have to be tall enough to accommodate a person sitting up so they can be extremely aerodynamic.  If autocarts took over a significant percentage of just the existing cargo fleet the fuel savings would be enormous.

Better payload capacity share than a UPS truck but we can do better!
(photo by Graeme Newcomb)

What about the safety of pedestrians and other cars on the road?  I think everyone will agree that a 10lb autocart with 100-200lbs of cargo is inherently more safe than a 2-ton autonomous car. Sure there is a driver behind the wheel in case something goes wrong but will they notice in time if they are busy playing Sudoku?  Still I'm not sure I want 210lbs of autocart plowing into me at 40mph while I'm jogging either.  But given the low cargo weight an autocart wouldn't need to be very ridged.  They could be tested for pedestrian impacts and padded and shaped to be as safe as possible even if it means extra weight.  Building a lightweight, low speed autocart is a solvable engineering challenge while building a pedestrian safe car is not.

So autocarts can be safe and extremely efficient but will anyone use them?  Efficient and safe are positive qualities but not many things are sold based on these qualities alone.  To be used it has to solve a problem and not cause other problems of its own.  Lets take the most obvious use, to deliver packages and see how it compares with what is currently available.

Today you see something you want online and you decide to buy it.  Part of purchasing it is deciding how soon you need it and therefore how much it will cost to ship.  Even if the seller offers free shipping, there is still a shipping cost and the seller has just chosen to build it into the margin rather than split it out as a separate fee.  Its impossible to know what the lowest rate the big online stores have negotiated with their shippers but it is probably somewhere around $4 per package for an air shipment.  For smaller shippers it is probably in the $6-$8 range.

How does this cost break down?  I couldn't find any information on this but it's probably safe to say that the actual cost of air transportation is the highest percentage of the cost. The best information I could find indicated that air transport costs $0.80 per mile per ton.  So a 1lb package traveling 2,000 miles would cost $0.80 to transport.

First you have to get the package to the air terminal.  Large shippers have trucks dedicated to picking up their packages which is very cheap.  Smaller shippers must have a truck dispatched to their location based on need and this is why their cost is so much higher as everything else in the shipping chain is the same.  By using autocarts to do pickups for small shippers they could drive down the cost to a price much closer to what the larger stores enjoy.

Once the package is in the terminal in its destination city it must be delivered to someones house. This is the least efficient part of the entire process.  If the package wasn't shipped very far it might also be the most expensive part as well.  UPS and FedEx spend a lot of time and effort trying to make the route taken as fuel efficient as possible because fuel is the largest cost here.  Autocarts are ideally suited for replacing this step in the transportation chain given that they don't require human labor and they are very fuel efficient.

But would you want your package delivered by autocart?  How would it work?  That is a challenge but I believe a solvable one.  How can I be so sure?  Because it is easy to introduce the new delivery option and experiment. Maybe the next time you buy something online instead of 2-day shipping for $8 you have the option of 2-day automated delivery for $5. Guess which one you pick?  Even if the experience wasn't perfect you would probably choose it again for the cost savings alone.  Eventually I think it could be as good as today's delivery given that the typical delivery interaction is a box mysteriously showing up at my door.

This is just an example of one possible way autocarts would improve the most obvious use case.  Even this one case could be approached from a different direction.  Imagine using autocarts to optimize speed of delivery and not cost.  Several hours are lost at pickup time and almost a day on the delivery side in the current shipping chain.  This is why overnight is so expensive, aside from getting priority spot on the first plane out, your package is specially delivered to cut out the extra day on the delivery side.

Autocarts could also be used to do almost all of life's day-to-day errands.  More exciting are the possible new services that could be opened up.  Delivering take out could change from a few options that have high margins to every restaurant in town. It could revolutionize dry cleaning to become a full laundry service where all your laundry is picked up, cleaned, pressed and folded centrally and delivered back to you overnight.  Finally, the most exciting possibilities are the ones that haven't been dreamed yet.  Sure, autonomous cars could have the same wide open opportunities no one has thought of yet to change our lives but the autocart is much closer and can be done now.

Saturday, July 30, 2011

The sorry state of the computer display industry

Image by Derek K. Miller

This is going to be another sad commentary in a long long succession of commentaries about why computer displays haven't gotten much better over the years.  The last flurry of articles I read were written about four years ago in 2007.  I'm sorry to report that things haven't gotten any better.

First, the good news.  Monitors have gotten very large and very cheap since 2007.  I recently purchased a 23" monitor for $130 and I was surprised how generally good it was given the price point. Using as a reference I found good monitors in their top seller list for the following price points:

  • 21" - $117
  • 22" - $130
  • 23" - $140
  • 24" - $179
  • 25" - $259
  • 27" - $260
  • 30" - $299
So what's wrong with the computer monitor industry other than they can't be making very high margins with these prices?  The problem is all of these monitors run at a resolution of 1920x1080.  That is the same resolution your HDTV uses but labeled 1080p for the number of vertical pixels.  While 1080p has only become the standard TV resolution in the last 3 years, computer monitors have been commonly running this resolution and higher for the last 15 years.  As computer displays have become larger, the resolution hasn't changed very much or at all.  It's been long enough and it's way past time that computer displays get the same hi-def upgrade that TVs received.

The first part of the upgrade has arrived.  No one enjoyed having a 15" or 17" monitor.  Today it is almost not worth considering anything under 23" unless you have a specific space constraint.  I'm not sure I could get used to a 30" monitor or if I could I don't believe I would want an even larger display.  At some point making the monitor bigger causes you to have to start looking left and right and becomes a problem.  So monitor sizes have reached their apex or near enough.

The problem with making the display bigger while not increasing the resolution has the negative side effect of lowering the pixels per inch(ppi).  This causes a lot of problems such as blocky pixelated text.  Operating systems use complex technologies like clear text and anti-aliasing to hide these effects but there is only so much they can do.  These too cause problems such as fuzzy or blurry text.  Instead of using complex font rendering technologies, the real solution is to increase the resolution above 1920x1080.  However, monitor manufactures don't seem interested in doing this.

The monitors in the example above all run between 102ppi(21") and 73ppi(30").  If you want a 30" monitor that does 100ppi you have to pay $1200 or more.  95% of the monitors offered on NewEgg are models that have less than 102ppi. Only about 10 monitors offered greater than 102ppi and the prices are staggering. 
Below is a graph of all the monitors offered on  For each price range I counted how many monitors were listed for sale.  The number of monitors offered is inflated for the right side of the chart starting at $700 to keep the chart size reasonable and because there were no monitors offered in some rangesOnly monitors from NewEgg were included.  You can find models for slightly less than $1000 elsewhere that have higher than 100ppi.
Number of monitors on by price
Notice how few monitors there are above $300.  That is where the low end 130ppi to 200ppi monitors should be.  The 130ppi models offered are all above $1200 and are high end displays focused on very good color reproduction as well as high ppi.  The $400-$1200 monitors are 100ppi monitors with the same high quality color reproduction.  A high ppi monitor with normal color quality simply isn't available.

Why is the industry stuck at 1080p?  It's because consumers don't want their text and images to get smaller and harder to read.   Every time I walk into someones office and see them running a 27" or 30" monitor at 1280x900 I just want to claw my eyes out.  I can see the pixels from across the room.  The stair stepped pixels on A's look like I could climb them with size 12 boots.  Do people like reading fonts that look like they were drawn on graph paper?  No, but they don't have a better solution to make text larger.  If you are running a Windows OS, which most of us are, and you try to increase the font size a lot of applications break and behave badly. If, however, you run Linux or OSX you can simply increase the size of your default font and get beautiful crisp type the size of your fist if that's what you need.  Most Apple consumers purchase Apple monitors and the Linux install base is too small to create any demand from manufactures to improve.

The other major road block is the video connector, DVI,  which is the standard connector on all PC computers.  DVI was horribly handicapped from conception and is probably the single biggest reason nothing has changed.  It's limited to a maximum resolution of just over 1080p.  You can run monitors with higher resolutions but you need to use what is known as a dual-link DVI.  This doubles the supported resolution to 3840x2400 or 150ppi on a 30" monitor. The problem is almost no computers come with dual-link DVI ports.  You must typically add a discrete add-on graphics card to your computer to be able to run these high resolution displays. I contacted Dell about which laptop models supported dual-link DVI and only their ultra high-end Alienware line did and only if you upgraded to at least the 1.5GB Nvidia 460m graphic card.  Total system cost $1600 with no other upgrades.

So it seems we're doomed to another 4 years of staring at pixels, unless that is...

Unless you own or plan to own certain Apple products. In 2007 Apple launched the iPhone with a 480x320 165ppi screen.  Last year Apple released the iPhone4 with a 960x640 screen at 330ppi.  There are strong rumors that they will launch the iPad 3 in the 4th quarter of 2011 with a 2560x1920 screen at 284ppi. So this year you might be able to purchase a 9.7" Apple iPad 3 that will run a higher resolution than every consumer computer display of any size.  This includes Apple's own 27" Cinema display which runs at 2560x1440 and 109ppi.

It's hard to believe that apple won't start offering at least a 3840x2400 27" or 30" Cinema display shortly after releasing the iPad 3.  They just announced a new port called Thunderbolt that will replace DVI, Display Port, and FireWire.  This could allow Apple to support even higher resolution displays.  All Apple computers including the lowly $600 mac mini have these Thunderbolt ports capable of driving displays at resolutions well above 1080p.  Apple is very well positioned to finally bring computer displays into the 21st century.

Update: I'm not particularly a fan of Apple other than they tend to be very progressive about pushing technologies and have pretty much been right in the past.  My desktop of choice is Linux which is why I'm so concerned that Apple might have an enormous lead in high ppi monitors.

Monday, July 18, 2011

License Plate Recognition

Based on image by woody1778a
Pennsylvania has 14,000 intersections with traffic lights.  I picked Pennsylvania because is was the first to show up in a Google search. They are as good as any state to use as an example of why eventually the date, time, GPS location and license number of every car using any intersection will be recorded.

Pennsylvania has a budget of almost $4 billion.  14k automated license plate recognition(ALPR) devices would have an initial upfront cost of at most $100 million.  To maintain the system would cost about $15 million if all the system did was log data, alert police about problems tags and allow ad-hoc searches.  I'm basing all this on the cost of systems with many fewer ALPR devices so the cost should be lower given the volume being purchased.  In addition, the other systems do much more such as issue speeding tickets and running red lights among other things.  I'm calling it a wash on yearly costs because of the greatly increased amount of data balanced out by it being much less complex since it would not issue tickets.

One of the more difficult problems with these systems, especially in the US, is they have to quickly account for changes if a state adds more characters to their tag or changes the type of font used.  To track out of state traffic requires that the system keep up to date with a the tag changes from at least the contiguous 48 states.  Also when a tag is scanned there is no way to tell which state the tag belongs to because the numbers are repeated from state to state.  From what I've read, when a tag is flagged as a potential issue, such as stolen, a person must manually verify that the tag is the correct state.

These issues along with potential public outrage are probably the only reasons a state hasn't decided to institute a system like this state wide.  Public outrage has been ignored for a long time in many other areas by politicians so I believe it's the combination of the technical and political hurdles holding everything back.  The time of ALPR will be near when a state institutes a QR code like graphic that is both easier for a computer to read and also contains additional meta data such as state, VIN, car color and make in addition to the tag number.

It's just a matter of time.

Update: A story from the Boston Herald about Massachusetts gong to storing all the plates they scan when driving around.

Saturday, July 16, 2011

Mozilla's BrowserID: Is it a better way to sign in?

Mozilla recently announced a new effort to improve authentication to websites from a browser.  I applaud Mozilla for attempting to solve a problem that is a very real and pressing problem for the average person.  However, I would have preferred if they had taken a different approach.  Here are a few problems I have with BrowserID.

Identity is base on email address.

I don't see a way to user BrowserID unless there is a one-to-one relationship with email address and an account on a web site. While I would highly suggest a site use email as the identity for authentication, sometimes it isn't possible or desired. If you're an existing site with a large base of users, it can be a challenge to completely switch over to email address as the identity. Some sites also need the ability for users to create many aliases which while possible when using email addresses is more than most users can accomplish.
It's complex for the user.
Someone wanting to use BrowserID to authenticate to a site must first complete the initial process of setting up the email account they want to use with the browser and centralized authority.  While not hard it is an extra step that doesn't seem very obvious.

It's complex to implement.
I've read through all the documentation and I'm not 100% sure I know how the complete process works.  Part of my confusion may be the way they've layered the documentation from a simple YouTube video of user experience to source code.  There is no once completely comprehensive document to read yet.  Fairly new existing technologies are used as part of the system and have their own layers of complexity.

I can't implement anything as critical as an authentication system until I know how everything works from beginning to end.  I'm sure this will improve with time but it's complex enough I keep discovering new bits and pieces to how the system truly works as I read more docs/code.  As an example, I didn't know BrowserID used webfinger until I started reading about Verified Email Authentication Protocol, another piece of technology used by BrowserID.