Reach out and touch a desktop



A little while back one of our readers e-mailed me and asked if I would experiment with the commonly used Linux desktops and report on how well they worked with touch interfaces. This is unusual territory for me. I generally do not like using touch interfaces, though I have worked with them on and off for over a decade. I tend to find navigating by swipes and finger presses cumbersome and unpleasant. I suspect part of the problem is my fingers are somewhat large, the buttons I am aiming at are often small (by comparison) and I dislike seeing finger prints on my screens.



Still, I own a laptop that features a touch screen and so I loaded up several desktops on the device and experimented with each one in turn. The laptop is a de-branded HP with Intel video drivers and an approximately 15-inch screen. During most of this trial the laptop was running Linux Mint Debian Edition 2 (LMDE 2), which is based on Debian "Jessie". Prior to starting this trial I had the Cinnamon, KDE 4 and Lumina desktop environments on this laptop. I added LXDE, MATE and Xfce. I attempted to install GNOME Shell as well, but ran into dependency conflicts, which I suspect relate to already having Cinnamon on the device. To work around this I downloaded a copy of Fedora and ran GNOME Shell from the live environment. Since Unity is not available in the software repositories of Linux Mint Debian Edition I downloaded a recent release of Ubuntu and used Ubuntu's live environment to test Unity 7.



There is one other thing I would like to touch upon (please excuse the pun) before talking about the differences between each desktop environment. Specifically, it is that I have encountered several people asking if one desktop or another "works with touch". Technically, just about any desktop is going to, on a base level, work with touch devices. So long as the hardware supports touch interactions and the proper device drivers are in place, the operating system should recognize taps as clicks and a finger moving across the screen as some sort of gesture (highlighting, dragging or scrolling). I want to make it clear up front that any open source desktop should work (to some degree) with touch interfaces, so long as the right drivers are in place and playing nicely with the hardware. The question I'm addressing here is how well suited (or unsuited) a desktop environment is when it comes to running on devices with touch screens. To answer that question I will be looking at how easy it is to perform common tasks such as launching applications, moving and resizing windows, switching between tasks and scrolling.



Cinnamon 2.6



Let's begin with a look at Cinnamon. It was the default desktop to ship with my copy of Linux Mint Debian Edition and so it was what I was using while other desktop environments were being installed. Cinnamon, as it turned out, was pretty much in the middle of the pack when it came to touch interaction. On the one hand, Cinnamon's spacious application menu was easy to navigate using touch and the desktop icons were nice and large, making them easy targets for my radio tower style fingers. On the other hand, resizing windows was a bit difficult as the corners of application windows had only a small area to touch and grab to resize the window. Scroll bars were small in Cinnamon too, making it tricky to browse through documents. On the positive side of things, window controls (the minimize, maximize and close buttons) were spaced apart and fairly easy to press. On the whole, I would give Cinnamon a 3/5 star rating when it comes to running on devices with touch screens.



GNOME Shell 3.16



GNOME Shell running on Fedora came next. I have mentioned in the past that GNOME Shell is a technology I find frustrating to use because of the way interface controls are spread out. The controls are represented by large icons, are spread out over a wide space and the environment is very dynamic. These aspects of GNOME Shell may drive me slightly batty when using a keyboard and mouse, but these same characteristics make GNOME Shell easily the best environment for touch devices.



GNOME's large, widely spaced icons are perfectly sized and arranged for my fingers. The scroll bars are easy to locate and use and the title bars at the tops of windows are unusually large which facilitates moving applications around the screen. GNOME Shell's sparse controls are very well suited for touch interfaces.





GNOME 3.16 -- Large and well spaced desktop elements

(full image size: 340kB, resolution: 1366x768 pixels)



The real ace up GNOME Shell's sleeve though is its virtual keyboard. GNOME was the only desktop to detect I was touching my screen and to automatically pop-up an on-screen keyboard when a text entry box had focus. This was done without any prompting or configuring on my part and it meant I never had to touch a keyboard or mouse during my time navigating GNOME.



One aspect of using GNOME I found weird, at least when comparing the environment to other desktops during this trial, was resizing windows. I could resize application windows, but GNOME required I resize windows by dragging the upper-left corner of the window rather than the lower-right, as other desktop environments did. This threw me off for a few minutes, but I slowly got used to resizing windows using the title bar rather than the bottom-right corner of an application's window.



The one problem I did run into was, at one point, GNOME simply stopped responding to taps and gestures. It was as though the screen had stopped being sensitive to touch. I could still move the mouse and type via the keyboard, but the touch interface was effectively dead. This continued for about a minute until the problem suddenly corrected itself and GNOME resumed taking input from the touch screen. The temporary interruption may have been a GNOME issue, but I suspect it is more likely a problem with a hardware driver. In any event, I gave GNOME Shell 5/5 stars.



KDE 4.14



The KDE 4.14 desktop was next in line and I think, of the desktop environments I tried, KDE performed better than most. The KDE environment is populated by large icons and the default Kickoff application menu is very easy to browse when using a touch interface. (The KDE Classic application menu is less suited to touch, but it is not the default option.) The window controls are of medium size and fairly easy to tap. I found the scroll bars in KDE were easy to manipulate, but difficult to see with LMDE's default theme as the scroll bars were grey-on-grey.





KDE 4.14 -- Working with widgets

(full image size: 496kB, resolution: 1366x768 pixels)



Perhaps the feature which most stood out while I was using KDE was how well suited the widgets and widget controls were to touch screens. It is very easy for the user to access the KDE cashew button, bring up a panel of widgets and drag them with one's finger onto the desktop. The widget controls for moving, resizing and rotating are large and easy to manipulate with a finger.



