Why Modern Embedded Software Systems nowadays embrace web-technology
https://commons.wikimedia.org/wiki/File:Interface_Card_-_Parallel_Printer_Interface_Apple2.jpg

Why Modern Embedded Software Systems nowadays embrace web-technology

Whether it’s your office printer, your internet router at home, or your future top-notch embedded system, they all use technologies that, only a decade ago, nobody imagined using in an embedded system!

How did this happen??

And why?

Let’s start with the printer. Its essential feature is still printing; it learned a few more features, like scanning & copying. And it can print better: in color and with a higher resolution. That needs more embedded software, but that is not changing the game.

What happend?

Or, maybe, the question is: “What changed?”?

There are two big drivers, aside from the ever-present pressure to increase margin. The user and the available technology. That entangled combination made the change

In the old days, we had a tick, clumsy cable to connect a PC to a printer – there was no other way. Although that is (technical) still possible, it’s too expensive and removed as an option. Also, the user doesn’t like it. Nowadays, everybody like to print from a mobile phone.

wireless printing

That feature “wireless printing” asks for extra embedded technology, like Bluetooth & WiFI, but also needs a TCP/IP stack. Luckily, that became available and was almost for free: with embedded Linux, for example. It required a bit more hardware, but due to the law of Moore, that class of electronics has become inexpensive – as the Raspberry Pi’s in many households show. A printer has a comparable embedded computer, costing only a few euros.

In this line of thought, we got to a printer with the computer power to print wireless, but with a bit increased price. How can we cut down that price and make it more attractive? Rember, we –as a business– prefer more margin.

no buttons

Look at that old printer again, and compare it with a modern (low-cost) one: What changed? The buttons, they are gone! A manufacturer doesn’t like buttons, lights, and such; they are expensive: making holes in the casing, and mounting and soldering parts, that all cost money. Besides, keeping those cheap buttons in stock, ensuring there is one for the last printer, is often more expensive than the buttons itself I know: those kinds of costs are usually hidden for an average software engineer. A senior embedded system architect should be able to reason like this, however.

Removing buttons, lights, and other “UI” elements saves money. Still, we should facilitate the users to operate the printer; without adding cost, so without more electromechanical parts! This demands an embedded web server! This embedded web server comes almost for free, as most is already foreseen: the computer power, the TCP/IP stack, and with some luck: embedded Linux. Especially in that case, it’s more like “configuring” one of the standard, free servers than writing code. Even without that advantage, writing code (once) is economical; as the cost is spread over millions of devices – the economic key behind most embedded software

The change

Let us compile that: due to user feature as “wireless printing” and a technology push can have a cost-effective raspberry-Pi class computer inside. This enables us to “configure” a web server to operate the system, and so we reduce costs by removing buttons and such. There are only one, or two, extra steps we have to take: convince the user. That part is easy: sell the cost-saving as a feature. Printers are sold and promoted with:

“Now with embedded web server”

more changes

I expect we see the next step soon. Nowadays the promise is “a web server”, and that is all you get. But, when all printers have it, it hardly distinguishes, nor does it persuades the user to buy. So, we can expect a new feature:

“Now with a modern,?beautiful?embedded web server”!

The printer shouldn’t print better, but sell better. By only upgrading the UI-software, and spend time on UI and UX (User Interface & User?Experience). And use more standard, modern web-technology.

What does it mean for our embedded software community?

Embedded Systems will contain more and more modern software, software that used to be known only in the web world; like Progressive Web, Angular, React, NodeJS, and more.

Quality

But it also demands more: the expected quality of embedded software is high. As there is no helpdesk, no admin to fix a detail, and all embedded software is expected to be flawless. How we do that, is the topic of a next blog.



MESS

This article is part of my 'MESS' series: Modern Engineering of Sovereign Software' aka 'Modern Embedded Software Systems'. See for more/future blog and articles either LinkedIn of my website https://mess.softwarebetermaken.nl

要查看或添加评论,请登录

Albert Mietus的更多文章

  • Can We Breed Software Leaders, Faster?

    Can We Breed Software Leaders, Faster?

    As the software industry continues to flourish, so does the need for mature leaders. In this evolving landscape, two…

  • No leaders, no appeal!

    No leaders, no appeal!

    After some theoretical reflections in ‘Leading Technical Software Development is Hard! We Must Improve’ and ‘Did Scrum…

  • Did Scrum Kill the Leadership Route?

    Did Scrum Kill the Leadership Route?

    Scrum and other Agile methodologies have revolutionised software development, bringing many benefits like improved…

    2 条评论
  • Leading Technical Software Development is Hard! We Must Improve

    Leading Technical Software Development is Hard! We Must Improve

    As embedded systems and technical software are becoming larger and larger, as well as more complex, leading those…

  • Applying BDD & TDD in legacy

    Applying BDD & TDD in legacy

    Applying BDD & TDD in legacy As I described in Introducing BDD & TDD, understanding the common goals of Behavior & Test…

    1 条评论
  • Introducing BDD & TDD

    Introducing BDD & TDD

    Is Behavior & Test Driven Development an essential aspect of professional software engineering? Leaders such as…

    2 条评论
  • The Never-ending Struggle on CodeQuality due to the growth of teams and codebases

    The Never-ending Struggle on CodeQuality due to the growth of teams and codebases

    As your embedded software codebase grows, the risk of introducing errors and bugs increases exponentially. Doubling the…

    2 条评论
  • De Embedded Linux Expert bestaat niet

    De Embedded Linux Expert bestaat niet

    Regelmatig krijg ik ‘Embedded Linux Experts’ aangeboden; bijvoorbeeld voor het HTLD- (HighTech Linux Delivery) team…

社区洞察

其他会员也浏览了