• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

iPhone like thumb keyboard - new version on 2007-07-20

Search This thread

TomJanssens

Member
Jul 18, 2007
14
0
Zottegem
www.corebvba.be
A little while ago, I saw a video of the first iPhone tests. When I saw the gesture & keyboard input using the fingers, I was thinking : I can do that as well...

So I developed my own finger input keyboard.
Since I don't have a mobile PC atm, I've only been able to run the demo on the pocket PC emulator.
Currently it feels a little slow to me, so I was wondering how it was holding up on a real pocket PC, and if anybody would be able to test it, and maybe even post a little video of the test-app in use.

I think atm the dictionary might have the biggest performance impact. In the current version I support about 75000 English words, while most predictive systems use a dictionary consisting of +/- 15000 words. If the performance part is lacking, I might try to reduce the dictionary to 15000 words also.

A few notes :
- currently only the keyboard support is available for WM5/6, so no gestures
- .Net compact framework 2.0 must be installed.
- only English is supported.
- the prediction is intelligent. a few examples of intended first matches:
* SURROGATE (input text : XUERMFSRE )
* TWEAKER (input text : YSRALDR )
* ABSOLUTE BEGINNER (input text : ZHDIMYTR JRHOKKER)


Since I don't have a pocket PC handy atm, I was also wondering if the finger input method is usable on a real Pocket PC. Please let me know what you think...

Here you can see a screen shot of the app in the windows emulator :

iphoneMockupWM6.GIF


USAGE:
- Just type the words, and use space or ENTER to confirm the first match.
- Press clr to clear the current word.
- Press the text box containing the key input to use this word (currently the words do not get added automatically)
- further keyboard enhancements (QWERTY, numbers,... & skinning) will be developed in the future if this turns out to be usable.

Update 2007-06-19 : new version available (at the same link)
- performance improvements
- QWERTY,AZERTY & numeric keypad
- Tactile feedback (sound)
- ...
Update 2007-06-20 : new version available (at the same link)
- performance improvements after an online chat with tene

You can download it at this page .

Please test it and give me your feedback !!! Thanks !!
 
Last edited:

hanmin

Retired Moderator
Jan 21, 2006
1,937
10
Devon, UK
Did a test. Comments:

- Yes, it is slow. I had it in my SD, it took 10 seconds to start
- I can't type very fast on a non QWERTY keyboard, consider a QWERTY?
- Yes, it is slow, sometimes, when there are words matches, it takes a while before my next letter appear, and I thought I didn't poke it hard enough, and I get repeating letters
- There is no `back-space` on the keyboard + the previous problem, making testing very unconfortable.
- There seems to be a [] appearing whenever I choose a letter from the list
- I can use the hardware directional pad to choose the word that I want.

Anyway, nice work.. needs some improvements though ;)
 

TomJanssens

Member
Jul 18, 2007
14
0
Zottegem
www.corebvba.be
Thanks a lot !! You are the first person who actually responds (after about 60 downloads in the past week)...

Did a test. Comments:

- Yes, it is slow. I had it in my SD, it took 10 seconds to start
I will create a smaller dictionary in the next version, so it can load quicker
- I can't type very fast on a non QWERTY keyboard, consider a QWERTY?
In the current development version QWERTY is integrated
- Yes, it is slow, sometimes, when there are words matches, it takes a while before my next letter appear, and I thought I didn't poke it hard enough, and I get repeating letters
Dot you think some kind of feedback (a sound, or maybe virbration if possible) would improve this ?
- There is no `back-space` on the keyboard + the previous problem, making testing very unconfortable.
I only implemented the CLR-key to clear a whole word. Maybe I should revise this, and turn it into backspace..
- There seems to be a [] appearing whenever I choose a letter from the list
I will check this...
- I can use the hardware directional pad to choose the word that I want.
I didn't even think about this, but it might be a good idea to use the directional pad. Thanks !

Anyway, nice work.. needs some improvements though ;)
Hehe, thanks for the info... now I know what to improve, I can get on with this... :)