My one serious complaint when using KDE was that it was nearly impossible to resize a window while using the default theme. I could grab a side or corner of a window in order to resize it about one out of every eight tries and that was very frustrating. Window resizing aside, KDE performed well and I gave it 4/5 stars.



Lumina 0.8.6



Next up was Lumina. In many respects, Lumina worked well for me. The application menu is fairly easy to explore using a touch interface. The scroll bars on windows are nice and wide, making it easy to browse documents. Lumina has a relatively large spot in the lower-right corner of application windows that makes resizing the windows straight forward.



I did run into two problems with Lumina. The first was the default window controls were too small and too close together to access easily. I found I was as likely to close a window as I was to maximize it. The second problem I ran into was I could not switch between open windows using the task switcher bar on the panel unless (and this is strange) the application menu was open. Simply tapping on a minimized window's icon produced no result. However, if I opened the application menu first and then tapped on an icon, the appropriate window would be brought into focus.



In short, working with one window on Lumina was very pleasant, but moving between two or more applications was cumbersome and I gave Lumina 3/5 stars.





Lumina 0.8.6 -- Exploring the application menu

(full image size: 291kB, resolution: 1366x768 pixels)



LXDE



Next on my list was LXDE. The LXDE interface is designed with traditional desktops in mind and I was not expecting a lot from this desktop environment. This was just as well as LXDE did not work well with my touch screen. While technically the controls worked, almost everything on the screen was too small to access effectively by touch. Window controls, application menu items and the buttons on the panel were all too small for me to use. I was not able to resize application windows, again because window borders were too small for me to touch.



The one area where LXDE did well was with scroll bars. The scroll bars in LXDE were big and bright, easy to find and move. This earned LXDE 1/5 stars.



MATE 1.10.0



The MATE desktop was next on my list of interfaces to try. MATE offered me another middle of the road experience. On the negative side, the MATE menus are fairly small, window controls are too close together to be used safely and scroll bars were hard to see with the default theme. However, on the positive side, windows had fairly large and easy to "grab" title bars, making MATE windows easy to move. The MATE panel has nice, big buttons that facilitated switching between windows.



MATE, while it offers a fairly traditional layout and small menus, was not difficult to navigate and so I gave it 3/5 stars.



Unity 7



I expected good things from Unity 7 since, like GNOME Shell, Unity's large controls and gaps between screen elements lends its environment to touch. On the whole I found Unity did generally work well with my laptop's touch screen. The large icons are easy to select, window controls are widely spaced and windows have thick title bars to facilitate moving applications around the screen.



My one serious issue with Unity was that I could not resize application windows. I could easily maximize and minimize windows, but setting them to a specific size was not possible. I had hoped Unity, like GNOME, would pop-up an on-screen keyboard when I was entering text, but this did not happen. I had to switch between touching the screen and using my laptop's keyboard.



One quirk of Unity, and I think this is a bad thing, is the way we scroll through documents. All of the other desktop environments I tried utilized scroll bars to navigate documents. When using Unity, some applications have scroll bars and these work just as they do in other desktop environments. However, many applications do not have scroll bars. In an application which has no visible scroll bar we browse documents by swiping up or down the screen. In other words, about half the applications I ran on Ubuntu acted like smart phone apps while the other half acted like traditional desktop applications. I wouldn't mind one or the other, but switching between the two was jarring. In the end, I assigned Unity 3/5 stars.



Xfce 4.10



The last desktop on my list was Xfce and I found Xfce 4.10 offered me the least pleasant experience of the bunch. Icons and menu items were small, window controls were placed close together and did not respond at all to taps. The resize area in the lower-right corner of application windows was large enough to easily see, but often did not respond to being touched.



Early on I thought Xfce desktop icons were not responding to touch at all, but I eventually discovered I had to tap on the text under a desktop icon in order to launch a program, tapping on the picture (the icon itself) produced no result. Xfce has a bottom panel with quick-launch buttons and these worked and were easy to access.



Of all the desktop environments I tried, Xfce was the only one in which I could not move windows by tapping on the window's title bar and dragging it around. In this way Xfce was unique. One of Xfce's few good qualities where touch was concerned was that scroll bars were clearly visible and worked smoothly. I gave Xfce 1/5 stars.





Xfce 4.10 -- Exploring the desktop with touch

(full image size: 321kB, resolution: 1366x768 pixels)



Conclusions



On the whole, I don't think there were a lot of surprises in this trial. The older, traditional desktops (LXDE, MATE, Xfce) appear to be much more interested in saving screen space than being touch friendly. More modern desktops like KDE 4, GNOME Shell and Unity appear to be making an effort to use large, touch accessible controls. No desktop environment worked with touch perfectly, but GNOME certainly stood out as being made with touch screens in mind.



Something I noticed while exploring each desktop environment was there did not appear to be a way to right-click on anything. When using an Android phone, pressing down for an extended period usually causes a context menu to appear. This does not seem to be true of any of the desktop environments I used this week. I think this is a shame as hold-to-right-click probably would have made several tasks easier. I also found most desktops have not addressed scrolling. Unity tries to allow us to swipe to scroll, but it only works about half the time. The other desktops are all still stuck with traditional scroll bars which feel a little out of place when using a touch device.



In the end, I was quite happy to return to using a mouse instead of my finger. It is nice to be able to right-click on controls again and select items with a higher degree of accuracy. But if I do need to, in the future, use an open source desktop on a touch device, I hope it is GNOME Shell.



