15 ms·
>SpaceX also made use of Chromium and JavaScript for Dragon 2 flight interface. I am not sure how that passed the certification. I assume it was allowed because
by aphextron 6y ago
>SpaceX also made use of Chromium and JavaScript for Dragon 2 flight interface. I am not sure how that passed the certification. I assume it was allowed because for every mission-critical input on the display, there was a physical button underneath the display as well
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.
- ShinTakuya 6y agoDepends on the environment. If RAM or CPU time is at a premium then no. But that's so rarely an issue these days, especially if you separate UI from the main processing thread.
- deleted 6y ago[deleted]
- Aperocky 6y agoI'm surprised you're allowed mission-critical or even non-critical inputs on that touchscreen. 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.
- ecmascript 6y agoWhy is it a disaster waiting to happen, according to you?
- thoraway1010 6y agoI'm also curious about this disaster waiting to happen. They've emphasized an escape capability all the way into orbit. They emphasized various types of automation (also used by other spacecraft).
- sdwedq 6y agoTouch screen is still very inaccurate and you don't develop muscle memory. You are more likely to touch wrong button on touchscreen than on physical ui.
- ecmascript 6y agoI can buy the muscle memory part, sure but are they really very inaccurate? 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.
- sdwedq 6y agoPersonally, it seems I touch wrong buttons quite a bit on my phone. I also click wrong buttons when using mouse but that is rarer than pressing wrong button on my phone. 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.
- csomar 6y agoTouch screen are too sensitive to be safe. Also there is a very high chance to mis-click (see HN upvote/dowwn-vote buttons). Much safer to use regular old mechanical buttons with tick-tacks.
- deleted 6y ago[deleted]
- cesarb 6y agoI noticed during the stream one of the astronauts selecting some input on his screen, pausing for a moment, and then pressing the physical button below the screen to confirm the input. So that's probably their defense against misclicks: any action other than just changing the display mode or opening a checklist has to be confirmed through the physical "Execute" button (there seems to be two of them, one for each astronaut).
- oldgradstudent 6y ago> It might be OK if the entire screen was READ-ONLY. Why? displaying incorrect data that might lead astronauts to taking the wrong actions could be just as deadly.
- Aperocky 6y agoWhy is READ-ONLY incorrect? I mean as in the input on the screen have no write ability and it is only used to control the interface that display the information.
- oldgradstudent 6y agoI might have misunderstood your point. I thought you referred to the fact that the touch screen was based on a non-realtime system rather than it being a touch screen.
- rubber_duck 6y ago> I also don't understand why companies race to have their laptop display touch 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.
- trasz 6y agoMilitary planes - Super Hornet, for example - have been using touch screens (UFC, in this case, the thing just below HUD) for over two decades now, and they seem fine with it, and newer ones use it even more. They don't seem to cause any problems. 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.
- euler_angles 6y agoF-35 has a 20" wide by 8" tall touchscreen. However, just about everything that you do on the touchscreen can also be done with various switches and selectors on the stick and throttle. There's even an equivalent of a mouse that will let you move a cursor around the screen and select items. About the only things you cannot do on the touch screen are giving stick/throttle inputs and MASTER ARM on/off.
- rsynnott 6y agoEven then, you surely want the data you're reading to be correct, and not, say, from half an hour ago because Chrome was having a bad day.
- extrapickles 6y agoPhysical switches since they are moving parts, have a high failure rate. Apollo 11 they broke an important switch donning their spacesuits. In Apollo 14 the Landers abort switch was falsely triggering so they had to hack the computer to ignore it. 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).
- riscy 6y agoIt’s unlikely that the flight interface is anywhere as nearly complex and flexible as a desktop UI needs to be. 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.
- dawnerd 6y ago> nor does the UI need the ability to resize for different monitors I can see this being the case in the future though
- yetihehe 6y agoAt least in space screen orientation change detection is no longer relevant.
- cbanek 6y agoUpon thinking about this, it seems like it's a different problem in that the people are moving while the screen is not. So maybe the screen should have a camera and try to adjust the direction to the way the person is facing? Obviously if the screen is upsidedown that's not great. (I don't think that anyone does this, but it's a neat thought.)
- yetihehe 6y agoI would suggest some manual switch (software or hardware), so that you can rotate displayed image as required, not yourself. Like a selector with 4 buttons, you click the one which is currently up for you and display respects that.
- Scarblac 6y agoThis would finally enable a window manager feature I have always wanted: "focus on the window I am looking at".
- discreteevent 6y agoI wouldn't agree with that. Nothing has changed. You should still ask yourself why am I using this in my context. Could save yourself a lot of trouble and make more money. If we were to follow SpaceX we would also be using C#, knockout.js and labview for everything.
- bkanber 6y agoTo be fair, I can't think of anything better than LabVIEW for rapid prototyping and development of complex sensor interfaces.
- cryptonector 6y agoThe consensus regarding automobiles and touch interfaces is starting to form that they are just a bad idea. 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.
- joshvm 6y agoMission/emergency critical buttons on dragon are physical (things like chute release) - there is a row of switches underneath the panel. https://www.nasaspaceflight.com/wp-content/uploads/2018/08/2018-08-17-182711-1170x802.jpg https://www.nasaspaceflight.com/wp-content/uploads/2018/08/2...
- tyingq 6y agoThe picture looks like those don't have any tactile feedback either. Though maybe just the picture.
- s_y_n_t_a_x 6y agoThere's clearly a seam around the buttons allowing them to be depressed along with an internal light. 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.
- tyingq 6y agoZoom in and look at the left side group of buttons. Is that a clear overlay that flips down or something? That may be why it looks flat to me.
- deleted 6y ago[deleted]
- hacker_9 6y agoThis is bonkers. The UI did look good, I'm suprised it wasn't something native like QT. But I guess when I think about it, does it really matter? Chromium has some of the best engineers behind it, and web developer supply has never been higher.
- Yfvj875rfg 6y agoQt requires a commercial license in this use case. Why bother if Chromium is free and it works?
- detaro 6y agoSo SpaceX is worried that their customers they sell spaceships to need to be able to get the source code of the Qt they use if they use it under LGPL?
- speedgoose 6y agoI'm quite sure SpaceX can afford the commercial license of Qt. It's simply that right now, web is the best. Far from perfect, but the best.
- eternauta3k 6y ago> 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.
- speedgoose 6y agoI would say the mains advantages are : * 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
- ZeikJT 6y ago
- gameswithgo 6y agoSpaceX using something is a proof that HTML/CSS/JS is the best tool for UI development? If we suppose that is true, then it is a failure of our industry that this is the best tool we have.
- deleted 6y ago[deleted]
- bdcravens 6y agoIf it’s the only app, with a known configuration, with presumably no general Internet access, and a simplified UI, with redundant physical buttons for all functionality, yes, it’s probably a good choice.
- ColanR 6y agoIf we're going to use SpaceX to validate our language choices, then we should be moving back to C for the "mission critical" code. > 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.
- nickff 6y agoThe Kernels for all major operating systems are written in C; C is also used for the majority of embedded devices which perform the small miracles around you. C is everywhere.
- deleted 6y ago[deleted]
- blub 6y agoYes, but those kernels aren't developed according to any functional safety standards, so they're the typical jumble of vulnerabilities. It depends if that's the case for the embedded devices.
- mbrock 6y agoAre they wrong?
- trasz 6y agoThere are also software verification tools that use binaries instead. That's how seL4 gets verified. This way you're safe from compiler bugs.
- 59nadir 6y agoC is already the undisputed king of running everything and on everything, no one who writes C needs to seek validation like this.
- blub 6y ago
- jimbob45 6y agoI’m guessing they were vastly stripped-down versions of JS and Chromium.
- treespace88 6y agoYes, it feels like the desktop gui framework/language wars that have been raging since the 90s are finally ending. 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.
- VMisTheWay 6y agoWhat has it settled to? Html, css and JavaScript? Btw if you consider that, there are wars over which JavaScript framework.
- treespace88 6y agoThey all still compile to the same stack, so no problem. I don’t have to throw away my working jquery/angularjs/scriptaculos/dojo/react/ code just because angular.io is pretty cool. In time vanilla js will eat them anyways.
- Slartie 6y ago> Btw if you consider that, there are wars over which JavaScript framework. 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.
- jfkebwjsbx 6y agoIn the web world you are pretty much relearning new APIs, frameworks, approaches and what not every second year.
- AnIdiotOnTheNet 6y agoFinally we have the worlds least-integrated, poorly accessible, completely inconsistent, most difficult to theme, resource intensive GUI stack. Software devs rejoice at the job security of JS framework churn while stealing user data and shoving ads in their face to pay their own salaries.
- amelius 6y agoFunny thing is that a modern web browser is probably closer to "rocket science" than the software of an actual rocket.
- mytailorisrich 6y agoIt also depends on what these screens are really used for. 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.
- johannes1234321 6y agoCorrect they can dock to ISS and return fully automatic without astronauts being involved. However the touch controls allow to take over, if need or safety protocol require to. SpaceX has a marketing version of the control interface in this simulator: https://iss-sim.spacex.com/ 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.
- attilakun 6y agoWhat are the sources for the claim that they use Chromium and JavaScript? Is it the 5 year old StackExchange post? Things might have changed since then.
- junon 6y ago> I think that's all the validation we need for HTML/CSS/JS as the best tool for UI development nowadays. "Best" makes it sound like the entire landscape isn't an ocean of garbage.
- arcticbull 6y agoThose tools are basically the great pacific garbage patch in an ocean otherwise also full of garbage haha. HTML parsers are practically self-aware, and JavaScript, oh, JavaScript.
- amw-zero 6y agoThis is one data point. Saying that that's all of the validation that we need for web technologies being the best way to make a UI is really only proof that statistical significance and science currently has no place in the software industry. It's just a fashion show.
- jmiserez 6y ago>I think that's all the validation we need for HTML/CSS/JS as the best tool for UI development nowadays. 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.
- arexxbifs 6y agoSomething that great probably wouldn't need validation by cherry-picked appeal to authority. (Yes, I'm a web developer.)