Live data from Hacker News

I dread writing embedded GUIs

blog.benjamin-cabe.com

51–58 of 58 posts

Re: I dread writing embedded GUIs

#51

Earlier quoted context omitted.

Similar things happen on every industrial machine. Typically, it's a VxWorks-based PLC (implementation detail, never ever exposed to the end user) and a Windows CE touchscreen HMI. It is remarkable, though, how much this separation makes sense. You end up with some ancient 68000 or PowerPC processor running all the performance-critical logic with - if you're lucky - a megabyte of SRAM. It's expected to hit one millis…

That last sentence is what we're mostly standardizing on, except for using QT. I've pushed for web interfaces but it's weird how even embedded developers with broad backgrounds get when you bring it up. I think there's a psychological barrier some people have to using webpages on an embedded system.

It’s because the web is a moving target and embedded systems are static. What’s your reaction when you see a web browser or web page that is 10 years old? 20? The timeframes of industrial machines is incompatible with web anything.

Re: I dread writing embedded GUIs

#52

Please just stop! There is one area where gadgets and appliances are the most cumbersome to use, and that is their electronic UI. They have always been terrible (eg programming VCRs). Graphical UIs won't make them better. And all those screens and buttons will be the first things to fail, will be very hard to source replacements for, and will be too expensive to bother repairing anyway, not to mention, an expensive a…

There is a lot to discuss here, but if I had to choose I would reject your idea. This is mostly because, in reality, manufacturers not only will they never open source those apps, most probably they will never provide APIs and the Thing and associated apps will depend on some server. Such a dependency I find unacceptable, but it is the trend of all things IoT. If this were not the case, if by law all IoT Things had t…

I agree, please no server, no cloud, no auto-update, the interface should be local.

'Right to repair' laws should extend to 'right to program' , thus forcing open APIs of some kind.

There should be some kind of standard, defacto, or official.

Re: I dread writing embedded GUIs

#53
post #19

Unless the use cases are very simple or there's a special reason not to for most embedded devices I think I'd rather communicate largely with an app (e.g. by bluetooth). I'm thinking for washing machines, dishwashers, aircon, things like that. Unless simple, embedded UIs are usually bad and usually make complex interactions (e.g. setting timers) especially horrible. Whereas android/apple/the web have been optimized f…

We definitely don't want an app, but a standard API of some kind. 3rd parties can then write apps, or web apps, etc, spawning a 3rd party market to create great UIs. Manufacturers can focus on what they should be good at, manufacturing ergonomic, efficient, reliable, long-lasting and repairable devices and appliances.

Re: I dread writing embedded GUIs

#54

Please just stop! There is one area where gadgets and appliances are the most cumbersome to use, and that is their electronic UI. They have always been terrible (eg programming VCRs). Graphical UIs won't make them better. And all those screens and buttons will be the first things to fail, will be very hard to source replacements for, and will be too expensive to bother repairing anyway, not to mention, an expensive a…

In my Utopia, I could see a vending machine, open its web app UI in my phone, pay via UPI (Indian interoperable payment system) app, and get the item.

Its HTTPS over Bluetooth. I could list Bluetooth devices like ACs and TVs in range, and open paired devices as a web app. It could be server rendered with JS sprinkled, a PWA I could install like an app, or even streaming video.

Re: I dread writing embedded GUIs

#55

Earlier quoted context omitted.

That last sentence is what we're mostly standardizing on, except for using QT. I've pushed for web interfaces but it's weird how even embedded developers with broad backgrounds get when you bring it up. I think there's a psychological barrier some people have to using webpages on an embedded system.

It’s because the web is a moving target and embedded systems are static. What’s your reaction when you see a web browser or web page that is 10 years old? 20? The timeframes of industrial machines is incompatible with web anything.

You need to make a separation in your mind between "the web" and "web technologies." I said nothing about putting the device online.

Re: I dread writing embedded GUIs

#56

Earlier quoted context omitted.

It’s because the web is a moving target and embedded systems are static. What’s your reaction when you see a web browser or web page that is 10 years old? 20? The timeframes of industrial machines is incompatible with web anything.

You need to make a separation in your mind between "the web" and "web technologies." I said nothing about putting the device online.

> You need to make a separation in your mind between "the web" and "web technologies." I said nothing about putting the device online.

I wish so, but Google kind-of wrecks that proposition, introducing new stuff to the point that some developers might (unknowingly) use something that is not available on the embedded browser.

Re: I dread writing embedded GUIs

#57

Earlier quoted context omitted.

You need to make a separation in your mind between "the web" and "web technologies." I said nothing about putting the device online.

> You need to make a separation in your mind between "the web" and "web technologies." I said nothing about putting the device online. I wish so, but Google kind-of wrecks that proposition, introducing new stuff to the point that some developers might (unknowingly) use something that is not available on the embedded browser.

That's kind of impossible when the server and the browser are on the same machine :-)

Bear in mind that what I'm talking about here is making UI's for embedded systems easier to design by using web technologies. That means that we're only leveraging web tech for local use: there is no connectivity farther than (maybe) to another device on the same circuit board.

Something like BoneScript (javascript for the BeagleBone) takes this step farther by building I/O extensions into the language so your system controller and webserver can be the same process.

Re: I dread writing embedded GUIs

#58
I agree with him that Renode is by far the best tool around. But I haven't yet managed to add support for my boards yet. Neither to qemu ditto. Renode has much more boards supported than qemu though.

Also, lvgl is a very good toolkit.

Post reply on HN