Solving the Virtual Keyboard Problem

Registered by Duncan McGreggor

 * What are the existing solutions?
 * What are the noted problems with florence?
 * What is involved in predictive typing? How do we make this more efficient?
 * Integration with DX and appindicators?
 * Accessibility questions, concerns, or requirements?

Related blueprints:
 * https://blueprints.launchpad.net/ubuntu/+spec/mobile-karmic-login-virtual-keyboard
 * https://blueprints.launchpad.net/ubuntu/+spec/desktop-maverick-touch-onscreen-keyboard
 * https://blueprints.launchpad.net/ubuntu/+spec/desktop-maverick-touch

Related efforts:
 * (from Seb24) Cooperation with Gnome-Shell devs: http://live.gnome.org/GnomeShell/Design/Whiteboards/ScreenKeyboard

Related projects:
 * https://blueprints.launchpad.net/ubuntu/+spec/word-prediction-app-and-lib
 * http://live.gnome.org/Hildon/HildonInputMethod
 * http://gitorious.org/fvkbd
 * http://florence.sourceforge.net/english.html
 * http://packages.qa.debian.org/m/matchbox-keyboard.html
 * https://launchpad.net/ubuntu/+source/moblin-keyboard-manager
 * http://wiki.openmoko.org/wiki/Illume
 * http://risujin.org/cellwriter/

Tags: hci-n, hci, touch, multi-touch, multitouch, applications, utilities

Blueprint information

Status:
Not started
Approver:
Duncan McGreggor
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
Cody Russell
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

Seb24 : Cooperation with Gnome-Shell devs ?
http://live.gnome.org/GnomeShell/Design/Whiteboards/ScreenKeyboard

oubiwann: Thanks, Seb24! I've updated the summary above to include your link. It would be fantastic if one or more GNOME Shell folks could be present for that session (either in person, or remotely via streaming audio + IRC). Do you think that's a possibility?

rbelem: meego-keyboard
http://meego.gitorious.org/meegotouch
http://meego.gitorious.org/meegotouch/meegotouch-inputmethodframework
http://meego.gitorious.org/meegotouch/meegotouch-inputmethodkeyboard
http://www.youtube.com/watch?v=0P2yLxIw3zg -> go to 4:00 min

=== What we've got ===
 * Dasher
  - Non-traditional
  - Predictive text support
  - Not good as a default keyboard (powerful, but non-intuitive)

 * Onboard
  - Developed as part of Google Summer of Code
  - Not being developed anymore?

 * Caribou
  - Began as Google Summer of Code project
  - Still in development
  - Working on predictive text?

 * Cellwriter
  - On-screen keyboard
  - Pen-input based support as well

 * Swype
  - Not open source

 * Meego keyboard
  - http://www.meego.gitorious.org/~chnin/meegotouch/chnins-meegotouch-inputmethodkeyboard
  - http://wiki.meego.com/Maliit
  - http://wiki.meego.com/Maliit/ForDevelopers

 * BlindType
  - Bought by Google for Android
  - Not open source (yet?)

* Literki
  - used in OpenMoko
  - contains also a touchpad mode

 * KDE keyboard
  - In development, not very advanced yet

 * http://www.almaden.ibm.com/u/zhai/topics/virtualkeyboard.htm
  - Word-typing
  - Something like this used in Windows Phone 7
  - Not sure if it's open source

 * StC has some contacts in the research community who may be interested in working with us

=== What we've done ===
 * In the past we used a commercial keyboard
  - Missing localization
  - Not open source

=== Things we'd like ===
 * Localization
 * Ways to trigger the keyboard
 * Form factor
 * Should support all layouts available in GNOME keyboard manager
 * haptic feedback support?
 * Predictive text
 * Predictive accuracy (e.g., you typed "ghe" and it figures out you meant to say "the")
 * Application-specific commands? Could possibly be like a pop-up toolbar, e.g. GIMP can install actions/icons to the keyboard

=== What should happen next? ===
 * Should we try switching to another keyboard in Natty to test it out?
 * Find keyboards not yet packaged and try to get them into Natty
 * Find out if there are libraries available for doing predictive or probabalistic text

(?)

Work Items