Software Engineering Within SpaceX
yasoob.me
yasoob.me
I think that's all the validation we need for HTML/CSS/JS as the best tool for UI development nowadays. I wonder if there was actual shared code from the Dragon UI used in their online docking simulator. How neat.
It might be OK if the entire screen was READ-ONLY. Anything else sounds like a disaster waiting to happen.. I also don't understand why companies race to have their laptop display touch, but then again I'm just a random software engineer.
You are more likely to touch wrong button on touchscreen than on physical ui.
I can select very small text on my phone with my bigger fingers. And also with a touch screen you may have more options in a smaller space.
Sure, that may suck for critical things, but there probably are a lot of settings and so forth that could be hidden that are not critical?
But I understand what you meant, I prefer physical buttons as well.
The most annoying part is using touch screen in my car for GPS. It might be bad UI but also viewing angle might be making it hard to press right button. But then again I would not expect a physical keyboard in a car.
In physical land, it is very rare that I press a wrong button. Maybe when playing intense video games, I press jump too soon or use wrong gun. Oh and of course while typing.
Why? displaying incorrect data that might lead astronauts to taking the wrong actions could be just as deadly.
Try using your laptop in bed, on couch, browsing something with a partner, etc. The flexibility of Yoga style 2-in-1 devices is amazing in this regard.
For productivity I don't find it extremely useful (maybe if I was a designer and combined it with a pen), but for casual use - a lot of UI these days is touch friendly and feels natural with touch screen.
Granted, stuff that's absolutely critical - like gear or the arm switch - is still mechanical, but UFC is still pretty mission critical, controlling eg IFF, autopilot, or radios.
About the only things you cannot do on the touch screen are giving stick/throttle inputs and MASTER ARM on/off.
Most of the cars I’ve owned have been recalled/needed to have some switch replaced in the first year or two of ownership. Jury is still out on touchscreen, but they seem to have lower mortality (it could be a simple numbers game, several dozen switches vs 1 touchscreen).
Astronauts do not need a screen reader or other accessibility features; nor does the UI need the ability to resize for different monitors or play nice with the window manager, etc.
Mission-critical UI’s are also deliberately simple control panels that send commands to some other process. In comparison, Electron apps often try to do everything in JS, which can lead to efficiency problems for heavy-duty tasks.
I can see this being the case in the future though
(I don't think that anyone does this, but it's a neat thought.)
In space, no one can hear your screen? Sorry, I couldn't resist.
This lends itself extremely well to hypertext [0] and to interface components such as collapsible sections of text, being able to display multiple procedures simultaneously, being able to resize them relative to a dashboard of diagnostics (if not a window manager, a split-screen), and placing the button(s) required to execute a step directly near that step without needing to manually resize boxes when this is requested. Browser technology is exactly the stack that has solved all these problems!
Physical switches, knobs, toggles, buttons -- these things can be activated using one's hands without needing to coordinate with sight, meaning, our eyes can stay on the road.
There is no road to keep your eyes on in space though, so needing to coordinate hands and eyes is clearly not that big a problem for the Dragon, and might even be better than lots of physical inputs: you can cram more virtual inputs into the same area by using menus and what not, and that might make it easier to navigate one's way around them. Then again, complex menus might make things worse in an emergency. There's not that much for the astronauts to do in Dragon though, so it's probably all OK.
https://www.nasaspaceflight.com/wp-content/uploads/2018/08/2...
Looks like most car hazard light buttons.
If we're going to speculate based on a picture lets go with the most likely that the physical buttons do have tactile feedback lol.
That may be why it looks flat to me.
Looking at the left panel, I'm guessing you first select the function you want (Water Deorbit, Deorbit Now, Breakout, Depress Response, Suppress Fire, Fire Response), then click either Execute or Cancel. Lights on the switches help you know what is selected.
Volume and vehicle control/steering are the main inputs where physical makes sense.
Pilots have a duty "to see and avoid" in VMC, which means visually scanning outside the plane 90% of the time.
But it's human nature to fiddle with instruments and displays. So even in the steam gauge era it was a tough balancing act, and now it's much worse with acres of cockpit electronics.
It requires more training, and one would hope ADS-B provides sufficient collision alerts, to offset the heads-down tendency.
One of the best illustrations of this is the Qantas A380 in-flight engine failure that resulted in 1,000 or so alerts. They had to be manually acknowledged before the systems were cooperative again. One of the pilots was completely occupied with that task alone.
https://news.ycombinator.com/item?id=23408738
which links
https://www.motoringresearch.com/car-news/mazda-getting-rid-....
https://www.thetruthaboutcars.com/2019/08/a-lesson-for-autom....
https://www.automobilemag.com/news/touchscreen-needs-go/
https://arstechnica.com/cars/2019/11/should-gestures-and-spe....
https://jalopnik.com/touchscreens-in-cars-have-been-a-failur....
That consensus.
You have always had the need to look at the buttons, like reaching out to the radio.
From my experience, the majority of people who drive a car with touch interfaces don't want to look back to old fashioned buttons.
Many automakers that had touch-heavy interfaces are moving back towards physical controls, both because of market demand and evolving industry safety considerations.
e.g. https://www.motorauthority.com/news/1121372_why-mazda-is-pur... https://jalopnik.com/honda-follows-mazda-by-ditching-some-to... https://www.usatoday.com/story/money/cars/2013/06/17/ford-my...
I have no problem with touch controls in general, but replacing a volume knob I can find blindly with a relatively small pair of "Vol+" and "Vol-" touch targets is mildly infuriating. It's OK as the driver because there is an actual tactile control on the steering wheel, but downright unpleasant as a passenger.
Tesla got this right with both the touch screen and the physical buttons on the steering wheel for things like volume control.
And my touch screen, in general, is snappy enough.
This isn’t “I’m tweeting and using social media and thwarting the attention sensors“ it’s “I know my attention is going to be divided between maintaining my lane and adjusting the temperature/picking a new station so I’m going to take steps to avoid drifting out of my lane into other cars”
That's not a super relevant point in response to me mentioning that my car has a touch screen available for passengers to change the volume and a tactile steering wheel control, and that I don't like it.
I am telling you that what you don't like in your car, I think that Tesla got it right. How is that not relevant? What kind of response are you expecting?
I lost the ability to have my text messages read to me, or to respond by dictating them. For a short time there was a half-implementation from Tesla that was in no way comparable to CarPlay, but it stopped working for me a couple months ago and I haven't been able to convince it to start working again.
I also used to be able to select music to play, and it didn't require jumping through a bunch of hoops to find it. Now my choices is the streaming that Tesla includes, or Spotify, and the Spotify interface is awful. I bought a subscription and tried it out, thinking I could switch from Apple Music, but after failing repeatedly to get the Spotify in the car to see playlists I created on my phone, and growing weary of Spotify on my phone or computer defaulting to playing out in the car even when I had been inside for hours, I gave up on that.
I also used to use Waze, or Google Maps, or Apple Maps, depending on what I felt worked best. Thankfully the maps built in to the Tesla aren't awful, but the interface is not without its quirks.
Tesla could solve this by supporting CarPlay and Android Auto, but they won't, because they need us to have a reason to pay for the premium data subscription.
Out of curiosity, which Tesla? Because iirc there was a firmware update pushed out closer to the end of last year, which added that functionality (both having texts read and being able to respond by dictating), and I thought it went out for all Tesla cars.
The only reason I asked about the specific model you drive is because I know that some older Model S and X cars receive slightly different versions of firmware updates than newer ones like Model 3, but afaik the differences are usually related to autopilot/FSD features, not to UX features like this.
My car is a little psychotic, perhaps :-). Probably a coincidence, but I also can no longer get the dashcam to work. Tried an exotic solution first (Pi Zero emulating a drive, with WiFi uploading at home), but it wasn't reliable, so then I switched to just a regular USB drive (adapter + high endurance microSD card), which worked for a month or so, but has stopped working and I haven't been able to figure out why.
I'm hoping the newest update with the Sentry updates will fix that last problem, since apparently it can format the card now. Though I did hear something about the last release also screwing up sentry for some people, so who knows. I'm at 2020.16.2, so there's at least one more point release that I haven't gotten yet.
I've read in some recent threads that this method ended up resolving a lot of really weird and random issues like what you described.
I prefer touch controls both as a driver and a passenger. I even use a Halo keyboard (effectively just another screen, with no "real" buttons) on my laptop. It takes some getting used to, but eventually becomes second nature -- and then you open up huge new areas of functionality that aren't possible with physical buttons and knobs.
http://www.thebenzbin.com/early-car-starters
(I do miss the ability to jump-start a car using a crank lever.)
What if you're driving solo?
> Tesla got this right with both the touch screen and the physical buttons on the steering wheel for things like volume control.
Perhaps there's an auto manufacturer or two that got it right. However, I've never driven a car with physical buttons that got it wrong. When I used to shop for cars in those days, I never had to consider if those buttons were compatible with me. Now when I buy for a newer car, it's an added headache to consider, and one that I've not seen add any real value. Going on a test drive really will not tell me enough about whether the interface is good. And worst of all, whether it is or isn't affects my safety.
You gotta give it some time, because modern physical control interfaces in cars had over half a decade to evolve to reach this point. With regard to touchscreen interfaces in cars, it simply feels like those are still stuck somewhere in the pre-iPhone era of touchscreen interfaces for phones in terms of usability compared to physical controls.
I sure have, the climate control in 2001 VW GTIs is a fiddly mess of small buttons with feedback from a tiny screen almost as low as the gearstick. It's the "high end" system but the lower-end knobs are so much better and safer.
I will admit that the touch screen in my new VW is fashionable and I love all the data screens -- but I have had near-misses due to having to stare at the screen to do stuff like hit touch targets for changing my spotify playlist. It has nothing to do with responsiveness either -- the screen has no perceptible lag, its all to do with lack of haptics / feel.
edit: I drive both an early 90s truck and a late 2010s car. I don't miss the touch screen when I drive the truck, I only miss Spotify / Google Maps.
My old one has a slider labeled "Heat" and "Defrost". Never had problems with that.
And there's still room on the steering wheel for knobs for the most common controls, and voice control is often available.
Tactile controls can become so thoroughly integrated in muscle memory that well-designed tools and machines (including cars) feel like an extension of thought. Think "volume up", it just happens automatically from thought to fingers to buttons.
Compare that to a multi-word speech command that requires perfect diction and phrasing over a span of five seconds. That's five seconds of distraction, longer if the command has to be repeated, vs milliseconds for the button.
I think the most common commands can all be mapped to buttons on the steering wheel, which similarly is as close to possible as "negligible reduced driving capacity to use" without the tediousness of voice control.
But I do think the theoretical safety benefits of physical buttons that are not on the steering wheel as compared to touchscreens for features beyond the ones commonly used while driving are probably overstated.
Or he wouldn't be rated to fly the airplane.
In an airliner, the critical controls are all uniquely shaped, so the pilot knows by the feel which is which.
When the controls are in fixed positions, you only need to look at them a few times, before you memorize their positions. It also helps if they're shaped differently, like knobs and dials in addition to buttons.
Using the example of a radio, I used to be able to do just about everything without looking, with the exception of direct tuning (but that's what presets are for), in my older cars with traditional head units. Now that I have a touchscreen head unit, there's almost nothing I can do without looking. Basically, I can control the volume from my steering wheel, and that's about it.
Anecdotally, I've been driving a Model 3 for two years now and I have zero problems with the touch interface.
I first experienced this on a Prius back in the mid-2000s, where the touch-screen was in one of several modes (climate, radio, navigation etc) and even if one can remember where the controls are, it's necessary to look before touching. That car had more physical buttons than is generally the case now and was still difficult to operate.
Even if you design the logical interface such that all 2-d screen mappings are consistent regardless of context, there is still the problem of tactile feedback. Physical affordances can provide varying shapes, materials and actuation methods which can immediately distinguish them from each other without the need for visual confirmation.
The controls on your phone are in fixed positions most of the time; do you use your smartphone without looking, the way you probably used your feature phone?
No, because with touchscreens come heavy-weight operating systems like Android, which have unpredictable input delays. Without looking, you can't tell if your touch input was correctly registered (vs. ignored because the OS decided to hang for a second), and if there's any mode switching involved, you can't tell when the UI has updated to allow you to press again.
I'm not against touchscreens as a matter of principle (though I come to appreciate the ergonomics of physical controls). But their overall responsiveness is, in general, much worse than those of physical controls.
With a touchscreen, there's really no way to know where your starting point is when you reach for it blindly, so you have to look. I suppose you could use the edges, but that wouldn't be so easy on a large touchscreen.
With an old car radio, you can reach for it, know what you touch first, and know where everything else is in relation to it, all without looking, ever.
In comparison my car has physical buttons and dials. If I want to adjust the temperature while driving I don't need to look away from the road, I just grab the dial and turn it a few clicks, same with sterio volume. I know approximately where the dials are so I can reach in the general area and know what I'm doing with out looking because there is something physical to grab.
Definitely not true. My last car had all physical buttons, and I could easily, by feel, use all of them with one hand while keeping my eyes on the road and the other hand on the wheel. When you've been driving a vehicle for years you get very used to its controls. Plus, on a lot of these cars some of the most common radio controls (like volume and change frequency) are right on the wheel beneath your thumbs.
That is definitely not true. Volume on the left, tuner on the right, and of the five preset buttons, WFBQ is the one in the middle. You could feel for all of that without your eyes leaving the road. What might have happened is that you came of age after utilitarian radios. For example, I had to give some serious looking in order to find a DIN2 radio that had CarPlay and a physical on/off/volume control. Or just a physical on/off button, not some software button buried five menu levels deep. Such jackassery used to be the exception, not the new rule.
Climate control? Heat control on left, blower the middle, and position (where it blows) on the right. Or some combination thereof. Our utilitarian Mercedes Sprinter RV has it right. Other, less utilitarian vehicles: meh, not so much.
I could go on. But I've never been required to let my eyes leave the road for functionality until the last ten years or so. $DEITY help you if you need to switch Bluetooth devices while driving our Leaf: seven screen touches to pull that off, with plenty of opportunity along the way to make a wrong choice. No wonder it won't allow you to do it while moving.
Share.. Please! I still haven't found any.
I have 2004 wrx with 2din slot but haven't found anything with ergonomics of the manufacturer old setup. I have so much room, yet all I can find is huge screens with tiny or no buttons... :(
See that big honkin' knob on the left? Volume and on/off. It's glorious, especially when driving a 5400Kg vehicle. Bought it last year, or year before, so there might be an updated model.
EDIT: check out Crutchfield's other radios, too. There's a brand they sell call "Boss" (never heard of them, either), and every model of theirs has a big knob for 1/0/Volume.
Aside from others' comments that one needn't look at buttons & knobs one has memorized, also:
1) one does not need to look as long at buttons and knobs as a screen to locate the desired control, because they do not change position. One also never needs to navigate a menu to perform a basic task. The closest most come is having a button that cycles AM/FM and channel presets.
2) it's possible to combine the fixed-location advantage of buttons and knobs with visual and tactile differentiation that reduces or eliminates the need to look at the controls even further. Some cars do this, but a really great example is the Nintendo Gamecube controller, which was clearly designed by someone who'd watched a young child try to remember what all the buttons on earlier consoles (SNES, N64, Playstation, perhaps) were used for. Size differentiation, most-used buttons in the most-accessible positions, larger, and highlighted by color, less-used ones smaller with diminishing vividness of color the less-important they were. A clear hierarchy of importance differentiated by color, size, shape, and feel. Auto makers don't ever fully embrace this because it results in a UI that doesn't look they way they want it to, but for maximum safety, they should.
A very, very consistent touchscreen UI could use some of this to great effect to reduce the harm that they cause, but they'd have to almost never screw with placement, appearance, or behavior of UI elements, all of which would need to be perfectly consistent and just about never change, which in practice probably means never receiving updates because there aren't a lot of teams that can resist fiddling with looks & behavior (this is a problem that plagues all web and frequently-updated software, and if you don't think it's a big one or causing some serious irritation and reduced-utility in computing in the wild then try watching someone who's not extremely "computer savvy" use their computer or phone for a while). They'd also need to radically simplify their UIs and work very hard on reducing latency and improving interaction accuracy (touch, then nothing happens for a second or two, is extremely confusing to non-computer-nerds, and it's 100x worse if it's not consistently precisely that unresponsive—sometimes instant, sometimes 1s delay, sometimes 5s delay, is the absolute worst way a UI can behave)
With touch controls, as soon as you've touched it, you've activated it.
And touch screens have very few ways to verify your position by touch, since it's a large flat screen. Controls with a plethora of knobs and sliders have all kinds of terrain that you can use by touch to verify your position.
I never look at those buttons, and I switch stations all the time. In fact, the radio is my standard example of where touch screens fail and are hazardous.
Just like with a phone that has physical buttons - I would dial numbers without looking at the phone.
In the car I have that doesn't have a touch screen, I don't think I ever look for any button - be it climate control, emergency lights, etc.
> "The increase in reaction time when interacting with either system using touch was higher than previously measured forms of impairment, including texting and hand-held calls".
It's a small sample size N=20 but their conclusion was that interacting with these touch infotainment systems created a reaction time degradation that was 4x worse than the reaction time of a drunk driver (80mg of alcohol per 100ml).
They followed up this study with a call for urgent shifting in the auto industry to voice controlled infotainment systems.
[0] "Interacting with Android Auto and Apple CarPlay when driving", R Ramnath, N Kinnear, S Chowdhury, T Hyatt, March 2020.
https://trl.co.uk/reports/interacting-android-auto-and-apple...
If auto marketing/product managers are not responsible enough to correct this than it clearly is up to Road Safety authorities to regulate.
Mazda did the right thing, other auto manufacturers should know better. We are truly risking drivers' and pedestrians' lives here.
https://www.motoringresearch.com/car-news/mazda-getting-rid-... https://www.thetruthaboutcars.com/2019/08/a-lesson-for-autom... https://www.automobilemag.com/news/touchscreen-needs-go/ https://arstechnica.com/cars/2019/11/should-gestures-and-spe... https://jalopnik.com/touchscreens-in-cars-have-been-a-failur...
I've seen so many of these go by that I had to do the very same search that you could have made instead of asking for sources.
Asking for sources when a trivial search at your fingertips will yield them can come across as rude and lazy. Please make a better effort in the future.
I agree that anything you need to do while driving should be a physical interface, but some of the 3D haptic stuff looks really cool.
I don't think touch screens are going away because the display is so valuable, and there's so much stuff that is non-critical that you can configure from a touch screen.
And if it doesn't, there is always room for a sticker. Buy a new laptop and you are going to see half a dozen ads before you even turn it on: on the box, on leaflets inside the box, and in the form of stickers,... It seems that only Apple doesn't play that game, but the privilege is expensive.
We can talk about hardware protection against ads. The hardware would need to recognize allowed data - like station name and frequency - and reject disallowed, like attempts to make a running text. This will limit functionality; maybe it's worth it.
We can talk about software protection - when user controls some layer of software. We can implement it as a type system, with the same result (only now we can modify the software layer if we need). Type system which makes ads non-representable looks like a nice solution.
Guilty myself in writing a game resembling Tetris on a 8-segment display (blocks moving horizontally), so yes, people can be inventive...
The only convincing tactile feedback I've experienced is in the MacBook trackpad, even the much publicized "Taptic Engine" of the iPhone feels like a vibrator. And while the MacBook trackpad is convincing at emulating clicks, it is the only thing it does.
But those SpaceX touchscreens are very bad UI design. Would not make it in any car or plane. Those buttons need to be physical. Remind me on the Apple touch bar, when you need to use it at 3g.
you: "hello hal"
hal: "say one for radio, two for air cond..."
you: "two"
hal: "say..."
you: "three"
You wouldn't want a voice recognition app to steer or brake, but it would be reliable enough for changing the radio station or toggling overdrive. Are there high end cars that have voice control stock?The universal impression I get is that it sucks.
I agree with you that touchscreens in autos are garbage. However I don't agree that physical or haptic switches are the _only_ solution. I think touchscreens in autos were just a technical stepping stone towards something new, like this combo of holographic/gesture/voice control UI.
The "road" are the instruments. Having the instruments be directly intractable with makes sense on a rocket.
I agree with you in respect of cars.
The benchmarking shows nearly every company is moving to screens. Sure you might have a few models that remove the screen, but these are cheap cars with limited features.
You literally can't have a button for every car feature.
And if your car doesn't have all the features, you won't sell well.
And if you disagree with all of this, you probably aren't the type of person to drop 40k-50k on a new car. You'd be happy with a 2014 car for 10k.
It'd be even safer if we removed the radio all together, and banned any physical controls that aren't on the steering wheel (to ensure you don't have to take your hand off the wheel to use them).
Why do we only care about public safety in one circumstance but not the other?
Outside of armchair theorists online, I'm not convinced anyone in charge of car design actually cares about car safety at all.
Car accidents are the leading cause of death for people age 15-29 and the second leading cause of death for people age 5-14. Nearly 3,300 people die every day in car accidents, and double that number are permanently disabled.
If people actually cared about car safety, it feels like these numbers would have gone down in the last 30 years. They haven't. [1]
My hope is that driverless cars end up solving this faster than we otherwise could politically, but obviously that may be a bit ambitious.
But those, too, could be controlled by physical buttons on the steering wheel and/or voice commands.
So, as a matter of fact, yes, you can have _one_ button for every car feature.
More and bigger screens are certainly the way of the future for most cars/SUVs, but I'd advocate strongly for a large set of ergonomic, reassignable hard controls. The best thing about the Tesla Model 3 controls is the configurable control gadget on the steering wheel (though I wish they'd used better materials -- feels absurdly cheap in a $50k car).
You're confusing a benchmark with... something else. And I really dislike my new-ish MP3 player with it's damn screen that I have to keep looking at to operate, to do anything.
> And if your car doesn't have all the features
My MP3 player has a ton of features and I don't need 90% of them. I want it to do one job well - play my music and a few other basic controls, just like my old, physically-operated MP3 player did. I don't want awesome UX/UI bullshit to get in the way, I just want it to do its job.
(plz excuse rant)
> The vast majority of customers do not want something that basic.
And you accuse me of 'opinion'. Well, provide evidence of this claim.
Goes for literally anything, from cars to phones to music equipment. I definitely fall into this category for some of the things myself. However, it is important to remember that this is not representative at all of what the majority prefers.
> this is not representative at all of what the majority prefers
I was very careful to not to project my desires on others in my original post, but you're telling me about what "majority prefers". So back this up. I don't think you can.
Do you see dedicated single-purpose barebones MP3 players having a high demand? Or do people just use their smartphones for that purpose? When you walk into a room and ask people if they would find an MP3 player device useful and would like to get one, what answer do you expect to hear?
Also, try asking the same question from people about smartphones vs. single-purpose cellphones. Yes, there is obviously a niche of people who want to "disconnect" and not have to deal with smartphones. But they are in a tiny minority.
While market isn't a perfect representation of what people want, it is a great proxy, in a lot of cases. And for this situation specifically, it looks like the market has clearly expressed what consumers want.
> Do you see dedicated single-purpose barebones MP3 players having a high demand?
I can't buy them. When I looked for a new one, there was none available I could find. I did ring the companies too. There's no choice so actual demand is difficult to ascertain.
Smartphones... OK, that's a good point.
> what answer do you expect to hear?
Irrelevant - give me figures, not asking what I expect to get. Facts please. And if you read the comments here, there's quite a few expressing preference for physical controls.
> But they [non-smartphone users] are in a tiny minority.
A minority or a tiny minority? Give me figures please. Don't just talk at me, throwing words around. Facts please. And BTW I'm one of these minorities. FYI.
> it looks like the market has clearly expressed what consumers want
What's your job?
It is on my HN profile, I write code for living.
>Facts please.
The fact that you called up a bunch of companies, and none of them were producing dedicated barebones MP3 players, kind of speaks for itself. If there was a significant demand, why wouldn't they jump on this easy money-making opportunity, given that they would have pretty much no competitors?
>give me figures, not asking what I expect to get.
I don't have numbers, and neither do you. In the absence of actual numbers, anecdotal evidence is the second best thing. Do you have anecdotal evidence of talking to an average person and asking whether they would be willing to pay for a dedicated MP3 player? I do, which is why I asked you to imagine how that scenario would play out in real life.
If your scenario played out the opposite of mine, then we would be at a stall, as anecdotal evidence is nothing against opposing anecdotal evidence, only factual numeric evidence can beat anecdotal evidence. But if it played out the same, I feel like it would only act in support of my hypothesis.
I can also bring out hard factual numbers for the sales numbers of dedicated MP3 players going down as smartphone proliferation increased, if you want, but you probably already know how those numbers look.
Not really. From here https://news.ycombinator.com/item?id=23405591
"It is fascinating just how poorly modern touch interfaces do compared to older vehicles" with a response of
"I can't figure out how to turn the HVAC system on in a newish car"
This proves that the market is demanding worse interfaces, otherwise why would people have to deal with them?. That's how your argument goes, and it's bunk. Remember the cries of pain over windows 8? That's because people liked pain. The market spoke, right?
> I don't have numbers, and neither do you.
Then again I only spoke for myself. Whereas you "...this is not representative at all of what the majority prefers" & "it looks like the market has clearly expressed what consumers want" believe you can speak for others. Nope. Facts please.
> I can also bring out hard factual numbers for the sales numbers of dedicated MP3 players going down as smartphone proliferation increased, if you want, but you probably already know how those numbers look.
Irrelevant. I spoke about dedicated MP3 players, and if you'd bothered to read what I said, I actually said yours was a good point. Still, dedicated MP3 players have a market because they are still being sold - https://www.amazon.co.uk/s/ref=nb_sb_noss?url=search-alias%3... So a market for them still exists. It's not about smartphones vs dedicated MP3 players, this is about interfaces and choice.
That says nothing about touchscreen interfaces themselves, it says about their poor implementation in certain cars. Just like touchscreen interfaces on phones, they were all various degrees of trash for daily usage, until iPhone came out with touchscreen-oriented UI and lead by example of what touchscreen-oriented UIs for phones are supposed to be, as opposed to just regular phone UI with touchscreen functionality bolted on.
A similar thing can be observed in cars. I had so many hellscape-ish experiences with touchscreens in cars, I can rant about those for days. But then I had an opportunity to extensively test its implementation in Tesla cars, and it was extremely pleasant.
Not that your criticism of touchscreens in modern cars is invalid, it totally is valid. Touchscreen interface implementation in modern cars, on average, is totally inferior to the older physical control interface implementation. Which makes sense, as we had over half a century to perfect that.
However, as demonstrated by the Tesla interface I experienced (hybrid touchscreen+physical controls on the steering wheel), those issues are not inherent to all touchscreen interfaces. The other manufacturers just need to catch up (for some of them, I can already seem them being very close). You cannot just bolt a touchscreen onto the interface designed with physical controls in mind and call it a day. Because that's pretty much why those touchscreen interfaces in most modern cars are awful to use.
My older car with no touch screen has a custom stereo installed - everything with physical buttons. And it can do more than my other car with a touchscreen. Its Bluetooth capabilities are superior. I can set it not to auto-play, etc.
Yes, no need to go old school. But no, you don't need a touchscreen to get a radio/stereo with better features.
> The benchmarking shows nearly every company is moving to screens.
The fact that everyone is moving to screens because they're flashy and cheap ($/feature) doesn't automatically make them a good idea.
GP is correct. The consensus from a safety and usability perspective is that touchscreens in cars are a bad idea. Fuck the bean counters.
https://www.youtube.com/watch?v=S6YYun90S8g&feature=youtu.be...
> The benchmarking shows nearly every company is moving to screens.
Benchmarking? Really.
> Sure you might have a few models that remove the screen
Mazda is removing or de-emphasizing them across their product line if I understood correctly.
> You literally can't have a button for every car feature.
Yes, true, very very true. Also irrelevant. The point is that features like:
- climate control
- stereo volume (and other radio controls)
- defrost
- etc
should be physical buttons because drivers use them a lot and should not have to take their eyes off the road to use them and should NEVER have to their eyes off the road to see if their inputs took (touch/display latency sucks).> And if your car doesn't have all the features, you won't sell well.
The features that must have physical input methods, must have them, and the others can be touch screens if you really like.
Also, fewer features is kinda fine, really, if it makes the roads safer.
> And if you disagree with all of this, you probably aren't the type of person to drop 40k-50k on a new car. You'd be happy with a 2014 car for 10k.
I.e., I must be cheap. Or maybe I would be happy with older cars (or newer Mazdas) precisely because they have these physical inputs / lack those dangerous touchscreens that I detest.
Because Europe and Japan also had this idea how touch screen is cool, new and the future. 2016-2018 were the blunder years with everything being touch. And soon people realized that touch, no surprise, is shit. So for most common operations makers have added buttons back - climate and audio controls.
For never used settings - like should interior lights come up when you open the door, beep sound loudness, interior light brightness, etc - yea, touch screen is good. For stuff that you actually use - no.
It blows my mind people think touch screens are good. If they are so good, why don't we use touch inputs for blinker signals behind steering wheel? For steering itself? Swipe left to go left. Why no touch input for shift paddles? Hell, why I never saw anyone using touch screen keyboard instead of a physical one? Silicon valley devs could easily afford one and to them touch is superior to physical buttons. Nope, 1970s or w/e physical keyboards for every computer, it's like there's a bubble somewhere where "new = always good and old = always bad".
Two things. During ascent the g load on the passengers is steadily increasing. By the time you're 6:30 into the burn, you'll be experiencing about 2.5g, and just before MECO at about 8:15 into the burn you're close to 3.2g. I'm not sure using a touch screen in a high-g environment is a good idea.
Second thing, right after MECO you're suddenly very close to 0-g. Which is a fun ride to be sure, but _everything else_ in the cabin is suddenly weightless as well. Items have a tendancy to start floating around the cabin and knocking into things.
> There's not that much for the astronauts to do in Dragon though, so it's probably all OK.
When everything is going according to plan.. there isn't much to do. This isn't the scope you want to design for, though.
Agreed. All of the events during this time are fully automatic. If the astronauts needed to personally abort for a reason that ground control did not see, I saw what appeared to be a physical abort switch that needed to be turned and pulled (but I could be wrong)
The problem with touch screens is that they change what you can touch all the time. If you'd fix that, you might as well install a physical interface.
Perfect input method. No one would input street names while driving if that was the way to do it.
(FYI, I didn't downvote your comment.)
So.... I need physical buttons where I need real feedback fast on touch. I can use touch screens where I need to access a lot of data but have seconds to spare.
It's simply that right now, web is the best. Far from perfect, but the best.
Could you go into more detail? With Qt, you can use Qt Designer/Creator and get a working UI pretty fast and easily.
* write once, run everywhere.
* the amount of tools and libraries.
* Modern javascript is better than c++ or python for UI
* the availability of good web developers
* The npm ecosystem is a bit overzealous in the dependency department. Not everything is bloated inside npm or out of it but a lot of it is.
* Javascript itself hasn't changed much in the way of making DOM creation/mutation easier. Custom elements, shadow DOM, etc. were nice but at the end of the day you still need to call createElement a lot and do everything manually. You're probably referring to using libraries, of which some are nice but many suffer the above-mentioned bloat problem. Event handling similarly hasn't changed much.
* True enough, there probably haven't been this many of us in a long long time! More people must mean more good people.
The question is what you really would gain from using QT compared to Chrome/HTML/JS.
Performance won't really matter for this. It it's good enough on the hardware they have, then further improving it does not make a difference. Provided they are running everything really mission-critical and real-time outside of the UI and on an RTOS or specialized hardware anyway (I really really hope so).
One advantage might be audibility and the hope for less defects due to a smaller codebase and less dependencies. But I think even QT is already far beyond that point. And since Chrome is nowadays wider deployed, it might have a higher level of maturity than eg. the QT/QML tech.
If we suppose that is true, then it is a failure of our industry that this is the best tool we have.
As a desktop developer working with everything from visual basic, C++ win forms, QT, swing, C#, html and javascript. I could not be happier.
Finally we have a GUI stack where I don’t have to re write everything every 10 years.
Btw if you consider that, there are wars over which JavaScript framework.
In time vanilla js will eat them anyways.
None. Simple as that. At least for something like the Crew Dragon control panels, any kind of JS framework would add unnecessary bloat for very little use, because they were all designed with a very different goal, definitely not to write the UI portion of a C++ application that controls a spaceship.
Just stick to vanilla JS, simple HTML and well-written CSS and circumvent the framework wars altogether.
The Dragon capsule can operate without any input from the astronauts onboard, so it's not completely clear to me whether these screens are usedfor anything beyond showing what is going on.
SpaceX has a marketing version of the control interface in this simulator: https://iss-sim.spacex.com/ How closely that resembles the actual interface I don't know. The astronauts claimed the simulator they used matched reality quite closely.
> The certification and correctness part is made easier by using software verification tools. One such tool is Astrée. It is a static code analyzer that checks for runtime errors and concurrency related bugs in C projects. This also leads us to the answer for why a lot of mission-critical code is written in C. Its because there are a lot of static analyzers and software verification tools for C.
It depends if that's the case for the embedded devices.
The problem is that commercial SW development is incompatible with the use of such tools or the associated safety-critical processes. The extra time, process, competences would make a company much slower than the typical bullshit move fast and break things start-up.
"Best" makes it sound like the entire landscape isn't an ocean of garbage.
is a direct contradiction to the sentence before:
>because for every mission-critical input on the display, there was a physical button underneath the display as well
Clearly, physical buttons are best.
That was my view of 'programming', and I wasn't disabused of that until very late 90s.
To be fair it takes a lot of interaction (and understanding ) to fix it. And you wonder how these operate here.
If you’re into this sort of thing, I co-write a weekly newsletter about the space industry and often talk about software. https://orbitalindex.com
There have been quite a few missions that nearly caused death or mission failure directly due to a switch getting broken (Apollo 11, lander return engine-arm switch) or going faulty (Apollo 14 abort switch).
What really matters is that they have no single point of failure (touch screens can do everything switches can, an individual touch screen is not important, and switches can cover abort/return scenarios to protect the crew). For the software, it only matters that its been fully tested, including random bit flips and hardware failure.
From a cost savings perspective, its vastly cheaper to verify that 3 touchscreens are working correctly than the 600 switches they replace.
This is a trivial problem to solve on a physical interface. One solution could be what is commonly used on hardware synthesizers. A shift button or switch. You engage it and all controls begin to perform their secondary functions. You get redundancy for the price of one extra control and a secondary set of labels in a different color.
Also, use of displays to virtually label buttonss is common. In such case you can reassign a control if one fails.
In any case Dragon capsule had physical buttons for important functions as a backup.
When you get to the point of having displays for the switches why not go full touchscreen and eliminate all of that cost and complexity of a bunch of tiny displays?
> We leverage C#/MVC4/EF/SQL; Javascript/Knockout/Handlebars/LESS/etc and a super sexy REST API.
Nowadays it would be ".Net Core/SQL; Typescript/React/GraphQL"
On multiple occasions they've had to pull off the highway to turn their car off and on again to get the screen working. Not really an option on your way to space.
Edit: Is the answer simply "it doesn't, it gets flown remotely from Mission Control"?
They use a touchscreen so they don't need to have hundreds of buttons for things that aren't necessary to have around all the time.
Only questionable bit is how they do the docking without the screens.
It's interesting to wonder whether if Apollo 13 style fault happened, modern ships would be easier to reconfigure and rescue or harder?
If you've played KSP or read about Gemini 4, the relative motion can be unintuitive due to orbital mechanics. The SpaceX docking simulator puts you right next to the ISS with low relative velocity -- as it would be in real life if everything went as planned -- but it would be much more challenging if you needed to do it manually from a greater distance and relative velocity.
I think the main reason there are so few buttons on Dragon is that it evolved from an uncrewed vehicle that was designed to be flown from the ground, so everything is much more connected and software controlled than was even practical in the shuttle era.
Surely not? The touchscreen is run by the media computer which does not control the car. You can reboot it with the 'two finger salute' while you are driving down the highway. Some things will be unavailable (you cannot, for example, engage autopilot while it is rebooting), but the car still runs & drives.
I hope they just miscommunicated the situation to you, otherwise they are really working too hard just to fix a touchscreen. Turning the entire car off is kind of a pain in the ass. I've never done it. And I have only rebooted the touchscreen a couple times ever. Your friend may want to schedule a service appointment if they really do have to power cycle the whole car, because that is super abnormal.
I'm a little surprised that the media computer doesn't have a built-in heartbeat check and know to reboot itself if it stops responding. I've heard of other cars and embedded systems doing that.
EDIT - asked him about reboot via steerling wheel:
> It’s not great because you lose lots of feedback. No speedometer, no sound from turn signals, etc. But it does work.
In single core systems its somewhat solvable, but in multicore and if you want to include multiple chips in the crash domain it gets very hard with off the shelf chips.
> It’s not great because you lose lots of feedback. No speedometer, no sound from turn signals, etc. But it does work.
Yep, this is very true. You are driving blind, as it were, because the touchscreen is the dash. Fortunately it doesn't take long to reboot, but it is still much less than ideal.
This is false. Teslas have, roughly speaking, two computers. One drives the big touch screen, and the other manages the core automotive functions.
The media computer sometimes hangs/crashes; this has no impact whatsoever on the basic function of the car.
When that happens, it's an easy matter to reset it while the car is in motion; one just holds one button under each thumb on the steering wheel for a few seconds. The big screen will come back within a couple of minutes.
It's more correct to say that stopping and re-starting the whole car is not the easiest way to restart the MMU. It's quite possible there are people who aren't aware of the 'two thumb salute' method.
But they only mention Astree[1] which seems to be a propietary analyzer for C code
[1] https://en.wikipedia.org/wiki/Astr%C3%A9e_(static_analysis)
https://lamport.azurewebsites.net/tla/formal-methods-amazon....
Knockout.js, good times.
And at least before Atlassian bought it (I haven't used since then), it was a responsive and plasant piece of software.
It's a fun hobby, although large motors get pricey. The largest can be 4-5 figures per launch. However, you can get very advanced and do things you wouldn't typically expect in a hobby.
Here's a two stage ( 4" diameter booster, 3" diameter sustainer ) reaching over 200k feet in altitude. The Karman Line is about 330k feet.
Otherwise, I would use a STM32 dev board and their IDEs and tools. It will get you off the ground and blinking LEDs way faster than working out the toolchain, loaders, ASM, setting the clocks and peripherals and all that work that has to be done before you even get to your application.
The best way to learn is to solve a problem that motivates you. Maybe you want a phone notification when your laundry is done, or when a room in your house exceeds a certain temperature. Work on some little projects like that
If you want to get even lower level, then try out the ARM boards again. Someone else mentioned STM32 boards, which are great in many ways but IMO not very user friendly (Their STMCube software actually makes me mad). You can also try your hand at FPGA development. Verilog and VHDL are both popular languages, and preferences between the two tend to depend on domain. There's compilers that let you program FPGAs in C, but shying away from that.
If you want to look for work, probably the big industries to check out are:
Consumer embedded hardware: companies that make printers, cell phone radios, etc
Medical devices
Aerospace/defense
This article looks like a fine overview but when it comes to follow-up posts, the test is: does the new submission contain enough SNI (significant new information) to support a substantially different discussion? In this case it looks like not, but I can't really tell.
https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...
https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...
"Avionics Test team
...The main objective is to write very comprehensive and robust software to be able to automate finding issues with the hardware at high volume...."
(Atleast this is my understanding from watching Apollo documentaries/movies etc.)
The Crew Dragon seats also have physical arm-rest controls. Those arm-rest controls are what the astronauts use under acceleration, and IIRC they're primarily comms controls.
Thanks for sharing that with us.
I'd be interested in finding out how they iterate. I'm absolutely positive that they do.
Have you been doing the same? Was curious if all the CM's are competing for that domain lol
I've decided that ChrisMarshallNY is my "Google Me" name. It's working fairly well.
I'm shocked the discussion is about UI tech and not that there was only 35 people on the team that built the software to land Falcon 9.
Surely it's changed in the last 7 years. Anyone know the size now?
"In Rod We Trust"
Just goes to show: quality over quantity!
I want the buttons and knobs.
Love the old soviet control rooms posted awhile ago: https://designyoutrust.com/2018/01/vintage-beauty-soviet-con...
Need John Carmack's opinion of SpaceX