BlueTap — The Ultimate Virtual-Reality(VR) Keyboard

This is one of my IBM patents on a VR keyboard published recently that does not require the users to carry a keyboard device and allows to input your information even when you are in motion. Forget Google Glass, even the experience of Apple’s much rumored Apple-VR can multi-fold with this mother-of-all VR keyboard system and approach.

Back in 2014, while preparing my slides for one of my earlier seminar talks on accessibility Rediscovering Accessibility for Future Tech (you can read the linked post here, I hit upon the challenges and available solutions that were present for data input systems. The concept of mobility in devices has transcended beyond the scope of marginalizing telephony and computing, and has taken a shape in the form of wearable devices. However with advent of new technological invention in any field also gives rise to new challenges. In the smart wears one of such challenges is input of information to the associated system.

One such challenges was that — modern technologies are enabling people to interact with systems in distracted environments, while in-motion and while multi-tasking giving raising to its own set of problems which were not known in PC era. With the rise of smart-wearable devices, mobile computing and frequent use of access of information from cloud while on the move, one of such challenges is input of information to the associated system, as the systems are getting less in size and tending towards smaller displays. The recent trends in mobility domain, indicates the growth in the smart wearable devices. We are witnessing a time when every technology company is trying their best to own their part of innovation in Smart wears such as smart glass, smart watch etc. and this field aligns with IBM’s one of the currently prioritized strategies — i.e. mobility.

In most of the existing smart eye-wear device (e.g. Google Glass) , the input mechanism is typically via voice. While this is great for provide commands to the device, it is not still great for input longer texts. Again voice based input mechanisms are difficult to use in noisy and distracted environments. Also language localisation and accent issues adds to the list of issues in using voice effectively. Moreover when it comes to the productive work like drafting emails, writing a piece of programming code, voice-input method is not as effective as a standard keyboard based input mechanism (mostly found in PC, laptops, mobiles and missing in smart eye wears).

Usage of a physical keyboard or a secondary tooth enabled keyboard is possible but it requires the user to carry a keyboard wherever he goes. But even if the keyboard is carried, there is no guarantee the user will have a flat surface to place the keyboard or if he can comfortably use the keyboard while on the move. Imagine a person who is waiting on a busy bus stop and wants to reply his office email.

A set of new hardware are available in the market (e.g. Fin, Ring) which act as supplementary wearable to trigger pre-defined commands and provide limited input of information via finger movement and hand gestures over air. However none of them are effective enough to provide a keyboard solution that can be used for easier input of textual information into wearable device like a smart –eye wear or smart glass.

Also when it comes to input longer texts on a smart glass/eye-wear, there is absolutely no reliable method/system exists as of today which can work for users on the move and in distracted environments.

So with these problem statements in mind, I made a lit of dimensions of goodness —

  1. Effective even in typing-in long text into smart eye-wear system — can help user more productive. The user can input long emails or simply use smart-eye-wear to write a program or code even on the beach.
  2. No cognitive load on user to remember pre-defined commands/key names /gestures etc. (unlike the wearable rings based command trigger systems as detailed in prior art section)
  3. Can be used effectively while on the move & distracted or multitasking state (standing in que, at bus station, while having dinner, while driving, walking, in home while watching TV)
  4. No need for any extra or supplementary hardware required along with smart-eye-wear. No need for the user to carry separate input devices.
  5. A method that uses age old natural human habitual way of processing information through fingers
  6. Explore the new way to have a device free of any physical input accessories

With these pointers on the goodness, I iterated over a conceptual design of a Virtual Reality enabled keyboard for effective data input system (named it BlueTap) with many innovative approaches in a pattern of gestures that can be used in a augmented virtual space and was filed as a patent by IBM. BlueTap is basically an Input keyboard system with a set of gestures and methods that uses both fingers-tips & finger-joints, as a keyboard for smart eye-wears and a set of gestures to control the human-system interaction in the real life 3D virtual space using this keyboard system.

BlueTap is about an approach that uses natural human gestures in hand that are derived from the age old human cognitive approach of counting through fingers. This also focuses on the idea that there should not be any need for the user to carry separate input devices for typing long texts into the device. This helps the device to act as the independent device and not a supplementary device to some PC, tablet, mobile handsets. The user can input long texts any where any time – on the road, walking, in home while watching TV. This is an approach that allows to explore the new way to have a device free of any physical input accessories.

The idea uses a overlapping of a graphic/icons over a real camera stream on the screen is a known technique. Also recognize finger on a hand , finger tips and finger joints is a technically feasible technology using OpenCV , Kinetic type technology. Mapping of the alphabets and making visible these as graphic to finger tips and joints over glass screen on both hands in real time.Analyzing the finger movements to infer the “tap”, “double tap” and “swipe” gestures. This is also about a mechanism to sequence a string of inferred gestures to provide a typical typing kind of input experience.

The BlueTap proposes method and an effective and scalable interaction paradigm that  solves the issue of input of texts into a smart eye-wear in an effective manner even when the user is on move and is in distracted or noisy environments and there by making him more productive by allowing him  to use his fingers tips and joints as the keys to input the long texts effectively — which the user can do anywhere any time and does not need to carry a supplementary device (a key board or a phone/tablet with a virtual keyboard on it.). The invention can be used in digital smart eye-wear devices (e.g. Google Glass, “Jet” by Recon, Evena’s Eyes-On Glasses) in mostly consumer, enterprise and healthcare domain. This can be refined to integrate with in any future smart eye-wear product to provide quick and comfortable input mechanism to the device.

The interaction paradigm in BlueTap allows in run-time dynamic switching between different views (a view that can represent but not limited to any language and nature of selected keyboard layout ) and operation modes double hand as well as single handed keyboard operation, in case the user is busy in doing something (e.g. holding coffee cup, having dinner, driving, writing etc. ) or is having any disabilities of not having one hand.

BlueTap is more than just being a keyboard system, as it allows user to interact with eye-wear system in a new way – like interacting with an application menu of the system to open any app, or making a call to any phone number by enabling a dial pad or doing some calculations via an calculator interface displayed by BlueTap.

A set of unique gestures are also part of this system that allows to control different mode/view of Blue Tap, namely –

  1. Fist Gesture – Toggle among keyboard views such as aplabet and numeric or symbol keyboard views.
  2. Palm Flip & Back Gesture – To toggle between “keyboard” and “app menu” views
  3. Thumb Down & Up Gesture – Toggle between “enable” or “disable” state of BlueTap
  4. Thumb slide across Palm gesture – To slide between single handed and double handed keyboard modes.
  5. Double Tap on finger Gesture – Toggle caps lock state of keys.

BlueTap implements a novel way to super impose characters/symbols over finger-tips and finger-joints on the eye-wear view port and renders them in real time (through virtual reality technologies) to make them look natural tattoo kind of look n feel. Also the whole method of using finger joints as keys where virtually the key characters are visually rendered to create virtual visible keys, the tapping and double-tapping (to change caps lock) is novel in itself.

As far as implementation is concerned, BlueTap supports different technologies for finger detection — e.g. including but not limited to infrared sensors / thermal imaging based detection, body magenetism, camera visual image processing, additional wearable based solutions and/or any other technologies that can be utilized to detect finger tips and joints in 3D space.

BlueTap supports both or even any of the single hand to enter information. The user can easily swap between these single or double modes. Along with if the person requires left hand to type in he can move from double to single hand.

Along with this this is beneficial for the physically challenged person by providing an accessible way for data entry.

Different operational modes of the BlueTap are :

  1. Double Hand State (Default)
  2. Single Hand State

The double hand mode of the keyboard before the gesture made by the user to toggle into a single handed operational mode.

BlueTap also supports views like an Application menu or Home-screen, where the user can trigger different application for the eyewear. In such mode, the application icons appear instead of the alphabets. The user can easily pick and select the app to run.

The keyboard layout is flexible as well as dynamic to switch between various views, one such example is the user can open a numeric view or even a dialing interface.

Specific new sets of palm and hand related gestures are part of the BlueTap keyboard, that allows to quickly move between different views as well as typing mode.

BlueTap is comprised of the following key components which are involved in the generation of the virtual keyboard over human palm:

1.  Activation/Deactivation of BlueTap :

There can be a physical switch/button or via voice control or via launch of an app can trigger the activation or deactivation of BlueTap. This is simply switching ON/OFF of the BlueTap system.

2. Enable/Disable of BlueTap:

If the system is active, the user can disable the hand and finger monitoring by the BlueTap system. This is similar to enable/disable of virtual keyboard in typical mobile devices.

Different Modes of BlueTap:

1.      Keyboard Mode – This is the default mode of BlueTap System. This allows to render a keyboard over user’s palm.

2.      App Menu Mode – This mode renders the different app icons of the eye-wear device on the palm of the user so that the user can tap to trigger any app.

Note: Optional modes that might be introduced – for example :

3.      Call Dialer Mode – a call dialer pad layout will be rendered on the palm to allow the user to dial any number to make a call or similar activity.

4.      Calculator Mode – a calculator interface will be rendered so that using it calculation activities can be easily carried out by the user.

Different Keyboard views available are:

  1. Alphabets View
  2. Numeric/Special characters view
  3. Typing Email keyboard view
  4. Coding in HTML keyboard view
  5. Caht keyboard view with smileys
  6. Different keyboard views for different languages.

The BlueTap keyboard patent details:

Publication number: US 20170090747, Filed: Sep 24, 2015, Publication Date: Mar 30, 2017, Inventor: Samir K. Dash (Bangalore) , Application Number: 14/863,832, Assignee – International Business Machines Corporation (IBM)

Samir Dash is working as Associate Design Director at IBM based in Bengaluru, India. The above article is personal and does not necessarily represent IBM’s positions, strategies or opinions.


What the failure of Google Glass teaches about UX?


In mid of January I saw the headlines making official announcement of the detah of Google Glass. I was not surprised. I knew lot of issues ave to be addressed before Gass could make it to the expectations. Many of them are issues related to UX. All of them related to an grey area of UX space, which was never given the prime consideration when designing a seminal product like Glass and many other legends.
Back in 2013, I had wrote a few posts on the usability in context to the social aspect of Google Glass that was being ignored. When I read now the article saying “privacy concerns” is one of many reasons of failure, it certainly louds the many of the design approach concerns I had raised.

Google Glass is not evil product, everyone agrees. Even all agree that it has immense potential. However, it certainly needs a facelift from product design point of view — and there by from UX point of view.

We saw, the raise and fall of Google Glass carrying it’s pattern where we can notice how with the emergence of Google Glass, the topics related to devices infringing with personal privacy became hot cakes for tech-debates. Many social scientists, human rights activists had started to see the ‘Glass’ as the evil that reminds them with George Orwell’s ‘1984’. The fear of a ‘Google Big Brother’ controlling the major shares of the information world is seen as the intruder to private aspects of ‘the public’. The “Glass Hole” incarnation of the Glass is equally seminal as the product “Glass” it self, due to bring out the topics like “user privacy”, “social context” and certainly what I believe as the “Context of the Other”.

It is not the case that Google has not spent money on user research and usability aspects before going ahead with the concept of persons using glass that may change the way we interact with systems in our daily life. Usability wise, it is definitely a super gadget that has the potential to catapult the device industry into next century. But the new features and interaction methods implemented in the device in a manner that is actually a decade old approach that is only fit for human-computer-interaction (HCI) in case of smart phones and tablets which have less tendency to hurt sentiments of those who do not directly interact with the device when the user might be performing some actions in a certain socio-cultural context. These sentiments could result in the fear of losing privacy , cultural distrust and humiliation among the second-hand users of the device who are impacted indirectly in some way by the device actions in the context.

Historically, the product design process while following the check and balances with heuristics and usability models, has never given prime importance to the user’s relationship to the ‘Other’ in his environment. And this is the missing piece that needs to be re-discovered and fit into standard usability matrix when Google might give “Glass” a face-lift to bring it back with a new incarnation that is more friendly and less intruder to user’s privacy and is compatible with SX model (Socio-cultural Usability Model) which I had proposed earlier.

Socio-Cultural User Experience (SX) – the missing piece in UX

‘Socio-Cultural User Experience to represent the aspect of Usability Design or User Experience (UX) that deals with usability aspect of products/ software in a social context. This is the same “Context of Other”

Considering the ‘Others’ in the User’s Social circle:

The existing UX model does not analyze the need beyond the current user and his ‘type’ to do a usability test — it never considers how it is impacting the other members of the society while the target user set is using the app/system.
For example, using car horn is a safety measure, but using it near a hospital or school is considered as unsocial and disturbing. There are many social check points that bar users of any system from using it in special socio logical context.

Criteria of a Good ‘SX’ Compatible System

Criteria of a sound usability design of an app on socio-cultural context:

1. Universal—has design elements that are universal.
2. Ethical – follows principles and approach that has positive ethical value
3. Non-racial – non biased and non-provocative attitude to user’s race and beliefs.
Socio-cultural User Experience (SX) and Social Interaction Design (SxD)
4. Respectful – towards user’s culture, social beliefs and ethnicity
5. Safety – has it’s social impact that is safe for the User.
6. Non-abusive – must not exploit the user and the environment he is in .
7. Common Sense – has geared towards common sense – behaves and reacts to the user in a sensible way
8. Protect Privacy – App’s feature and interaction must protect user’s privacy and other humans in the social circle.

Let’s take the case of Google Glass.

Google Glass is designed in a way that can act as more personal than a mobile handset, as it is a spectacle and can be indispensable accessory for the user once he gets addicted to it by replacing his conventional glass with it.
But the support for camera to take picture can pose a problem for the user to enter private areas, industrial areas, secure zones and offices where cameras are not allowed. In some places of earth, the cultural restrictions are in practice to ban cameras in certain places — most of the temples in India do not allow cameras inside. Now imagine, if the user has replaced his traditional spectacle for it , then he may find it difficult to manage without it in these scenarios.
So by following SX approach in usability design, the glass will require to have a “detachable set of camera” used in the glass so that the user can detach the camera and which would power it off and at the same time allow the user to keep on using the glass as a conventional spectacle.
This example may be just one of many features that Google glass might have, but it is enough to illustrate the approach in thought.

Points to Focus on while designing a SxD Compatible System

1. Provide multiple alternatives to the interaction methods to control the same functionalities in different socio-cultural context.
2. User should have total control over enable/disable of interaction methods for different scenarios.
3. The default interaction method must follow ‘SX’ approach.
4. Provide options to the user to switch between interaction methods with the system as and when needed.
5. Alternative mechanisms should be provided for physically challenged users. Rethink on the use of gestures and other interaction methods in the Article 508 context as everyday the new devices with unpredictable (not necessarily negative!) interaction methods and features.

Gesture and other Interaction Medium of SxD:

The ‘Social Interaction Design’ approach has the following major facets in the system interaction towards the user in socio-usability context:
1. Facial Gestures—The selection of Human triggered facial gestures (e.g. wink, smile etc.) to activate the system or trigger any action in the system must be judged based on the canonical meaning of those gestures in social and cultural context of the user where he is going to use it. For example, in case of Google Glass , the feature of “winking” (the gesture developed by Google Glass developer Mike DiGiovanni ) at someone to take a photo can pose a problem if the user is in India or Middle East countries. Even in western world winking at a lady or group of ladies (even though it is unintentional for any kind of abasement) can be taken as a negative action (e.g. weakness in character) and evoke anger and misunderstanding. So even if the winking to take a feature is a ‘cool feature’, in social context SxD will suggest the usability/interaction engineer to rethink on it to implement some options to ‘keep it disabled by default and allow the user the total freedom to use his judgment to enable and use the feature in any given socio-cultural context. Fig5: The ‘wink’ gesture developed by Google Glass developer Mike DiGiovann allows user to take a snap of the surrounding with just a wink of an eye.

2. Sound Gestures — The selection of sound gestures – the use of voice or sound pattern to control the system should be examined for different user environments. For example blowing a whistle to activate a play functionality on a portable music player, or to open an SMS on the cell phone can be an interesting feature, but on the other hand if it becomes useless in a busy street or in a meeting room where a discussion is going on.
3. Touch based Gestures – Touch, swipe and pinch are popular now a days as most of the tablets and smartphones offer this as a user friendly interaction method for the user. More devices are coming up which do not have any physical button rather a few multi-touch gestures are enough to fully control them. However ‘SxD’ stresses that the devices must be designed and developed with the interaction method that can allow alternative to the available touch triggered interaction mechanism. For example , while developing a digital medical instrument with touch sensitive display, the interaction methods should be carefully planned so that the surgeon can use the system without touching to avoid infections through contact with it while conducting any mission critical surgery.
4. Hand/Finger based 3D gestures – ‘SxD’ approach encourages to conduct a social analysis of the hand/finger based gestures that are planned to be used in a system – the gestures should selected / innovated by carefully studying the cultural context avoiding common gestures used in daily life that are considered abusive to others. In addition to this practical usage resulting out of user’s environment and work culture must be given consideration. For example the middle finger gesture commonly used by youths to represent the crack humiliating pun on the other should not be used for any app that is expected to be popular among the users from the similar demography. But note that only considering the demography is not enough to decide the gestures.
5. Mouse /Keyboard Control – Similar to the gesture , voice and the related interaction method with system, mouse, keyboard, joystick and other typical input device based methods should be considered with in the context in which they are going to be used. As this group of interaction method are very old, many standard guidelines are already in there in practice. They However we need to rethink on them and make sure they are upto date with the ever changing human –computer-interaction domain.

Our world needs products that are not only usable but also safe to use socially . It is high time, we need to consider the “Other” in our social context to improve the products and there by our future.