Improved methods of Text and Command entry

Supervisor: Dr.Gilles Bailly

Period of Internship: May 2013- July 2013

Project details:

motivation : It is seen that often we can adjust the amount of force or pressure that is needed to perform a job, unconsciously. For example, when we close a door with just a push, more often than not, we can apply just the right amount of push that closes the door, or almost closes it. The idea was to utlize this capablity, to make a keyboard, where the keys can perform different funtions related to the amount of force applied on them.

Red leaf IDea : The old keypads of mobiles used to have multifunctional keys. For example the first key on the keypad, could be used to enter a 'a', 'b', 'c' and 1, depending on how many times you press it in quick succesion. Thus your input depends on the number of times you press the same button. We wanted to explore the option of having a button, where the input depends on how hard you press it, or how deep you press it. Ofcourse due to size constraints this was suitable for a computer keyboard rather than a mobile keypad. So we decided to make a button, which has multi-levels, and each level is associated with one function. For example, lets say a button has 2 levels. When pressed till level 1, the button registers a small 'a and when pressed till level two, it registers a capital 'A'. A critical part of the idea was to enable the button to give back force feedback onto the finger, making it easier for the brain to understand till what level the key has been pressed. If you press till level 1, you feel a certain amount of resitive force from the button. While pressing once you reach level two, you will feel a distinct rise in the normal reaction. This tells the brain when level two has been reached.

Red leaf Red leaf My Role : This was an independent project and I had the role of coming up with the first prototypes. I propposed the design of a prototype button, and also suggested the parts required to make it. Since the aim was to provide different levels of resistive force on the finger, I came up with the concept of having concentric springs of different heights, for the first basic prototype. After having decided on the spring heights, I ordered the parts. While we waited for the parts to arrive, I implemented another design, where I replaced the coils with rubber membranes cut from balloons. The structure of both the first prototype and the second prototype was built using a 3D printer, which was extremely exciting for me to use for the first time. After building the two prototypes, with very less time left for my short internship, I proceeded to conduct a few user tests, which yielded quite satisfactory results considering the simplicity of the prototypes. For the user-studies, I developed a graphical interface, using processing. The video above shows the applications and the user studies in detail.

Working of the prototypes : The first prototype, had two rubber membranes one vertically above the other. So when you press initially, only one membrane bends down, exerting an upward force, which can be approximated to be like that of a coil-spring. Upon pressing more, you touch the second membrane through the first one. So now the force of two membranes acts on your finger. This represents level 2. ON further pressing, you touch the bottom, and cannot press further, that represents level 3. I used a flexi-sensor to sense amount of bending, and used an arduino to sense the values.

Red leaf Red leaf Red leaf The second prototype was based on the same principle, except that the rubber membranes where replaced by coil springs. As you can see in the pictures, one small spring is placed inside a bigger spring concentrically. Slghtly touching and pressing the switch represents level 1. Pressing just to touch the second smaller spring, represents level 2. Further pressing represents level 3.

user study : I setup a few user studies, to examine text entry using the two prototypes. for example, I assigned the letters 'a' 'b' and 'c' to the three levels of one button and '1', '2'. and '3' to the three levels of the other button, and asked the user to enter sequences like "a1b1" or "a2b3", or "c1b2". The user was prompted on the screen visually and the time taken to enter the sequence was noted. The comparison of the prompted sequence and the sequence entered also showed the efficiency.

problems faced : Although time is always a big constraint while starting on a new project, we did our best to procure the materials on time. The prototpes built were not as robust as expected, and sensor values would often go unregistered due to lose connections etc. Given the prototype, the buttons woked perfectly well if we considered only two levels for the buttons. But while considering three levels, it would often become considerably difficult to sense the second level. The 3D printed material was often too light weight, causing the structure to move or slide back, while trying to type fast using the prototype buttons. The technique required a little bt of training for the brain to respond quickly to the amount of force feedback. Thus significant improvements could also be noticed between first time users and expert users.

possible applications of a button with two levels : A button with two levels can be used in a keyboard for both text entry and command entry. For example the same key an be used to enter small letters and capital letters, or numbers and symbols, thus reducing the need for the shift key. Hot key functionality can be increased tremendously as the same key can be used to do both "save" and "save as","delete" and "permanently remove" and so on. Thus number of combinational key commands will be reduced tremendously. This can potentially help expert users a lot, who have become used to the functionality offered by the buttons.