Monday, February 22, 2016

Software Sucks

I bought a Nexus 7 Tablet 2 years ago. It runs Android. Google kept pushing updates to it to make it better and more secure, going through versions like Kitkat and Lollipop and maybe Marshmallow as well, I don't know, and I don't really care. What I care about was how it suddenly slowed down. Like totally slowed down; it would take a full minute for an email to open after I tapped the notification. It would take so long for apps to switch out that Android would ask me if Android should shut them down. It became unusable.

I found the tools to flash (which means replace) new Operating Systems on it, like older versions of Android, and other ones based on Google's work. It requires things called unlocking, reflashing bootloaders, flashing onto SD cards, booting into recovery mode.

I tried clean and fresh Android, pure stock version. Stayed unusable. I finally got Cyanogen on it, version 12 to be exact, as the latest version, 13, was unusable in the same way as stock. Version 12 seems to work, and I have my tablet back to do some Twitter and Facebook and watch a video.

I am not a hacker or maker of any kind, really, I just know my way around google and a Terminal and flashing tools. I used my experience I had built up getting a degree in Software Engineering and being a coder for a living for a decade. And all I could think was, here's a product that I paid good money for, and within three years it was unusable. Because of the manufacturer. Who what, didn't care? Didn't notice?

Yes I fixed it, but how are average consumers supposed to?

Thursday, February 11, 2016

Everything Is Crap So Why Not Driverless Cars?

Tuesday I attended a fabulous unconference What Are We Going To Do About Artificial Intelligence? where we split into smaller groups and discussed AI from different angles. It was attended by technologists, futurologists, designers, product managers, and other disciplines. In the discussions, which I flitted between some, these damn driverless cars kept coming up.

Yes, shared autonomous cars would revolutionise everything about how we live. And we did see a future where people would be penalized for wanting to drive themselves, and I figured rental companies would be the ones to insist on going full driverless first to reduce their liability. We spoke how networked autonomous cars could manage their flow so fast speed limits would become meaningless, but also how it could mean you could be hijacked easily, like by the police.

A really good representation of driverless cars, and their government hijacking (well, except for some ridiculous wall-crawling and lack of respect for physics when you jump between them) can be seen in the Spielberg film Minority Report.

This speed and distribution only works if all cars are in the network, so the transition will be interesting. When there's few or a moderate amount of autonomous cars, because they will follow the rules, including speed limits (even if Google now says they will let the cars drive 10 km/h over), and will stop first, a lot of people will outrun and outmaneuver the autonomous cars, making them a secondary choice. Yes, a lot of drivers are dicks, just look at how many people will drive in the wake of an emergency vehicle to get a leg up the fine drivers who did cede the road. But once there are enough autonomous cars that are networked, human-driven cars will simply not be able to keep up with the efficiency gains, and they will be rapidly removed from the flow, either by commerce or legislation.

Another set of ideas about autonomous cars is described in the quite prescient Nature's End, where humans could authorise their autonomous vehicle to break speed limits and run through traffic lights by authorising the payment of the fine on the spot. It is not a far jump from that to see a revenue opportunity in our real world for municipalities or toll roads to let people willing to pay go faster or first through a light. It will stratify the car experience beyond just what you drive, now including also how well you get there.

If it all works, of course. And there's my problem with all these scenarios.

I will totally believe that a bunch of autonomous cars surrounded by Google engineers or Tesla engineers work perfectly fine right now. I will totally believe that a $60.000 car will switch lanes under certain conditions if you tell it to when it still has that new smell. But right now I have a 3 year old tablet that can no longer switch from one application to another, or have an acceptable battery life, thanks to Google. I had a two-year old iPod that stuttered playing music sometimes, failing at arguably its primary function. My friend Mike tells me how his car mid-traffic-jam suddenly decided the car doors were open and then closed and spun into a locking / unlocking cycle trying to control it. I have a laptop running one of the longest worked-on Operating System codebases known to man and it will spontaneously freeze and reboot when playing a video.

Getting 1 item right is hard. Getting the next 100 right is easier. Getting 1000 right is a breeze if you have manufacturing down. But getting millions of software/hardware combos out, and working reliably for a decade? Good frickin' luck. Think of your smartphone, your smart TV, your set-top box, your cable box, your games console, for a moment: have they been smooth and easy to operate? Have they stopped working while you were using them? Did you ever switch them on to do something and then be stopped because of a "Mandatory Update" that required 20 minutes?

Software cars won't be any different. Enjoy.