The biggest limiting factor that EVs face today is the cost of batteries, and that's something that BMW is running into right now with the updated 2017 BMW i3 (94 Ah). That mouthful of a name points out the battery capacity — 94 ampere hours (33.8kWh) — an increase of more than 50% over the previous i3 and is good for 114 miles on a single charge. In other words, far short of what the Tesla Model 3 will deliver.

The BMW i3 is getting a 2017 range boost to a mere 114 miles per charge

BMW is mum on how much the new i3 will cost, but the current i3 starts at $42,400 (for 81 miles range). And that's for what is ostensibly a tiny, though nice, electric car. We drove the i3 at CES 2014 and it was a nice car and a fun drive, as all electric cars tend to be, but at 42 grand it's a big ask.

BMW also offers an version of the current i3 with a "Range Extender", i.e. a gas-powered generator (for an extra $4,000) that adds 70 miles to the car's range.

The Tesla Model 3, on the other hand, will start at well under that — $35,000, to be specific — when it starts production at the end of 2017, and it will deliver a starting range of 215 miles per charge. And knowing Tesla, they'll offer larger battery packs for an additional charge, further extending the Model 3's lead in range. Tesla's cost advantage will come in that battery pack; they've already managed to get battery costs down under $190/kWh, with further reductions expected when Gigafactory 1 becomes fully operation