Welcome to Tesla Motors Club
Discuss Tesla's Model S, Model 3, Model X, Model Y, Cybertruck, Roadster and More.
Register

Any update on the now quiet SDK rumors

This site may earn commission on affiliate links.
Sounds more like shortsighted laziness to me. A true SDK with in-car apps would allow developers to extend the features of the car, maybe giving us things that Tesla has not thought of. Instead, by "projecting" an iPhone or Android screen, you would be limited to smartphone apps that know nothing about your car or how to interact with it.

The way I see it would be a smartphone app that can connect to the Tesla via Bluetooth LE to access read-only telemetry and all other variables and settings (odometers, energy use, speed, temps, SOC, etc) and then project the app onto the main screen. That would be pretty easy for Tesla to implement a BTLE API and carplay... and it would be almost as good as having a native app. Even better actually, because the smartphone app would have separate internet access so it could interact with other server-based services, whereas it's possible SDK apps running in the car itself might be sandboxed from outside internet access for security purposes.


Come on Tesla, let's do this!
 
IMO, the true reason they are dumping the SDK is purely for security.
Maybe, but I think the far more likely explanation is that they clearly have other priorities and have zero interest in improving media handling and little interest in improving navigation. By implementing Android Auto/CarPlay they can do the work once and mostly wipe their hands of at least the media part of the system.

It's not like Android Auto and CarPlay are going to be 100% secure, anyway (sorry, liuping).

I find it more likely that the true reason they are dumping the SDK is not security, but that resources are dedicated to Autopilot and CarPlay/Android Auto are seen as easier to implement.
 
I watched the Hong Kong video first and then saw this thread. I'm pretty bummed about this as I had planned to write a few apps myself. I've had an interest in this for a while, and wrote up a short piece on what I thought was going to happen back in 2014:

Tesla And The Coming Automotive App Economy - Tesla Motors (NASDAQ:TSLA) | Seeking Alpha

Unfortunately, this is an unwelcomed bookend. My guess is it is primarily resource related with security as an added topper.

Elon Musk: No App Ecosystem Coming For Tesla, Favors App Projection - Stephen Pace | Seeking Alpha

I still think if Tesla took 30% of the revenue, that would pay for some heavy duty app review processes. But I understand the effort to get there securely is immense. Not to say Tesla couldn't change their mind down the line, but a bummer for now.
 
I'm very unconvinced by the security argument.

I'd architect the whole UI system as a Chrome based browser with the only interface to the car through very circumscribed API's with no access to the car's actual driving controls. Rebooting the displays would always revert back to Tesla's code with the user having to start the 3rd party apps. Even if there were some kind of exploit, simply disabling that app and/or fixing any leaks in the sandbox would stop it from functioning. Tesla always has the capability of both monitoring and updating the software load.

All the apps would be open sourced and written in JavaScript and distributed only though a Tesla App Store, perhaps a special part of the Chrome App Store. They could only be publicly listed after the same kind of volunteer review process as the git model. I'm sure there would be no lack of people willing to review such apps. Malicious or really broken code getting though the review process seems unlikely, and it's not like the current code doesn't crash.
 
Carplay/Andriod auto will give us access to a huge variety of audio streaming/media playback options and new navigation options, in a way that is 100% secure and can be implemented fairly quickly.

Except Elon said "mirroring", he did not specifically mention Carplay or Android Auto, right? Seems like Elon is avoiding mention of Carplay. I wouldn't be surprised if Elon was thinking more along the lines of AirPlay, which quite literally mirrors your iPhone screen but all interaction must take place on the iPhone.
 
Except Elon said "mirroring", he did not specifically mention Carplay or Android Auto, right? Seems like Elon is avoiding mention of Carplay. I wouldn't be surprised if Elon was thinking more along the lines of AirPlay, which quite literally mirrors your iPhone screen but all interaction must take place on the iPhone.
He didn't say CarPlay/Android Auto specifically, but that's almost certainly what he's referring to. The only other mirroring alternative on iOS is AirPlay, as you've noted. Even third-party apps on Target devices (like the theoretical Model S center console) stream through the AirPlay source on iOS. And I will grant you that, at least for AirPlay, there are already linux projects that enable this. Tesla could probably have something like that up and running with very little work.

