You also have to remember when SYNC was in the planning stages long before the public knew about it. I was part of the original team responsible for taking the whole concept to reality.
I can tell you that internally, it was one of the most well run software architecture teams I was ever apart of. The middle level managers really know how to run software teams which is not something you might expect from a big old automotive company.
But in many ways, our hands were tied. Recall about the time Bill Gates and Bill Ford riding around in a model-T. A lot of us didn't want Windows for automotive and were trying to champion Linux. Also, the iMX3 which was in the first generation SYNC modules was at the time a slow processor.
And to top things off, a fair bit of the software running on the SYNC module is not written by Ford. Ford partnered up with a crappy company called B-Squared.
The Maps are not Ford's either. When I was on the team, Ford had partnered with INRIX for Maps, traffic and direction.
SYNC is just not a simple single board computer with some apps running on it. There is an entire eco-system build around the SYNC module because it's connected to the vehicle networks (CAN Bus). Microsoft & Ford being partners (Windows servers in data center), Microsoft wanted to handle some of the software development but when Ford asked Microsoft to sign off on some legal agreement asking MS to take any and all responsibility for things like inadvertently deploying an air bag, they backed off.
Also, Ford SYNC as I said has an eco system of roughly 20-30 backend applications that support it. Some of these have to do with 911 assist and the TREAD act. The TREAD act is the US Federal Government's oversight on safety claims.
Because via SYNC you can report problems and have your vehicle serviced, their is a lot internal logic that keeps track of what is called EOL (End of Line) data about a vehicle which needs to funnel into TREAD act reporting.
Think about the not so long ago Toyota problem where they tried to blame floor mats for gas peddles getting stuck.
Also, the GUI is not Microsoft CE native. The WindowsCE is just the OS running on the SYNC module. The GUI was Adobe ActionScript. Trust me, many of us yelled very loud about how stupid an idea this was but because B-Squared own the implementation (not the architecture), they were aloud to chose whatever they wanted to meet Ford specs. The results are a history less: JD Powers gave it SYNC poor ratings and many of us (myself included) got the hell out of dodge.
Middle managers, managing the day to day software architecture and specifications, were caught between a rock and a hard place with senior management (Allan Mullaly, Mark Fields, Bill Ford, Marcy Klevorn) pushing these partnership relationships we were forced to work within.
Sadly, this is how GUI design is in a lot of larger companies. The corporation hires a design firm to flesh out the UI concepts and test them on customers, so they quickly storyboard stuff up in Illustrator and Adobe Flash/Shockwave/whatever.
The concepts get tested, everyone gives a thumbs up, and then the software team gets handed a bunch of precooked assets and wireframes and told "make it run."
Then it's up to the embedded guys to make the system fly, except either a) the design firm has created graphics and animations so complex the underpowered hardware (designed and certified years ago on the last h/w cycle) can't make it go or b) the design guys took way too long in testing and focus groups so now the software guys are under the gun and instead of a rewrite/port, they port a crappy FlashLite player to the target hardware and cross their fingers.
Granted, that's no ActionScript, but very much a prototype being pressed into duty.
Just as Google and Apple do, QNX contains multiple open source components from other parties that QNX does not own the copyright to including code licensed under APACHE, BSD-2C, BSD-3C, BSD-OPENSSL, BSD-V, ISC-V, GPL2-EX2, MIT, MIT-V, MPL, MPL10, PYTHON, UL, ZLIB (this is copy-pasted from QNX's own open source license compliance documentation). Anyone can sue Ford directly for using those components just as they can with the use of Google or Apple software.
Now, if QNX itself provides a complete indemnification from both copyright and patent lawsuits arising from the use of said code and Apple and Google do not, that's a different story. But unless that is the case, Ford is no safer with QNX.
As an example, Ford is also a big Linux shop but they do not use any old Linux distro. They have partnered with Novell (SUSE Linux) who indemnifies them from all open source code found in the SUSE distribution.
When I was on Ford SYNC, no Google code ran on the module. The feature they are talking about is called Send To Sync and it's a web service where the SYNC module can receive a map planned on Google Maps. The mapping software in Ford SYNC is simply given the data output in the form of lat/long info.
I agree that Ford appears to consider the benefit of a QNX system high enough to accept the risk of patent lawsuit.
I actually know some high end cars with some decent user-interfaces that are also using Adobe technology.
However you can do crappy UIs and a crappy implementation in every technology. If JD power gave bad ratings it's most likely more due to a bad UI design and usability than due to the underlying technology.
I actually had expected that Ford uses Silverlight Embedded, as this was pushed by Microsoft at that time. Interesting that this is not case.
Good to hear that Ford has at least some decent understanding about software. Here in europe trying to do something Software-like isn't a pleasant experience at all.
Don't forget that most game UIs are still built in ActionScript, and they're just fine.
The fact is that there are fairly easy workarounds for this kind of legal threats. The "I Agree" is quite powerful button. Most consumer protection legal threats are actually fairly difficult to execute - thanks to severely weakened consumer protection laws in most states. Even if they do get executed in few rare cases or even become class action, settlements are fairly easy to achieve with often tiny impact on balance sheets. I understand that risks in automotive industry is higher when safety is compromised that case cause billions of dollars in recall in extreme cases (for example, Toyota and Firestone cases) but this is like wearing bullet proof vest all the time because you fear you will get in to some physco's shooting spree. These lawyer driven companies don't get wake up call until competition starts doing all these supposidly legally risky things and grabs all market share. Companies that win usually are fire firstt, ask forgiveness later kind. This is also the reason why enterprisy companies like Ford will never come out first with self driving car even if they had tech.
I had to work with some of those folks after they left B-Squared. Ugh. I shouldn't have to explain why you shouldn't just dump everything in the master branch, how to write a unit test, or why it's a bad idea to pull builds for app store submission from a random dev's machine. But I did. Which went a long way in explaining my horrific experience with the SYNC-enabled Ford I rented once. To someone not versed in the basics of professional software development, choosing embedded Adobe Flash probably seems like a good idea.
Ford had another venture with DWalt (the tool company) and they partnered with Magneti Marelli who did most of the work. I wasn't involved in that project, but that endeavor was a situation where Ford basically said here some dashboard space and a list of specs., make it work. This system was called Ford Works.
But as far as the Open Source indemnification goes - for the Android Auto use case it would be completely irrelevant right? That would be like suing Vizio for showing a pirated movie on the screen as far as I can tell.
For using AOSP - I can see that there may be some reservations there. But it is not unprecedented - Honda I think is using Android 4.0.4 to run their in-car system. Besides the biggest threat to Android from a patent / legal standpoint is Microsoft. Worst case Ford would pay up the $5 or whatever and still win on not paying QNX and having a better solution.
As for the dependencies / ecosystem - they could still support the older released models and start working with vendors/suppliers to get what they need supported on the new system. It's doable because presumably with the new Architecture - most things are either built in or you don't need those and people already have experience building what's missing. For example I don't see why they can't build the CAN Bus connectivity into Android in a way that it supports the same existing functionality.
I know it's work, money and risk but I think it would be towards a better outcome and there are some potential saving in not rebuilding everything from scratch and maintaining it and paying less royalties etc.
Keep in mind to add SYNC to your vehicle, it's $300 (or it was when it first came out). Cheap right? Ford is in the business to sell cars and what sells more cars, they want.
I'm not a lawyer, I see your point and was somewhat vocal on my own, but in my tenure I learned that Ford is a very successful company and they pay smart people to keep them out of trouble. I have to give Ford props for not taking any bail out money but I digress...
One more tid-bit I will add is that Ford never deals directly with the public. You get your vehicle serviced through dealerships.
So when Ford SYNC came out, they were trying to find away for customers to buy additional services via the SYNC system. This of course meant Ford had to now deal with the whole concept of accepting credit cards or finding a partner who knew how to accept credit cards.
As an architect on the team, one of my tasks was to assess the whole PCI compliance, what it would do to us if we got hacked, etc... In the early days, Ford tried to partner with PayPal to handle the credit card stuff but because Ford has a products it would collect for that are also provided by 3rd parties, it just made things very challenging. I'll spare the details but one of the issues I worked on was single sign on technology. You have a mix of technologies like WS-Federation, SAML, etc... and trying to get Ford and all the partners to adopt and stand up this stuff takes a L O N G time. Consider also some of these smaller companies don't have same budget as a Fortune-5 or even know what SAML is so you have a lot of educating going on too.
Best I can tell is that they're so tight with Microsoft (ex-employees, maybe?) so when a large F-100 class company wants an embedded GUI and goes to Microsoft first, MS sells them on WinCE and then points the client to B-Squared to finish the work.
Or maybe B-Squared is the only firm left still writing GUIs for WinCE.
Pepsi has had time to catch up and has recently launched Spire, their multi-flavor machine. They chose a simpler approach and skipped the whole microfluidic flavor cartridge thing. It's simply a revamped fountain/flavor dispenser with a new interface. It works just as well as Freestyle IMO, and actually has an advantage of using less physical space up front (but still needs the whole syrup stack behind the scenes)
If you interested in the flight industry, something I've been looking at too:
Check out Disti (www.disti.com). Disiti is a company with an HMI(Human Machine Interface) that is gaining a lot of attention and they came out of a military flight industry. Their displays are in the Apache helicopter and the Virgin Atlantic Space Ship as a couple of their selling points. Because of their military involvement, everything they do is ISO26262 compliant which is attractive to the automotive space.
Don't forget that after all your math and science and engineering efforts are over, it still comes down to who knows whom. I'm not trying to be cynical, I'm trying to say: Plan for your end game. Don't fool yourself about the actual nature of that end game; it is not technical.
Are you saying that the navigation and entertainment system in Ford vehicles is not isolated from the critical safety systems? If that's the case I hardly think sluggish interaction is the biggest problem.
Some bad designs might neglect those guidelines and build everything in one box to save costs. However I hope that those only happens in the cheapest offerings.
However I think the discussion between Ford and MS could be more due to political reasons. Automotive OEMs like to put all risks (whether likely or unlikely) to their suppliers and make them liable. Changes from standard automotive contracts are unlikely. And MS might not be not accept such a standard contract.
It is crazy because it's not as though a CAN or LIN bus is an expensive thing. It has been discussed ad nauseam that the option systems need to be segregated from the critical systems, and as far as I was aware, the entertainment / option systems were segregated.
The fact that any safety critical systems just die when the key comes out of the ignition, while moving at high speeds, is even more damning, IMO.
My point though is that the fact cars would be that fragile at all, that simple mistakes could disable critical systems, is bizarre. The MP3 player system should be totally unable to affect other operations, full stop. The ignition system shouldn't be able to kill power to critical systems.
Airplane passengers shouldn't be able to access flight controls.
I work for another fortune-5 company who uses linux in many products that we sell. Another well-regulated industry, too. I will concede that the hazards for operating automobiles are well-beyond many other industries' products.
I own a 2010 Ford Fusion with SYNC and I really enjoy the features. I suppose it could've been done better, but the speaker-independent voice recognition is stellar.
The one thing I do like though, is the voice commands. At least that actually made things easier. Speech recognition wasn't perfect, but it worked most of the time.
I wish there were more competition in the automobile in-vehicle tech platform space. I wish someone would get it right, given that most people are in their vehicles a good portion of the day.
Agreed that the actual GUI is atrocious and clunky. The way it deals with text messages is hilarious. Really I just pretend it doesn't exist and I'm happy.
The first generation SYNC has a monochrome display (blue or red on black) with a very basic GUI (like a 90s Nokia cell phone). Despite a 400MHz CPU and WinCE the menu is slow and looks ugly, but it is solid and works.
Later SYNC generations had a graphical GUI with touch, that's probably the slow Actionscript based one the other commentor mentioned.
With the MyTouch issues, several european Ford 2014 models still ship with the first generation SYNC. The SYNC menu features an appstore entry despite the appstore was never activated for non-US models. The Google Maps feature is not available, in the EU version. The MyFord website with additional diagnostic features about the car as well as software update downloads is only available for US car models. There are no updates e.g. for the european models, not from the car dealers nor from Ford website.