Problem

Provide a way to enter information on a touch screen mobile device, when there is no hardware keyboard attached.

Solution

Software input panels are basically software keyboards that are used to input text, numbers, special characters etc. by changing the layout of of the soft keyboard.

How to Use

There are several software keyboards available that differ in the number of key layouts, arrangement of keys and height of the keyboard itself. The keyboard is used by tapping on the keys.
Several gestures can be performed on the keyboard like: tap, double tap, press and hold . Each of these gestures provides a different outcome.
Usually feeback is provided when a key is pressed either by change in color or by a feedback bubble.
There are several layouts to the keyboard that can accomadate numbers, symbols and special characters apart from the default letters layout. These layouts can be swiched to by tapping a special key.


Iphone keyboard

The keys in the keyboard are rounded and seem to fit the finger tip, which gives the user the illusion of control. Visual feedback is provided and the layout is clean with fewer options on the keyboard.
iphone-keyboard-2.jpg

Android keyboard

It has a candidate window to display autocorrections/suggestions when the user starts typing, which can be selected by just tapping on it.
The location of the keys are different for each keyboard.
htckeyboard.png
htckeyboard.png

Windows keyboard

The keyboard has a simple layout with square buttons and visual feedback when pressed. Pressing on certain keys switches the layouts of the phone keyaboard.
windows-phone-7-keyboard.png

Swype keyboard
With one continuous finger or stylus motion across the screen keyboard, the patented technology enables users to input words faster and easier than other data input methods - at over 40 words per minute.
swype.jpg
Considerations
  • Provide visual/audio feedback when the user has pressed on any key in the keyboard.
  • Account for the fat finger syndrome where the user might press two adjacent keys simultaneously , and select the most likely key based on the context , i.e , the word being typed.
  • Provide auto-correction/spelling checks when the user has entered an incorrect word based on stored dictionaries.