That said, I think the security implications are fairly important, since I expect one of the exposed features is to be able to unlock or start the car.
The difference here is that Tesla is creating a new, officially supported API explicitly for third parties, with official documentation, scoped authentication, and a developer program that requires registration (and in the future, payment). Presumably once the SDK is finalized they will start cracking down on apps using the older reverse engineered API.
The only new functionality AFAIK is a push API that allows cars to directly stream information to your server via their cellular connection; previously the information was available but required polling through Tesla's intermediary servers.
Fwiw Tesla's has been the best to work with in my limited experience. Ford's is also decent but the most important remote commands (like start/stop charging) seem to be hidden behind obfuscated endpoints. I spent quite some days trying to reverse engineer them but ultimately gave up.
I'd really like that (effectively allowing third parties to implement their own tesla app).
However, I suspect that no/very few third parties will be allowed to have that API scope.
This API looks like it is meant to control entire fleets.
Also, like Apple devices, I assume Tesla will have master control over the cars in the same way and can brick them if needed.
They’ve done this in the past a few times haven’t they? Like when people have done battery swaps or refurbs without Tesla’s approval?
It looks like they are just doing a free trial to hook in business focused customers so I'm doubtful it would be a good source for personal use when Elon turns on the money spigot.
> Consumers have the right to understand how their machines work
Windows and macOS aren't open source either and the vast majority of consumers don't care. It would be cool to be able to install an open source third party OS on your car though...
Are they in compliance with the GPL now?
As of 6 months ago there was no way to manually revoke an auth token
I'm sure you can find people who'd disagree, but it's far better to build on a standard than something homegrown.
Now, companies like Facebook have discovered the hard way that most users don't think carefully before giving away access to their data. All it takes is one app that says "I'd like access to everything you can see on facebook please", and that's how cambridge analytica happened.
Ever since then, the vast majority of companies have locked down API's - because the company doesn't want to get in legal hot water for the actions of a third party app granted full access by the user.
What you're saying is orthogonal and more about figuring out how to effectively manage users and the accesses they can grant, how easily they can grant certain permisisons, how often they should review access, all that.
Facebook has had issues there, and I'd say Android has also had issues with similarly vague/permissive grants (local-only, completely outside OAuth2), and has learned ways to proactively manage those for users and keep sets of permissions minimized to apps you actively use/want. But none of those really has much to do with whether or not oauth2 is a great way to allow third party access to user resources. That remains a really solid control mechanism.
This is a more official and more secure way to do the same - the user/tesla is in full control of which apps have access, what data each app can see, and can revoke access anytime.
[0]: https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/418
[1]: https://developer.tesla.com/docs/fleet-api#response-codes
That's an annoying amount of work if you just want to access your own car
I would ask questions like... "what streets around here have parking meters" and give me a list to look out for.
Quick glance through the API docs and I'm not seeing it.
Too bad. It contains a ton of great stuff, more than their app surfaces.
I’d be quite happy with just read-only access. I bet devs could make some great stuff.
My GitHub is in my profile; the very ugly code is up there.
I guess this means that the remote parts have basically unrestricted access to what they can do to the car that you theoretically own. Fun times.
that is quite the api url
You do need an account with Tesla to buy a new one though.
*and PIN if applicable
Free trial.
Tesla APIs are temporarily free during this trial period.
Oof.I wonder if this is one more reason Tesla vehicles have gotten cheaper and cheaper. Elon's probably betting on how much companies would pay for access to APIs and thus user data, and gain income to Tesla on top of simply profit margin on the vehicle itself. Much like he's doing at X. I wouldn't be that surprised to see Tesla data become a major part of X strategy as an "everything app" if he continues that path.
Definitely has me second guessing the trigger I was about to pull on that Model 3 performance that just keeps getting cheaper.
Tesla doesn't expect end users to use this API. This is meant for fleets (like rental companies).
What I'm trying to say is that this is unrelated to regular folks' cars. For this you need to manually authorize access to your car, and then they can do things like unlock the doors[1]. It's meant for rental agencies and such. Not to scrap data of any Tesla owner (like Twitter Firehose)
There are real costs to Tesla to run this API, likely primarily the cell bandwidth, so it makes sense to pass those costs on to users instead of subsiding them, which would likely lead to inefficient use of the API or even abuse.
Instead, your rental or motor pool Tesla will just have a few customizations.
If not => it's a service, not a product.
But yes, if you are fine with not using Superchargers (which would be insane) or the built-in internet then you don't need to deal with the vendor after purchasing the car.
(No pun intended with the X)
As for the API, then yes, if you want to buy a fleet of Teslas and manage them with your custom software, you need to go through Tesla. That API is a service and not a product. The car is still a product though.
He’s clearly one of the most impetuous CEOs in the tech industry. If you think that won’t affect people’s decision to partner with the companies he runs, well, you don’t have enough experience with these sorts of deals.
There's probably 10,000s of devs who think otherwise, tho.
After being harried to hurry up and build something exactly to the 34th revision of their ever-changing specs (the inside of the electrical panel was powder-coated the wrong manufacturer-original color and therefore unacceptable, and on and on...) and warned about the severe penalties for late delivery and downtime, we got it all finished only to find that they weren't actually ready for it yet. The production floor where it was supposed to go has no room, they haven't gotten permits to even start to pour concrete where it's going to go later...
The one good thing I can say is that at least they paid on time, even though they didn't take delivery yet - better than a lot of "net 30...months" OEMs out there.
The pictures I've seen of panel gaps on their cars say otherwise
https://insideevs.com/news/405366/porsche-taycan-panel-gap-v...
https://www.f150lightningforum.com/forum/threads/minor-gap-b...
Which new EV isn’t having issues with Panel gaps?
1) it seems silly to build anything on Teslas platform. 2) it seems silly for customers to add more commercial stuff on top of Teslas platform.
Even as someone who develops software for a living, I think most tech out there today is stupid. Some is useful but most seems not. And occasionally someone shows me use for something I thought was dumb, but I can usually go on without it.
Am I a luddite?
If I understand you correctly, you think that there is no value to be added by software to a Tesla.
There are very obvious counter examples. E.g. fleet management for rental cars or 3rd party navigation (in the case of these APIs running on a phone, but using the API for e.g. the current state of charge). There are countless other possible products to be built on top of Teslas platform.
https://developer.tesla.com/docs/fleet-api#door_unlock
Oh my god, what a cool sounding endpoint https://developer.tesla.com/docs/fleet-api#set_bioweapon_mod...
Edit: This is coming up to EOL, Tesla has an SDK you should use now