Tales of software craftsmanship

Tales of software craftsmanship

Running KDE SC on the next big thing

A week ago I got a Tegra 2 based 10.1″ Android tablet called Point of View Mobii Tegra. Its brand is just badge engineering, the same device is sold throughout the world under a variety of other names, including Advent Vega, Smartbook Surfer 360, WSL Xvision and Dreambook ePad P10, and apparently it is based on a reference design by Nvidia. The hardware is quite fast but the bundled Android software feels, well, a bit weird. I say “weird” simply because Android 2.2 is an operating environment for handsets rather than for tablets, and while it’s fast and it does the job, it is hardly the best tool for the job: compared to a smartphone’s 3 or 4 inches, 10 inches of touch screen provide a lot more space for all sorts of touch-friendly widgets and a call for a somewhat different user experience. This is especially noticeable when looking at common widget placements on the screen: Android often expects you to hold a smartphone with one hand, and places relevant widgets close to where your thumb should be. These kind of assumptions fail miserably when running Android on a 10″ tablet.

Anyway, like a true fan of KDE my priority was trying to figure out if there’s a way to get KDE SC running on it in some form. This was remarkably easy, thanks to the efforts of some MoDaCo community members, who provided an Ubuntu-based rootfs and a kernel. All I had to do was figuring out how to flash the device with Nvidia’s tools the right way. After that it was just a matter of installing some KDE software from Ubuntu’s armel packages.

My PoV Mobii Tegra (Advent Vega) running KDE SC 4.6

So the point of this post isn’t technical, it really didn’t take much to have a KDE desktop running on the Tegra tablet. It’s just a bit of proof that it can be done.  The user experience with the regular Plasma Desktop is surprisingly fast but overall not very good, and Plasma Netbook doesn’t make it much better. The UI feels too small and is not well suited for use with fingers. I suppose it would work somewhat better with a stylus, but that’s not what these kind of tablets are about. I haven’t had the chance to try Plasma Mobile yet, but even if it brought a huge improvement, I would also need finger-friendly apps.

Right now I can see that there’s a vacuum in the tablet market as far as operating environments are concerned. Android is obviously late to the party and WebOS and MeeGo even more so. Could this be an opportunity for KDE?

A sensible beginning might be designing a set of finger-friendly widgets and a Plasma workspace optimized for 10″ and 7″ tablets, and defining a list of UI guidelines for tablet-friendly KDE apps.