However, they'll likely run into legal trouble if they do that. Both AirPlay and AirPlay display mirroring support video transmission, and at least in most US states, it's illegal to have a display visible from the front seats capable of playing video while the car is in motion. To my knowledge AirPlay targets can't filter video sources, and it's even less likely on the Android equivalent. So they'd have to hide the display when the car is moving, which is exactly when you'd need it for navigation and media options.

If he's serious about mirroring, CarPlay and Android Auto are really the only viable options. He didn't mention them by name because he didn't want to see "Tesla to add CarPlay and Android Auto support" in the news the next day. The statement also implies they're not seriously working on it at the moment, which is pretty disappointing.
 
Except Elon said "mirroring", he did not specifically mention Carplay or Android Auto, right? Seems like Elon is avoiding mention of Carplay. I wouldn't be surprised if Elon was thinking more along the lines of AirPlay, which quite literally mirrors your iPhone screen but all interaction must take place on the iPhone.

However, they'll likely run into legal trouble if they do that. Both AirPlay and AirPlay display mirroring support video transmission, and at least in most US states, it's illegal to have a display visible from the front seats capable of playing video while the car is in motion. To my knowledge AirPlay targets can't filter video sources, and it's even less likely on the Android equivalent. So they'd have to hide the display when the car is moving, which is exactly when you'd need it for navigation and media options.

^this

It was pretty clear to me that Elon was talking about car play and android auto. That is the quickest to market, and probably the only way of doing it for iOS.
 
The Pioneer AppRadio can be hacked to allow touch control on either the phone or the head unit display. It does require a hard wire connection but that can be done with one of the USB's in the MS. I have the AppRadio 3 in my truck and haven't done the hack which requires rooting the phone but many others have.

If Tesla wanted they could make it happen pretty easily and without rooting phones.
 
First, it should be possible for Tesla to (re)design their onboard software to allow 3rd party applications to run and prevent them from accessing any of the mission critical functions that could impact driving or safety. This type of architecture is well understood and been used in many products and operating systems - for many years. But, if Tesla didn't plan this from the beginning, retrofitting this onto an existing design could be so cost-prohibitive that it might be cheaper to start over than trying to fix it.

Screen mirroring is another solution - where you don't allow any 3rd party apps to actually run in the onboard hardware. Instead, limited access is providing to the car's user interface - display, touchscreen input, ... along with access to a few non-critical car functions - like adjusting speaker volume.

Apple and Google provide solutions. Bosch and QNX are offering an alternatives - and there may be other smaller players out there that could help.

