Gravity Software Wishlist 2026

Deterministic, yes, assuming all other things are equal. And that’s a big assumption. There are many variables; different hardware, many possible states, etc. It is entirely possible for those variables to combine in a way that creates bugs for only some vehicles, as those are the ones with differing variables.
Since we are already in a cat fight, might as well keep going 😼
I like to break complex things down to the most basic elements, because if we can't make basics work, then what are we doing?

if (button_is_pressed == TRUE) start_action = TRUE;
else start_action = FALSE;

is that deterministic enough with few enough variables?
Well, this must be complex and non-deterministic for Lucid because it's not happening in my car for some functions, some of the time.
😺
 
Since we are already in a cat fight, might as well keep going 😼
I like to break complex things down to the most basic elements, because if we can't make basics work, then what are we doing?

if (button_is_pressed == TRUE) start_action = TRUE;
else start_action = FALSE;

is that deterministic enough with few enough variables?

But that’s a strawman. No button push is ever that simple in a vehicle. You’ve created a false hypothetical. Setting a variable? Sure. Running a single function? Okay.

This argument is no different from “I typed www.google.com into the Google Chrome URL bar and the page didn’t load, so Google Chrome sucks.” Er… is the internet down? Do you have a VPN running? DNS working? Your Ethernet wire eaten through by a mouse? There are thousands of computers between yours and the one serving a response; none of it is simple.

The issue is *what actually happens when you push a button* might be very complex and not simple. It may need to turn on the AC compressor - what if that fails? Oh wait, this car doesn’t have a compressor, it has a heat pump… see what I mean? If everything were a simple one-liner, you’d be right.

But it simply isn’t. (No pun intended)

Software is complex. We shouldn’t pretend otherwise.
 
Software is complex. We shouldn’t pretend otherwise.
Embedded software is not THAT complex, strawman is comparing a local button handling to an internet infrastructure.
A button is wired to a local silicon chip, which has an interrupt system to prioritize local hardware events.
It does not get any simpler to act on a local button press with local response, no remote system involved whatsoever.
The fact that button response is erratic has nothing to do with world's complexity, it is simply a shitty quality of work of a very small and very specific set of people.
I would not care so much, but I just can't stand liars and people who cover for liars.
The only reason I paid $120k for this car is because a very charismatic man with smooth British accent has shown me multiple videos with detailed breakdown of world's best engineering teams, making world's best EV. He looked me right in the eye and promised there will be no compromises and it will not leave the factory until it's perfect.
And now I have a bunch of dudes on the Internet forum telling me that car software is too complicated.
 
Embedded software is not THAT complex, strawman is comparing a local button handling to an internet infrastructure.
A button is wired to a local silicon chip, which has an interrupt system to prioritize local hardware events.
It does not get any simpler to act on a local button press with local response, no remote system involved whatsoever.
The fact that button response is erratic has nothing to do with world's complexity, it is simply a shitty quality of work of a very small and very specific set of people.
I would not care so much, but I just can't stand liars and people who cover for liars.
The only reason I paid $120k for this car is because a very charismatic man with smooth British accent has shown me multiple videos with detailed breakdown of world's best engineering teams, making world's best EV. He looked me right in the eye and promised there will be no compromises and it will not leave the factory until it's perfect.
And now I have a bunch of dudes on the Internet forum telling me that car software is too complicated.
I think there's a fundamental misunderstanding of how these software systems work and why people say they're indeed complicated.