16 Comments

  • Reply Tomasz Cieńciała |

    For me it makes sense if KDE and Meego join forces – they are both qt based and Meego netbook UI could be merged with KDE netbook. In this case KDE would receive tablet version from Meego. But well – this is my opinion only 🙂

  • Reply Marco Martin |

    Hi Téo, very good job 😀
    and yes, in plasma we are putting a lot of effort in this direction.
    on the plasma-mobile repo a shell is growing that is completely contolled by qml, with proof of concept home screens for handheld and tablet being developed (would be awesome btw see how it works on this tablet in particular ;)).
    The declarative plasmoids will be able as well to load pieces of ui selectively depending on what device they’re on.
    Applications are a whole another fascinating problem, but we’ll get there as well, i’m hopeful 😉

  • Reply B |

    I’m starting to suspect this is what the Gnomers have in mind with Gnome 3. At least that would explain some of the design decisions that don’t make much sense otherwise. 😉

    • Reply Fri13 |

      Yes, they have started to focus for touch screens (like remove Max/Min buttons as you dont need them) but KDE has supported them since KDE 3.x series came out. You only need to configure the UI to work on such, so there need to be added good tools and settings to make it easily and globally.

  • Reply nuno |

    Yeah plasma can give you a wonderfull experience on tablet devices but it needs a new from factor, its not to hard to make a new one…
    more dificult is traditional desktop apps you can incresse the font size that will help you incressing hit areas but realy new app uis are required… thats what qml is all about …

  • Reply burkeone |

    That would be nice. One of the classic linux desktops running on a tablet PC would be very attractive for many old fashioned linux users, I guess.

    But tat would be a long road. Because the Gui’s would be to be completely redesigned. Things like the menubar simply would not work.

    However, KDE would be the right community for such an adaption, just because it has the right tools for tablet uis like plasma and most of the software could certainly easy be adapted to such an ui.

  • Reply Fri13 |

    The KDE SC is actually very well designed for touchscreens, not perfectly but very well.

    You need to configure some settings to get to there, as defaults does not fit at all on that thing.

    1) Configure KWin to set every application in fullscreen mode, without window decorations.

    2) Make every application toolbars at least 32×32 size icons (I prefer 64×64) and customize toolbars to have all needed functions (needs lots of work in the future to allow custom commands to be included and not just default ones!)

    3) hide menubar from all apps (Ctrl+M to rescue, but it is very stupid that it is not already moved to KDE libs to allow _all_ KDE applications to offer a menu hiding.) as menus are not needed at 2010 century. The toolbar should have all basic functions if there are no sidepanels.

    4) Configure Plasma desktop panel to be always ON, replace taskpanel with smoothtask (or similar) what gives icons-only-mode.

    5) resize panel to bigger, so it is about 32x32px icons on it. Then it is easy to actually use.

    6) Add a virtual keyboard widget to panel so you can actually easily start typing. You find one from kde-apps.org site what works very well.

    7) Add custom shortcuts to panel, to execute a KWin effects like “Desktop Grid”, “Present window” and “Dashboard”. (as you can not use hot corners)

    At that point, you have got much better desktop environment for touch screens than what anything else has.

    The KDE SC needs in future releases have some tweaking towards touch screens.

    1) Global Ctrl+M function (add it to kdelibs right away!)
    2) easily working KWin global settings, without need to configure every application/window separately.
    3) New touchscreen friendly notification system like a http://forum.kde.org/brainstorm.php#idea91258_page1

    The main problem when such exist with tablets, is that the desktop can not be WIMP by design (that means Window, Icons, Menu, Point devices.
    Touch screens does not support well a window management, it need to be moved to windowmanager job. Neither does touchscreen support well menus, so it need to be removed and have only a toolbars (icons) and dialogs. And every function need to be accessible with a single click (tap) without any gestures, hot corners, or “Alt Tabbing”.

    • Reply Teo |

      That surely sounds interesting, I’ll give it a try. Shipping a similar configuration as a default for tablets might be a good option before we truly tabletize our apps.

      • Reply Aurélien Gâteau |

        An easy way to get a somewhat “tabletized” version of all Qt and KDE apps is to set “global struts”: this setting define the minimum width and height a widget must be. You can do so from qtconfig, in the “Interface” tab. Set it to something like 32 or more and enjoy bigger buttons (might not look that nice on all apps though).

    • Reply Heller |

      I think the Oxygen stylein KDE SC 4.6 allows to hide the menu bar for all apps (with ctrl+m)

      • Reply Fri13 |

        Only at some applications and the Ctrl+M support need to be coded to per app. There are some styles what allows it for all applications like QtCurve (Default Ctrl+Alt+M if enabled that experimental). But it really should be on kdelibs.

        Even Amarok developers toke that feature back after years, even that huge amount of users wanted it back.

        And KMail (Whole kontact) does not support it neither. What makes KMail a bad choise for older/younger users as the menu is just making the UI more difficult to use.

  • Reply Bugsbane |

    It’s funny. When I use my stock standard KDE 4.6 with my laptop (Dell Latitude XT) in tablet mode, I actually find almost everything (including window management) remarkably easy. The only things that are a pain are the small minimise / maximise / close buttons, close tab buttons in rekonq / konqueror / firefox and the fact that I want the virtual keyboard in an autohide panel, however, getting the panel to unhide is hard when touch doesn’t let you easily click / move the cursor near the edge of the screen. Oh, lack of a way to right click is problematic, too.

    Everything else though works remarkably well, especially since the “drag the window with any empty part of the window” was introduced in QT 4.7.

  • Reply CTown |

    Android 3.0 is meant for Tablets, actually Google built Android 3.0 with Tegra 2 (and tablets) in mind. Also, does any one see the similarities Android 3.0 has with KDE 4. Android 3.0 is all about getting closer with your information, just like Plasma and Akondai!

  • Reply damian |

    Getting kde to tablet would be awesome but I see 2 problems we should solve:
    1-most tablets are hard to root, the procedures should be more standarized so that when you get root, there is a clear and simplified way of installing linux with kde
    2-If we are changing all apps to tablet, then the whole uis will have to be re-designed, the concepts of menus is becomening more and more useless, but we can’t just make any random idea that fits with some specific app, we should create a new hig focused on non-menu, simple looking apps, which would also help touch uis.
    I think there should be more apps with custom graphics inside them, not only default widgets, interfaces like polka(the new address book manager) look very good, and seem touch friendly, I think the images/style of these should be standarized and put into kdelibs, so that apps with graphics in it’s uis can also follow higs.

Post a comment