Improve Plasma on touchscreen devices
Open, Needs TriagePublic

Description

Description

Touchscreen enabled devices (tablets and 2-in-1 notebooks) are becoming ever more prevalent in use cases that previously were occupied by traditional notebooks and desktop PCs. Currently no Linux DE (not even Gnome contrary to popular belief) works really well on tablets and 2-in-1s.

Every action a user might do in KDE Plasma should not be any harder than with a keyboard and mouse. The aim should be to reach Windows 10 level of UX on a touchscreen (if not even iOS on an iPad).

What it will take

  • Properly detect touchscreen devices and offer configuration options in System Settings
  • Make touch input a first class citizen in KWin (not just a simulated mouse click).
  • React to tablet and convertible specific events like switching rotation or entering tablet mode when the keyboard is flipped (Dell XPS 2-in-1) or disconnected (Surface Book)
  • Implement touch navigation (tapping, tap-and-holding, swiping, pinch-zooming, right-click) in all core KDE apps
  • Implement a dedicated tablet mode which deactivates the keyboard (if flipped on a 2-in-1) and makes UI elements bigger where necessary

How we know we succeeded

Entirely via touchscreen the user should be able to:

  • Boot into Plasma and log in
  • Customize the Plasma panels and plasmoids
  • Download Firefox from Discover
  • Suspend their session
  • Enter the session again
  • Download a PDF file from Firefox
  • Preview the file in Okular
  • Compose an email in KMail and attach the PDF file via finger drag-and-drop
  • Add a calendar event

These steps should be a doable on recent models of:

  • Dell XPS 2-in-1
  • Microsoft Surface and Surface Book
  • Lenovo Yoga
  • HP Spectre x360

Relevant links

I am willing to put work into this

  • Martin Sotirov (@martinsotirov) – submitting patches, testing on a touchscreen
  • Nate Graham (@ngraham) – submitting patches, testing on a touchscreen
  • Niccolo Venerandi (@niccolove) – submitting patches, testing on a touchscreen
  • @fabianr - improving HIG for touch UI and UX
  • David Strobach (@strobach) – submitting patches, testing on a touchscreen
  • Aleix Pol (@apol) - patches, testing, etc
  • Méven Car (@meven) – submitting patches, testing on a touchscreen
  • Marco Martin (@mart) - patches in plasmashell, kirigami and Kwin
  • Ilya Bizyaev (@IlyaBizyaev)
  • Aleksey Minnekhanov (@alexeymin)
  • Roman Gilg ( @romangg) – patches
  • Manuel Soukup ( @msoukup) – testing on a touchscreen (Windows Surface 3)

I am interested

martinsotirov triaged this task as Normal priority.
martinsotirov raised the priority of this task from Normal to Needs Triage.
ngraham updated the task description. (Show Details)Jun 10 2019, 6:26 PM
ngraham added a subscriber: ngraham.
bshah added a subscriber: bshah.Jun 10 2019, 7:27 PM
russh added a subscriber: russh.Jun 11 2019, 9:03 AM
russh updated the task description. (Show Details)Jun 11 2019, 9:09 AM
niccolove updated the task description. (Show Details)Jun 11 2019, 10:34 AM
niccolove added a subscriber: niccolove.
fabianr updated the task description. (Show Details)Jun 11 2019, 2:10 PM
fabianr added a subscriber: fabianr.
strobach updated the task description. (Show Details)Jun 11 2019, 3:55 PM
GB_2 updated the task description. (Show Details)
apol updated the task description. (Show Details)Jun 13 2019, 4:26 PM
apol added a subscriber: apol.
meven updated the task description. (Show Details)Jun 15 2019, 4:54 PM
meven added a subscriber: meven.
mart updated the task description. (Show Details)Jun 25 2019, 10:50 AM
mart added a subscriber: mart.
mart added a comment.Jun 25 2019, 10:52 AM

It's also intertwined with T1154 about input methods, as one of the most important features of touchscreen interaction is a well working frustration free virtual keyboard

IlyaBizyaev updated the task description. (Show Details)Jul 7 2019, 1:13 PM
alexeymin updated the task description. (Show Details)Jul 19 2019, 10:12 AM
lydia added a subscriber: lydia.Aug 3 2019, 3:50 PM

Are we ready here? If so please move it to the next column so we can consider it for voting.

lydia updated the task description. (Show Details)Aug 3 2019, 4:13 PM
romangg updated the task description. (Show Details)Aug 6 2019, 7:11 PM
lydia added a comment.Aug 13 2019, 8:48 PM

Quick reminder that there are two days left before the voting starts. Please make any changes you still want to make soon.

alexde added a subscriber: alexde.Aug 19 2019, 2:07 PM
alexde removed a subscriber: alexde.Aug 19 2019, 2:10 PM
baberts added a subscriber: baberts.
lydia added a comment.Aug 24 2019, 3:39 PM

Vote invite were sent to everyone subscribed to the KDE community mailing list and everyone with a developer account. Any contributor who didn't receive one please subscribe to the mailing list to not miss future announcements and send me a quick email (lydia@kde.org) and I'll send you a vote invite.

[spam comment removed by sysadmin]

lydia added a comment.Sep 9 2019, 8:23 AM

Unfortunately this goal wasn't selected as part of this round. If there is a critical mass of people who still want to push it forward please do! If support like financing a sprint is needed please reach out to the board.
Hopefully the selected Wayland goal will help make progress on this topic as well.

ikidd added a subscriber: ikidd.Oct 27 2019, 9:07 PM
msoukup updated the task description. (Show Details)Oct 31 2019, 2:19 PM
msoukup added a subscriber: msoukup.
edevito added a subscriber: edevito.Dec 5 2019, 3:31 PM
timm added a subscriber: timm.Mar 28 2020, 10:20 AM
symo added a subscriber: symo.Nov 11 2020, 1:37 PM
Abroas added a subscriber: Abroas.