Let's take this "press a button to turn on AC" example:
  • Triggering the button onscreen requires registering it on the capacitive touchscreen, confirming the state of the screen and that's indeed the button you're triggering (e.g., you can "mistap" if the system thinks you're on a different screen/rendering something else)
  • The tap tries to set the button state; since we're using the infotainment system, this is Android which means it's *not* real-time, it's an interrupt in the OS that gets scheduled and handled by the Android kernel (compared to driving systems using QNX, which would be real-time)
  • The actual action is likely going to be pushed onto an event queue, like most modern UI frameworks (i.e., "reactive UI")
  • Something listens to the queue and grabs the event action and tries to execute it. Note that there's a chance for a race condition in this step; this is how UIs sometimes lag (b/c the queue is backed up, see above about non-real-time) by not processing events for a while and then suddenly processing a bunch of events all at once, in a nondeterministic order
  • The event processor then has to send commands to the hardware to turn on/off the compressor and/or heat pump, and then either wait synchronously for a response or set up yet another async handler to confirm that it did toggle the state
There are so many points of possible failure and unexpected behavior in that stack of code, and I've debugged a lot of them just for simple websites, not car infotainment systems.
 
I think there's a fundamental misunderstanding of how these software systems work and why people say they're indeed complicated.

There are so many points of possible failure and unexpected behavior in that stack of code, and I've debugged a lot of them just for simple websites, not car infotainment systems.
Not sure who's position your post is defending, mine or @borski ?
Obviously I was a bit sarcastic in over-simplifying the issue, but your well written process is still only 5 steps long, all local, where each step is the most basic function people invented decades ago. Surely we know how to implement this reliably in 2025, right?
Is this blaming Android OS for being unreliable?
Did Google force Lucid to use Android OS? Were there other options available?
 
Not sure who's position your post is defending, mine or @borski ?
Obviously I was a bit sarcastic in over-simplifying the issue, but your well written process is still only 5 steps long, all local, where each step is the most basic function people invented decades ago. Surely we know how to implement this reliably in 2025, right?
Is this blaming Android OS for being unreliable?
Did Google force Lucid to use Android OS? Were there other options available?
My main point is that modern software, particularly bits that interact w/ the end user, aren't really all that "simple" despite people thinking that it is.

And ironically, it's usually the cheapest, most widespread software that's the most reliable, since it has the most users who've been hammering on it for years/decades, there have been a ton of iterations and patches to make up for shortcomings, etc. For example, in early touchscreen days it was not an uncommon sight to get the capacitive touch layer out of sync with what the OS is registering as a tap, so you tap elsewhere on the screen to trigger the action (see: early car infotainment touchscreens). Nowadays—not so much, since we've spent 2 decades with the tech.

The biggest fallacy here is assuming that just b/c something costs a lot and is bespoke, that it's somehow better than the cheap common software stack that everybody uses. If you spent, say, $100mm to hire a consulting firm to build you a custom OS, it turns out it'll be much worse than the Android OS you'd find in a $20 tablet.

But no, Android OS is rock solid at this point; I just wanted to show that no piece of software is simple and easy, and when you get into debugging and figuring out what could be going on, it's not just a matter of checking a boolean and going "A ha! Some idiot didn't save the setting!" Having seen the car operate for 1+ months now, I'm not seeing that many bugs or issues w/ infotainment UI/UX—both the Android OS and the Gravity interface they've built on top of it run pretty well. What people are complaining about—the random notifications, keyfob, black screens, LiveView timeouts, etc.—to me are signs of firmware problems where the hardware is sending the wrong signals to the software stack and the software is being somewhat naïve about reacting to them. For instance, me and other Gravity owners have learned to ignore the "USB not charging" notification that comes up mid-drive, and if I had to guess it's b/c those USB controllers sent something to the OS and the car's just dutifully interpreting that signal and letting the user know to "contact Lucid service" as if it's some fatal error.
 
I own 2 Chevy Bolt EVs, 2018 and 2023 models. As far as I'm concerned it's a perfectly executed product. User interface is rock solid, simple, intuitive, has everything you need, including CarPlay. If I could transplant Bolt EV infotainment into my Gravity I would be 100% happy. I hear GM is laying off people, maybe Lucid should hire them 🤔
 
I own 2 Chevy Bolt EVs, 2018 and 2023 models. As far as I'm concerned it's a perfectly executed product. User interface is rock solid, simple, intuitive, has everything you need, including CarPlay. If I could transplant Bolt EV infotainment into my Gravity I would be 100% happy. I hear GM is laying off people, maybe Lucid should hire them 🤔
Maybe hire from the Pasadena GM Design Studio that had a fire 🤭
Fire at GM Design Studio in East Pasadena Triggers Four-Alarm Response https://share.google/MUyk8d58SLWzTnD1l
 
Embedded software is not THAT complex, strawman is comparing a local button handling to an internet infrastructure.
Really? What happens after the button is pushed?

A button is wired to a local silicon chip, which has an interrupt system to prioritize local hardware events.
Cool. And then what?

It does not get any simpler to act on a local button press with local response, no remote system involved whatsoever.
Oh? What happens after the button is pushed? Presumably, it does... something else, yes? I can guarantee you that the 'button being pushed' physically is not the issue, lol. The issue is that whatever software function or process is intended to run after the button push occurs either doesn't run, or has a bug, or is stuck waiting for a memory lock to release, or a thousand other possibilities.

So again, this is a strawman. When you type keys on a keyboard and hit enter, clearly the enter button and the key pushes are "wired to a local silicon chip, which has an interrupt system to prioritize local hardware events." But, that is just the first step in a much longer chain of events that causes google.com to load in your browser. Surely we can agree on that?

The fact that button response is erratic has nothing to do with world's complexity, it is simply a shitty quality of work of a very small and very specific set of people.
Okay. Except the button responds fine. It's the software that doesn't.

I would not care so much, but I just can't stand liars and people who cover for liars.
I am neither a liar nor covering for liars, and I'd recommend not using insults as an argument.

The only reason I paid $120k for this car is because a very charismatic man with smooth British accent has shown me multiple videos with detailed breakdown of world's best engineering teams, making world's best EV. He looked me right in the eye and promised there will be no compromises and it will not leave the factory until it's perfect.
And now I have a bunch of dudes on the Internet forum telling me that car software is too complicated.
I never said it was too complicated. I just said it was complicated. You took it to the extreme.

There exists a place between 'as simple as lighting a match' and 'too complicated to build.' This is not a binary; building software for an EV can be both complex and doable. Your argument is that it isn't complex, and that is what I disagree with.

I never said it wasn't doable.
 
Your argument is that it isn't complex, and that is what I disagree with.

I never said it wasn't doable.
OK, cat fight is over, we both said what we wanted to say and really not much disagreement there.
Of course it's both complex and doable, my main complain is about timing and priorities, i.e. get the basics done before public release, then take your time to add fancy stuff with OTAs.
Savage Geese video had a big effect on my perspective, which I posted in that thread, so not much more to say here.
Peace...
 
OK, cat fight is over, we both said what we wanted to say and really not much disagreement there.
Of course it's both complex and doable, my main complain is about timing and priorities, i.e. get the basics done before public release, then take your time to add fancy stuff with OTAs.
Savage Geese video had a big effect on my perspective, which I posted in that thread, so not much more to say here.
Peace...
Happy to shake on it :)
 