Overall, what could be at the heart of Tesla's software problems is the size of Tesla's development organization. While Tesla has built pretty incredible hardware, as more capabilities are controlled by onboard software - the amount of software and developers required can increase considerably. And Tesla is trying to compete with much larger organizations - with much larger software staffs - who have been able to provide more complete implementations of their onboard apps (really - we still don't have playlists or waypoints?).

To compete, Tesla likely needs to partner more and take advantage of 3rd party software investments in order to have a more competitive software product. And, unfortunately, their largest software partnership with Garmin for the Navigon navigation software has been terrible. We aren't getting map updates - there are many inconsistencies between the Navigon map & data and what's displayed with Google maps on the console. And probably the only way to really fix the navigation software is to throw out this hybrid solution - and do something different - with a single set of maps and applications.

And, with the Bolt coming out before the Model 3, Tesla really needs to do something to compete more effectively with their software - since the Bolt is going to have Android/Apple integration - this year...
 
Right. Really at issue here is that Tesla is clearly still resource-limited, as noted by software progress, job postings, and public statements. While that's true, they're also extremely averse to going to 3rd party vendors for solutions. We know they've been burned several times, and in general give strong preference to doing everything in-house.

When you're resource-constrained and demand to do everything yourself, obviously progress slows.

Maybe there's a bit of a thaw in that way of thinking by allowing mirroring, but this was just one of Elon's off-the-cuff remarks. It may amount to nothing. We'll have to wait and see.
 
Just to re-quote what Elon said in HK: "As we have sort of thought about it more, the logic thing to do from an App standpoint it to maybe allow Apps on your iPhone or Android to project onto the centre display, as opposed to trying to create a new App ecosystem. So that is probably going to be our focus in the future - to enable you to project Apps from your phone to the centre screen."
Not being a software developer I'm unclear on what that means. Does it literally mean that your iPhone or iPad or Android screen display will appear in the center display and that you will be able to interact with the center display using touch and that will control the app on your phone?
Others seem to be saying it means that you will be able to run Apple CarPlay or Android Auto from your phone but showing on the center display. If so, then CarPlay and Auto will have to need to connect to systems in the car to play music and relay phone calls, correct?
Or does it mean both those things?
 
Just to re-quote what Elon said in HK: "As we have sort of thought about it more, the logic thing to do from an App standpoint it to maybe allow Apps on your iPhone or Android to project onto the centre display, as opposed to trying to create a new App ecosystem. So that is probably going to be our focus in the future - to enable you to project Apps from your phone to the centre screen."
Not being a software developer I'm unclear on what that means. Does it literally mean that your iPhone or iPad or Android screen display will appear in the center display and that you will be able to interact with the center display using touch and that will control the app on your phone?
Others seem to be saying it means that you will be able to run Apple CarPlay or Android Auto from your phone but showing on the center display. If so, then CarPlay and Auto will have to need to connect to systems in the car to play music and relay phone calls, correct?
Or does it mean both those things?
The way CarPlay and Android Auto work is that your phone creates the actual display content, which is relayed to the car for display. Essentially, you can think of them as using the car as an external monitor. It's a bit more complex than that as the car gets a custom output different than what's displayed on the phone itself, and it can convey control information like taps on the touchscreen back to your phone for processing, but that's the general idea. They would have access to, at a minimum, the car's display (or a window within the display), the speakers, and the car's microphone.

If you've used Remote Desktop or VNC to use a remote computer before, you have the general idea of what's involved. It's essentially that with a fancy interface on top.

The reason many think Tesla won't just mirror the phone display, another viable option that technically matches Elon's statement, is that this would permit video and other undesirable content on the console, and carries the limitation that all interaction must occur through the phone: a distracted driving risk.
 
A number of folks have mentioned other companies having SDKs.

However, does anyone know what these have access to? There is a lot of talk about 'infotainment' access and allowing iOS and Android access to some features so that the CarPlay and Android Auto apps can be more functional.

Are any of them allowing access to performance data?
 
^this

It was pretty clear to me that Elon was talking about car play and android auto. That is the quickest to market, and probably the only way of doing it for iOS.

If that's the case, why didn't he use those terms specifically instead of the term "project apps"? Musk picks his words carefully and I suggest we interpret them just as carefully. I would not assume he was talking about CarPlay or Android Auto, because if he were, he would have used those terms. By using the word projecting, he is being very specific and saying that the center console will be used as a display device only. Projection to a display device does not necessarily include interactivity with that display device.

I don't believe the Model S can support CarPlay without additional hardware. If it could, Tesla would certainly have labeled the car as "CarPlay capable" or something along those lines, knowing how much Tesla loves to advertise features that don't exist yet.
 
If that's the case, why didn't he use those terms specifically instead of the term "project apps"? Musk picks his words carefully and I suggest we interpret them just as carefully. I would not assume he was talking about CarPlay or Android Auto, because if he were, he would have used those terms. By using the word projecting, he is being very specific and saying that the center console will be used as a display device only. Projection to a display device does not necessarily include interactivity with that display device.

I don't believe the Model S can support CarPlay without additional hardware. If it could, Tesla would certainly have labeled the car as "CarPlay capable" or something along those lines, knowing how much Tesla loves to advertise features that don't exist yet.

I would definitely characterize what CarPlay and AA do as "projecting" apps onto a car infotainment screen.

I agree that the term "projection" doesn't guarantee (or even imply) interaction, but if you were wanting to avoid mentioning brand names, I'd expect you'd select some generic term and re-use it. I wouldn't look further into his word choice than that.
 
If that's the case, why didn't he use those terms specifically instead of the term "project apps"? Musk picks his words carefully and I suggest we interpret them just as carefully. I would not assume he was talking about CarPlay or Android Auto, because if he were, he would have used those terms. By using the word projecting, he is being very specific and saying that the center console will be used as a display device only. Projection to a display device does not necessarily include interactivity with that display device.
I responded to both of these questions/concerns earlier in the thread, but I think as we should all be quite aware by now that Elon does not pick his words carefully. The opposite, in fact, saying whatever he believes to be true at any given moment. It's refreshing to hear a CEO to speak unfiltered, but at the same time you have to be careful how much you read into what he says.

As noted, though, if he does intend to do a raw mirror of the display, it rules out iOS devices being supported while the car is in motion. I checked the documentation and, as suspected, it's not possible to filter video from an AirPlay mirror. The only option to comply with the law in the US would be to allow iOS devices to work when stationary. I'm not familiar enough with Android to see what the options are there. I know we have some Android developers here, perhaps someone could take a look.

There's the open-source MirrorLink alternative (essentially a 3rd-party CarPlay/Android Auto), but again, it doesn't work on iOS.

I don't believe the Model S can support CarPlay without additional hardware. If it could, Tesla would certainly have labeled the car as "CarPlay capable" or something along those lines, knowing how much Tesla loves to advertise features that don't exist yet.
It shouldn't require additional hardware. The display runs Linux, which CarPlay supports. The display has access to a USB port, which is necessary for tethered CarPlay. The requirements for wireless CarPlay are still unclear, but having both Bluetooth and WiFi means there's a pretty good chance it could do that as well. The car might have to be the WiFi access point, though, not the client, which may prevent the wireless feature.

Who knows what he actually means, and it'll probably be years and years before we even get a clue, but it seems pretty unlikely to me that display mirroring is a realistic option.
 
If that's the case, why didn't he use those terms specifically instead of the term "project apps"?

Three reasons:

  1. It was an owners gathering with a large and mostly non technical audience. Using 'projecting' is easier to understand.
  2. Tesla have been saying for years 'no carplay'. Soft pre-announcing the change of direction (the 're-thinking' part of the quote).
  3. There is simply no other practical way of doing it.

That said, the statement was couched in so many ways, there is nothing in there that is a commitment to anything. Merely a 're-thinking the approach'.

For "no other practical way of doing it", we actually have (a) carplay/android auto, (b) airplay, and (c) custom solution. The first is what I am suggesting was his meaning and the only practical approach. The second would mean you would have to interact with the phone not the 17" display (messy). The third is probably technically feasible over USB, but would require every App maker to write to a custom Tesla interface and for Tesla to police that ecosystem (given the different legislation regarding in car displays around the world).

I wish I had asked the question, because the follow up would have been "Do you mean carplay and android auto?", but my understanding was that was what he meant.
 
Come on guys, we've all been around for a while -- you don't seriously believe Musk meant what he said, did you? Sounded like Elon thinking out loud, aspirational speak to me.
We've got to break that bad habit of wanting to believe him when he says things we want to hear (unless its AP-related, of course).

QUOTE=ecarfan;1342790]Just to re-quote what Elon said in HK: "As we have sort of thought about it more, the logic thing to do from an App standpoint it to maybe allow Apps on your iPhone or Android to project onto the centre display, as opposed to trying to create a new App ecosystem. So that is probably going to be our focus in the future - to enable you to project Apps from your phone to the centre screen."
Not being a software developer I'm unclear on what that means. Does it literally mean that your iPhone or iPad or Android screen display will appear in the center display and that you will be able to interact with the center display using touch and that will control the app on your phone?
Others seem to be saying it means that you will be able to run Apple CarPlay or Android Auto from your phone but showing on the center display. If so, then CarPlay and Auto will have to need to connect to systems in the car to play music and relay phone calls, correct?
Or does it mean both those things?[/QUOTE]
 
Come on guys, we've all been around for a while -- you don't seriously believe Musk meant what he said, did you? Sounded like Elon thinking out loud, aspirational speak to me.
We've got to break that bad habit of wanting to believe him when he says things we want to hear (unless its AP-related, of course).

Yes, I believe this is a statement in a change in direction away from an app marketplace to a device driven app window. Years ago he promised an SDK and apps, but many years later that hasn't panned out due to other priorities like dual motors and autopilot. So yeah, I think it's serious.