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

Camshift Tracker v0.1 up

https://code.google.com/p/os6sense/downloads/list I thought I'd upload my tracker, watch the video from yesterday for an example of the sort of performance to expect under optimal conditions ! Optimal conditions means stable lighting, and removing elements of a similar colour to that which you wish to track. Performance is probably a little worse, (and at best similar to) the touchless SDK. Under suboptimal conditions...well its useless but then so are most trackers which is a real source of complaint about most of the computer vision research out there.....not that they perform poorly but rather that there is far too little honesty in just how poorly various algorithms perform under non-laboratory conditions. I've a few revisions to make to improve performance and stability and I'm not proud of the code. It's been...8 years since I last did anything with C++ and to be frank I'd describe this more as a hack. Once this masters is out of the way I plan to look a

More Observations

After this post I AM going to make videos ;) I spent some time doing some basic tests last night under non optimal (but good) conditions: 1) Double click/single click/long tap/short tap These all can be supported using in air interactions and pinch gestures. I'd estimate I had +90% accuracy in detection rate for everything apart from single click. Single click is harder to do since it can only be flagged after the delay for detecting a double click has expired and this leads to some lag in the responsiveness of the application. 2) The predator/planetary cursor design. In order to increase the stability of my primary marker when only looking at a single point e.g. when air drawing, I decided to modify my cursor design. I feel that both fiducial points should be visible to the user but it didn't quite "feel" right to me using either the upper or lower fiducial when concentrating on a single point hence I've introduced a mid-point cursor that is always 1/2 wa