If I fix most of the problems mentioned here, would you consider this a usable thumb keyboard ?
 
Last edited:

sany

Senior Member
Nov 13, 2006
303
11
anyway whatever the outcome we should all appreciate someone who is trying something new, great work Tom - wish you good luck for the future
 

tene

Senior Member
Jun 21, 2007
845
2
Brussels
Hi,

I've tested it, the concept seems to work quite well, however it's a bit too slow for my device (200Mhz HTC Touch)... but I guess some improvment can be made.

Note that developing a custom SIP for pocket device require to write a in-process COM dll... so you'll need native.

Also a quick feedback
- think about UI feedback for keypress, it will make the app look faster.
- for a hand device, selecting the right suggestion with the finger is a bit hard (but hey it's a poc).
- I wonder, do you consider the tap position on the key? (for instance I press E, but I'm closer to R, so suggestion will go to E or R, not Z which is less likely).
 

TomJanssens

Member
Jul 18, 2007
14
0
Zottegem
www.corebvba.be
Hi,

I've tested it, the concept seems to work quite well, however it's a bit too slow for my device (200Mhz HTC Touch)... but I guess some improvment can be made.
Hey, somebody from Belgium as well... :)
I will release a version with a smaller dictionary soon. The HTC touch was the device I had in mind while developing this app, so it is a pleasure for me to find out the concept in itself seems to work.

Note that developing a custom SIP for pocket device require to write a in-process COM dll... so you'll need native.
Yes, I know... I was exploring the option of using system-wide mouse events (some kind of gesture to pop-up the keyboard) as an alternative, but the constant switch between native & .NET in the msgproc seems to slow down the pocket PC too much, so I will probably have to convert this into a native c++ app.

Also a quick feedback
- think about UI feedback for key press, it will make the app look faster.
I will look into this
- for a hand device, selecting the right suggestion with the finger is a bit hard (but hey it's a poc).
This also
- I wonder, do you consider the tap position on the key? (for instance I press E, but I'm closer to R, so suggestion will go to E or R, not Z which is less likely).
Yes, I do, and I predict my words in order of the best matches first. But if E or R would not return enough word matches, I would turn to Z off course

When you consider the typing speed with this, how would you estimate it :
- better/worse then stylus keypad
- better/worse then 'graffiti'
- better/worse then some other method I never heard about.
If possible, could you give me en estimate of the amount of typed words/minute ?
 
Last edited:

tene

Senior Member
Jun 21, 2007
845
2
Brussels
When you consider the typing speed with this, how would you estimate it :
- better/worse then stylus keypad
- better/worse then 'graffiti'
- better/worse then some other method I never heard about.
If possible, could you give me en estimate of the amount of typed words/minute ?

Unfortunately: it's too slow to provide accurate result on my touch. The suggestion panel isn't usable by finger, so I can't provide such result... and I do speak french, so most of my messages are in french. Also I don't have much XP using PDA phone, based on my test, it was the most promising input however.

By the way, if you need help with the C++ version... contact me...
 

orobin

Senior Member
Feb 9, 2006
321
19
Lyon
hello,

it crash on a qtek 9100 (Wizard is the US name I think)
it says : outofbound exception... I don't have the full error message.
I have the compact framework 2

Best regards,
Olivier
 

TomJanssens

Member
Jul 18, 2007
14
0
Zottegem
www.corebvba.be
newer version with qwerty etc...

So far so good.... I have been fixing most of the issues you all suggested, and released a new version on my site :
http://www.corebvba.be/blog/CategoryView,category,iPhone.aspx

This version has better performance, QWERTY, as well as AZERTY & numeric keypads & provides tactile feedback (sound)

Still on my todo list:
- backspace
- Custom words & contacts in dictionary
- skinning
- performance

Please test it and let me know what you think about it.
 

Edu115

Member
Jul 7, 2007
45
0
Let me say your app has a huge potential. You just have to work a little more on the dictionary and the speed of the app, and of, course, on the GUI and this could be a hit.
 

Ixtana_ran

Senior Member
Mar 30, 2006
160
0
56
Stoke-on-Trent
Promising

Just tried on wizard, speed OK, easy to use very impressed.
Excuse my ignorance, will this be usable with writing text messages, i.e. some sort of program integration or an ability to copy and paste text?
Best 1 thumb text entry method I have tried even with BIG thumbs.
Backspace in the pipeline I see, will keep coming back to check on updates.
 

tene

Senior Member
Jun 21, 2007
845
2
Brussels
So far so good.... I have been fixing most of the issues you all suggested, and released a new version on my site :
http://www.corebvba.be/blog/CategoryView,category,iPhone.aspx

This version has better performance, QWERTY, as well as AZERTY & numeric keypads & provides tactile feedback (sound)

Still on my todo list:
- backspace
- Custom words & contacts in dictionary
- skinning
- performance

Please test it and let me know what you think about it.


Hi,

Tested the latest version, it's still too slow on my touch. Sound feedback is awful, visual feedback maybe the way to go. I've lot of idea for technical improvement, do you want to make it a collaboration project?

regards,

Quentin
 

uniqueboy

Senior Member
Apr 11, 2006
1,421
5
Hi just tried your keyboard there, wasn't too sure what to expect, when I noticed tene taking an interest my hopes were raised. I would like to see a keyboard where you can drag your thumb over the letters like tene's contact manager, and the letter pops up in a bubble and is entered when you release your thumb. But it seems to work ok on my artemis, bit slow to load but ok to use. Looking forward to your future work thanks.
 

TomJanssens

Member
Jul 18, 2007
14
0
Zottegem
www.corebvba.be
And again, anew version 2007-07-20

After a little chat with Tene from xda-developers.net, I suddenly realised that the performance problems could be easily solved my making the keyboard a little bit less tolerant to errors.

So I adjusted a single variable, compiled the version, and ... Now it even runs smooth on my emulator...

You can download the version at the same link :
http://www.corebvba.be/blog/CategoryView,category,iPhone.aspx

Please let me know what you think about the performance
 

orobin

Senior Member
Feb 9, 2006
321
19
Lyon
hello,

with the last version, it is still crashing.
(my device is a qtek 9100 = wizard)
the message says :
System.ThrowHelper.ThrowArgumentOutOfRangeException()
to
System.collections.Generic.List '1.get_Item()
to
coreInput.DAWGNode.LoadFromStream()
to
coreInput.DAWG..ctor()
to
IphoneMockup.MainForm..ctor()
to
IphoneMockup.MainForm.Main()


I don't know what is Iphonemockup, I don't have any program with this name installed
I have a today skin of Iphone, and a wisbar skin of Iphone

note that it crash exactly in the same way, with wisbar, and without wisbar advance desktop

hope it helps...

Olivier
 

TomJanssens

Member
Jul 18, 2007
14
0
Zottegem
www.corebvba.be
hello,

with the last version, it is still crashing.
(my device is a qtek 9100 = wizard)
the message says :
System.ThrowHelper.ThrowArgumentOutOfRangeException()
to
System.collections.Generic.List '1.get_Item()
to
coreInput.DAWGNode.LoadFromStream()
to
coreInput.DAWG..ctor()
to
IphoneMockup.MainForm..ctor()
to
IphoneMockup.MainForm.Main()


I don't know what is Iphonemockup, I don't have any program with this name installed
I have a today skin of Iphone, and a wisbar skin of Iphone

note that it crash exactly in the same way, with wisbar, and without wisbar advance desktop

hope it helps...

Olivier

This message points to an error when loading the dictionary from the exe itself. As it works on the other pcketpc's, i was wondering if you have got the latest version of .net compact framework correctly installed. Maybe an uninstall and then reinstall of the compact framework might help ?
 

orobin

Senior Member
Feb 9, 2006
321
19
Lyon
hello,

ok, I will try to uninstall the framework, and install it again.
I will keep you updated.

just to give you the information : I actually have the framework 2, and I have some program using it properly.

but anyway, I will try what you ask.

Best regards,
Olivier