Well, bear in mind that, as much as Tesla software could use improvement, it is still head and shoulders above any other car.
I'm not sure I completely agree. The Tesla software is nice looking and works well, but it is missing many features a lot of other cars already have and have had for years.
I'm coming from a Chevy Volt, and I would trade the Tesla "Media app" for the Volt's media stuff in a heartbeat. Playlists, shuffle, on-board music storage, video capability, etc. As much as I like Tesla, saying it is better than any car is nonsense.
- - - Updated - - -
I'm a software dev myself, and what I miss in this thread is the 20/80 rule... it takes 20% of the time to build 80% of the functionality, and it takes 80% of the time to build the final 20% (plus test/debug). And often the final 20% grows out of hand fast with scope creep and such, making it a never ending story.
The TS/OP sounds like a real dev too, as in way too optimistic in his estimates. Code up a shuffle function in a couple of hours? Sure if everything is aligned and all the pre work is already done, if you know the whole application (as in you wrote the rest also), all playlists etc. are available to you in a neat way, you might be able to get it done, but the devil is in the details. They probably would have done it already if it was that easy.
Probably the original developers already moved on to something else, the API between user interface, media player, and media holdings devices might not be straight forward, or even a third party media player might have been used with just a UI slapped on by Tesla, we don't know... So all in all it might take a new hire weeks to get it done.
What also might be the case (pure speculation) is that they might have a new revamped media component in development and don't want to waste resources on adding features on something that will be replaced soon anyway (again, this is pure speculation from my part).
I'm an actual software dev, yes. And you are correct as far as details getting out of hand. However, I don't see that here. It's not that the details are getting out of hand... they aren't getting done period.
While I'm certainly optimistic in my estimates on how hard it would be to add shuffle, I'm not overly so. I could likely replace the media app completely with something more function in a day or two, so, adding shuffle to an existing framework including time taken to dissect the existing code is pretty much a no brainer.