Skip to main content

Getting the design right vs getting the right design

So today I've been looking at ways to make the text input interaction more fluid and investigating if I can able some level of error correction (i.e. a spell checker).

1) 2 hours of use off and on and my arm aches, my back aches, my wrist aches. Even with the minimal arm movement that is required, my forearm still needs supporting and to spell a 5 letter words I am still moving the focal point about....6 inches across which is enough to induce fatigue over time. If I had more time I would do an about turn and look at just using a single finger (although that reintroduces the segmentation issue which the pinch technique solves)....

2) Writing without visual feedback is more taxing than I had thought. I originally did an experiment which involved people walking and writing at the same time as a "proof of concept" exploration. I suspect I had the task wrong though - I should have had them do it blindfolded! Luckily I've still time to repeat that experiment.

3) The limitations of the hacked together prototype are becoming rapidly apparent. Converting points to words introduces a significant lag into the "glue" application (os6sense.py) and the poor performance of the fiducial tracker both in terms of the "jitter" and frequent loss of acquisition is making this painful.

4) On the positive side, I am both impressed and disappointed by just how well the air-writing can work. Its best with visual feedback but on single letters performance is excellent. For cursive handwriting performance is....variable. With visual feedback I'd estimate 80% of words are in the alternate spelling list. Without feedback that drops to maybe 50%. I've a small word list, I need to benchmark obviously.

5) Mobility. The need for compensation due to movement is very apparent, Discreet gestures are just not registered, recognition rate suffers immensely, reliability is terrible - very very unimpressive performance.

6) I had intended to explore the pico-projector more over the next 2 weeks. Sadly the MHL link between my Samsung SII and the projector is unstable meaning if I do anything I need to hook up the laptop...except I have heat related issues with the laptop causing it to crash if I put it in my bag for more than 5 minutes :/ Added to this, battery life on the projector is about 20 minutes on a good day.

All in all, I know this is a prototype but its far less impressive than I had hoped for unless I manipulate conditions extensively. Still that's about par for the course for a V0.1. A good learning experience so far, probably not shaping up to be the greatest Masters thesis ever...but then I knew prototyping was risky.

In other words I have to wonder if this is the right design for this type of interaction. Its hard to tell how many of the issues I'm experiencing are to do with the technology verses issues with the approach I've taken overall. Thats a different kettle of fish though!

Comments

Popular posts from this blog

I know I should move on and start a new blog but I'm keeping this my temporary home. New project, massive overkill in website creation. I've a simple project to put up a four page website which was already somewhat over specified in being hosted on AWS and S3. This isn't quite ridiculous enough though so I am using puppet to manage an EC2 instance (it will eventually need some server side work) and making it available in multiple regions. That would almost have been enough but I'm currently working on being able to provision an instance either in AWS or Rackspace because...well...Amazon might totally go down one day! Yes, its over-the-top but I needed something simple to help me climb up the devops and cloud learning curve. So off the bat - puppet installation. I've an older 10.04 Ubuntu virtual server which has been somewhat under-taxed so I've set that up as a puppet master. First lesson - always use the latest version from a tarball unless you have kept t...

New Detector Done

Much better but I'm still not happy with it - camshift + backproj + kalman means that the marker coordinates are a lot smoother with far less noise (obviously) but the nature of detecting markers in segmented video still leads to a less than robust implementation. There's room for improvement and I still need to add in some form of input dialog for naming markers (and I must confess I am CLUELESS on the c++ side for that.....wxwidgets? Qt?) but I'm that little bit happier. As per usual I had hoped for a video, but the lack of a dialog makes configuring things into a manual process (I've got basic save/load support working but given how sensitive this is to lighting still its a lot of messing around) hence I'm delaying yet again. Given my page views though I don't think I will be disappointing many people. What is frustrating is the amount of time I've had to spend on basic work with computer vision rather than looking at the actual interactions for this ...

Finally...

Children back at school and I'm back off my hols (a rather interesting time in Estonia if you're interested). I've spent most of the last week becoming increasingly frustrated with my attempts at image segmentation. I've moved to a c++ implementation for speed and, while the VERY simplistic HSV segmentation technique I am using works, the problem is that I cannot get it to work robustly and doubt that it will ever do such. I've now covered the range of available techniques and even tried to plumb the depths of just emerging ones and it seems that every computer vision based object tracking implementation or algorithm suffers for the same issue with robustness (openTLD, camshift, touchless, hsv segmentation and cvBlob etc etc). YES, it can be made to work, but issues include (depending on the algorithm) : - Object drift : over time the target marker will cease to be recognised and other objects will become the target focus. - Multiple objects : During segments...