Request for feedback - fun application for onboarding

Hi everyone,

Given the upcoming support for Update Modules we are planning to change the onboarding in Mender (the UI tips you see when installing the Mender demo server or start using Hosted Mender).

Today demo images and demo Artifacts for Raspberry Pi 3 BeagleBone are provided as part of this onboarding.

With Update Modules we had the idea to rather do an application update during onboarding, as this is much faster, can support a broader range of boards and demonstrate something changing on the device itself. But before moving forward, we wanted to get some input on:

  1. Did you use the demo images during onboarding? Was it useful?
  2. Which kind of application demo would be good to see during onboarding? One idea was to start a webserver (e.g. using python) and show a demo webpage once you access the IP / URL of the device after deploying the demo application.

Any feedback / clarification questions welcome! :slight_smile:

2 Likes

Showing the client side mender configuration files data in the webpage would probably be useful, as if following the tutorials, they probably want to customize this data as a next step.

1 Like

The images are useful when you want to quickly test mender with popular boards then move to integration with boards not support.

For the application a web server is a good idea :grin:

I do believe that if we are gonna show something “graphical”, a static webpage is the most portable way of doing this, if we want to keep it simple to run on multiple device. Maybe without python and just lighthttpd which might be easier to bundle and would not require a running specific python runtime installed.

Thanks for the feedback! Webserver with a custom page it is, then!
Can lighthttpd be compiled as a small static, portable (ARM*) binary?

Possible but might not be as easy as we would like. It does have some dependencies which need to be statically linked. Probably needs some light research to estimate effort.

When you mentioned “small static” I came to think that something golang based would be better in that case which works like that by default and must be web servers implemented in golang somewhere.

Quick search gave my this one,

https://github.com/mholt/caddy

They also provide binaries for every platform you can image here, Download Caddy. Though there is restricted usage license on the binaries and we would need to check if it is compatible with our use-case.

Caddy binaries are free for personal use, and a commercial license is required for internal company use, commercialized distribution, or other business purpose.

But beside the license it seems like a perfect fit for this use-case.