Can LVGL compete with Android in UX "richness"?

I’m developing a product that will compete in the marketplace with other similar devices that use Android for their embedded platform. I’m concerned that LVGL will not provide an “equivalent” user experience. In particular, I need to provide sliding drawers that are accessed in the UI with edge swipe gestures i.e. dragging a finger from the edge of the screen toward the middle of the screen.

This is critical for the UX design, but I don’t see an attribute on the Base object, or Container, Page, or Window widgets that looks like it will serve this purpose.

Is there somewhere else in the widget library I should look for this feature?

2 Likes

I do not think LVGL can compete with Android in UX “richness” as your call it because that is not its target. LVGL enables low cost MCUs to have an rich UX experience which in someway resemble smartphone graphics / Android UX. The complete Android ecosystem is targeted at MPUs with hardware graphics acceleration or dedicated GPUs. So they do not compete.

But if you just want a sliding drawer maybe the Tile view (lv_tileview) — LVGL documentation is what you are looking for.

2 Likes

It’d be exaggerating the LVGL can compete with Android, but our goal is to bring LVGL as close as possible to the level of smartphone and web technologies. Although we operate with ~1% of resources.

Some internal of LVGL were inspired by CSS and HTML and with v8 we make an other huge step. LVGL will have (or already have):

  • style state transitions
  • antialiasing opacity, image transformations, animations
  • flexbox/grid layouts (v8)
  • feature rich scrolling (v8)

On the other hand, I’ve searched for “smartphone app design” in google and I can say UIs similar to these can be created with LVGL too (especially with v8):

2 Likes
  • :+1: awesome! When will the V8 version come out.
1 Like

It’s already available for testing.
See here: https://github.com/lvgl/lvgl/issues/2144

LVGL is outstanding because it offers indeed what Android is doing for 1‰ of resources. Android is bloatware.

That being said, Android set the level of UX and LVGL should target the same level. And this is what you are trying to do. Especially, drawer is now in all Android applications and it has become a de facto standard.

Doing a drawer doesn’t seem to be more complex or more resource intensive than everything LVGL already does. But there is some code to write.

I’m in the same situation. I need the same UX as Android (especially drawer) and I’m not going to give 100% cycles of my ARM CPU to an OS that will do a drawer but also stupidly starts a USB printer service while I even don’t have a USB port on my device…

Could we expect a drawer widget soon? :wink:

I was already thinking about adding a drawer but I’m working all my free time on releasing v8.

So probably it will be added once but if you need it right now, please contact me in private via lvgl@lvgl.io. We have a widget development services exactly for these cases.

@kisvegabor Any attempt on mobile app development with LvGL? I know that LvGL is developed for platforms with limited resources, but it would be nice to be able to develop embedded systems, desktop and mobile applications with the same framework.

There is an open issue about it on GitHub too but no progress so far.

It seems possible but a brave contributor is needed to make some experiments. :slightly_smiling_face: