Calling On F200 Owners To Test A Touchscreen Writer App.


TrevorBradley

Active Member
Joined
Nov 6, 2007
Messages
732
I put this project aside for many weeks, but I don't like working on two projects at once so I thought I'd finish it off... but I'm going to need some tester help to see if the effort is worthwhile.

What I'm attempting to do is write a trivial "handwritten word processor" for the F200. You write (script or printed) text at the bottom of the screen, words are recorded and the displayed on the upper part of the screen. You can use the cursor keys to move around words, move between saved numbered "documents", etc. The idea would this would be useful for brief notes, shopping lists, etc.

The F200 touchpad is really finicky. On each mouse "press" there's occasionally a lot of noise that makes the mouse jump left and right in the X direction. What I've done is written an algorithm to filter out the noise and just leave the drawn text.

If you've got the time, I'd appreciate if you downloaded and tested the following:

Writer 0.1 Prerelease

In the rar file are two gpe files: MouseTest2 and Writer2.

MouseTest2 is a raw test of the touchscreen noise filtering algorithm. Each point is an actual point recorded by the GP2X, but only points in blue have lines drawn between them. Points in Green (questionable) or Red (Terrible!) are discarded. Use the start/home key to quit the program. The numbers in the background are the exact co-ordinates of the last 150 or so points drawn.

Writer2 is an unfinished version of the word processor. This has the same algorithm, but without any of the coloured lines or debug data. You can write words between the lines at the bottom of the screen (think grade school lined paper) and the text is drawn above. To start a new word, just wait a very brief instant and write again. There's a brief window of time where you can cross your t's or dot your i's, and printed text should work OK without starting a new word. Use the left button to delete one word, up to delete all words, and start/home to quit. Nothing saves at the moment.

What I really want tested is MouseTest2. I have no idea if this "x noise" is just on my gp2x or if it's different for different people. It could be that I've finely tuned my noise algorithm to my gp2x and it doesn't work for anyone else.

Here are my questions:

Does MouseTest2 give a good approximation of what you're drawing?
Are the right dots excluded?
Are the right dots included?
And lastly, is the GP2X touchscreen too messy for me to continue this project?

I'm still seeing a bit of noise which I'm not comfortable with. I'm figuring I'm either going to get some feedback and spend time to improve this, or just drop the project and move on to my more awesome one. :)

Feel free to leave feedback on either MouseTest2 or Writer2. I'd appreciate it.
 
Hmm... seem to work decently.

On MouseTest2, it seems to be able to filter out a lot of the unwanted points, but it does filter out a few good points as well. It seems to be able replicate what I'm drawing to some extent.

My biggest problem is that, sometimes stray points would be registered at the start and/or end of a stroke causing an unwanted lines to ruin the drawing.

Another problem is that sometimes when drawing curves, some points in the curve would be ignored causing the drawing to become "rougher"; this also happens on straight lines, but since those only need two points to make a line, it's somewhat negligible.

Drawing fast also would cause a lot of the points to be discarded.

The touchscreen also would "let go" from time to time even though I haven't removed the stylus from the screen; this doesn't really affect the Writer that much, but on MouseTest2, it would cause the drawing to be erased and start over. This problem seems to be inherent to the touchscreen itself. :(

My output from the Writer is kind of poor and borderline legibility. It's due to the problems mentioned above which ruins the drawing. It's also due to the drawings being scaled smaller (and thinner) and spaced farther apart each other. Legibility is crucial for this program, and it needs to be improved.

When I read the description of the Writer application, I thought it was like a handwriting recognition program that translates the drawing into actual letters. Now that I think about it, would a touchscreen virtual keyboard be more suitable? Legibility would no longer be an issue, although you can no longer freely draw and doodle stuff. :p
 
One of the flaws of the MouseTest2 program is the fps... all that checking of points and coloured text is causing the FPS to be slow (which is why I cranked the CPU speed up to 250). Writer has a very decent fps (around 70+ here) even at 200Mhz and solves much (but not all) of the "drawing fast" problems.

There are checks in Writer2 that watch for a missing point.. if you attempt to draw within 5 frames it connects the points, more than 5 but less than 30 it draws a separate graphic, more than 30 it starts a new word. MouseTest2 just looks for raw mouse presses and deletes if it sees the pen come up (though it was very useful for working on an algorithm)

The stray starting points are annoying. I've tried to solve this by throwing out the end points and using only points with surround data to verify against, but I've noticed a few strokes across the word that shouldn't be there. Likely a glitch in my code.

The scaling can be changed. The present scaling is 1/3rd, which I found was the best balance between size and readability (anything more and it might as well just be a scratch pad.

The algorithm is effectively: Look at three points. If the second is to the left of the leftmost point, or to the right of the rightmost point, reject it. But if point 1 and 3 are at the same x, being one pixel out is OK. This filters out sharp curves on the left or right (say on an infinity symbol), but most handwriting is made of up and down loops with sharp edges on the top, not the sides. More fps could help, a bit...

I'm mostly trying to figure out if a program like this is recoverable. All those dots are really what the GP2X sees (or at least what the Fenix touchscreen libraries see).. It just may be to messy for any proper drawing, either handwriting *or* doodles. But of course we never would have known unless we tried. Slow vertical lines seem to have really bad noise here.

Try changing Writer.gpe and add the text "--speed 266" (no quotes) after --nosplash.. I wonder if even more fps would smooth this thing out some more.

I appreciate the time you've taken to look at this. Thanks!

---update---

Manjuu said:
When I read the description of the Writer application, I thought it was like a handwriting recognition program that translates the drawing into actual letters. Now that I think about it, would a touchscreen virtual keyboard be more suitable? Legibility would no longer be an issue, although you can no longer freely draw and doodle stuff. :p
Palm style letter writing recognition (graffiti) might be possible. I'll give this some thought. Might be a better goal to aspire to than a fuzzy sketchpad.

A different quick question.... any objections to holding the GP2X sideways while writing on it? Might be easier to hold that way.
 
Last edited by a moderator:
Good day,

This is an application that I awaited since very a long time:) That works enough well on my F200. I am anxious to test the next versions...

Good luck :D
 
Manjuu is right here... A graffiti application would be much more forgiving of these strange glitches.

It just so happens that I'm almost finished writing one after some fiddling this morning

I will really need testers for this one, particularly left handers....

Give me about an hour to get the files up... Still doing some internal testing... (g and e are giving me problems)

orychalk I won't give up on the regular handwriting app if you're still keen. I think this might have more appeal though... :)
 
To me it looks very good, it is filtering enough that my drawing looks very acurate. I am programming the touchscreen too I know what a pain it is!
 
Hitnrun said:
To me it looks very good, it is filtering enough that my drawing looks very acurate. I am programming the touchscreen too I know what a pain it is!
I also had a "scratchpad" application idea for drawing that used the same algorithm, which would let you draw and save pngs, basic brushes, eraser, etc. Then I moved to the Writer. I've change my mind again with the Graffiti... I don't seem to be very consistent on this one... :)
 
Last edited by a moderator:
it looks good, very accurated

hope you can some day make one of those "hand writing letter to typed letter" application

i have such a bad hand writing :lol:

congrats for this one
 
I have had a quick "play" with it and I am blown away!!
After hacking my way thru the touchscreen code I am amazed (and rather jealous tbh) that the filter algorithm work so well!!

Good job, A+++

Yours,
Dan ^^


P.S. Can't wait for further developments
 
I came to give some feedback, but manjuu has saved me some typing. I guess that means that the behaviour is consistent across different units, which is what you wanted to know. :)

On the whole, very nice work so far. I've had a play with the graffiti test as well. Can't wait to see this functionality rolled into a full app!
 
Gruso said:
I came to give some feedback, but manjuu has saved me some typing. I guess that means that the behaviour is consistent across different units, which is what you wanted to know. :)

On the whole, very nice work so far. I've had a play with the graffiti test as well. Can't wait to see this functionality rolled into a full app!
I think I'm dropping the handwriting app and moving to the graffiti app, just updated today. The handwriting was somewhat cool, but I think the graffiti app is much more useful.. and certainly more legible. I may go back and do my "scratchpad" app (basically a doodlepad).

I just released a new version of the graffiti app, should be *much* better.

Thanks for testing!
 
Last edited by a moderator:
Quite an interesting concept, and I was playing around with it before I read you were abandoning the handwriting recognition. Still, let's face it, even with a ton of money and years of research, even the big guns still have trouble with it!

Has anyone written any kind of text editor that uses the touchscreen to drive a virtual qwerty keyboard? I ask because it seems a much simpler solution to text-entry, and I can't find anything that already fills this role
 
Slippy Lane said:
Quite an interesting concept, and I was playing around with it before I read you were abandoning the handwriting recognition. Still, let's face it, even with a ton of money and years of research, even the big guns still have trouble with it!

Has anyone written any kind of text editor that uses the touchscreen to drive a virtual qwerty keyboard? I ask because it seems a much simpler solution to text-entry, and I can't find anything that already fills this role
I'm still here, and I'm not abandoning the project. A whole bunch of other stuff fell in my lap. A few people on the I Need Help forum convinced me to continue. I might, if I'm lucky, be able to put out a release in mid-May. At least to say I'd "finished" it.. if there was further interest I'd continue.

I believe there are qwerty emulators out there. Don't know if they use touchscreen or not though. The touchscreen noise problem makes it a bit tricky to use small virtual keyboards accurately. I'd bet I'd be able to filter that out, but it may hold others back.
 
Last edited by a moderator:
Back
Top