I agree on the night camera challenge. Back up camera is largely useless at night. But the same is true for my R1S. If they’re not using cameras for ASAD (and I don’t believe Lucid or Rivian are), they don’t need to spend to have better cameras.
WTF is ASAD? There are far too many acronyms on this forum for a first time EV buyer like me. First time use should be spelled out (if only for me) and the acronym in parentheses (like all good technical writing).
 
WTF is ASAD? There are far too many acronyms on this forum for a first time EV buyer like me. First time use should be spelled out (if only for me) and the acronym in parentheses (like all good technical writing).
1. ADAS (Advanced Driving Assistance Systems)
2. Pls read manual. 😂
 
Having been a longtime systems integrator (spacecraft ground systems), I was curious as to the current state of the art in automotive advances. Referenced YT video provides a look under the covers I think. It is about Rivian, but I think it is indicative of what Lucid is doing when moving from the Air (Gen1?) to the Gravity (Gen2?). Video is 9 months old, but does show what the hardware/software engineers are facing.
 
No, I actually wrote “ASAD” when I meant “ADAS”…all good.
1761592097564.gif
 
IMG_0636.webp
on Livenview : please do not restrict it to a battery state of charge. 20% seems too high. There's plenty of charge and range.

Shutting off Around 5% is ideal.
 
Back
Top