Skip to main content

Spatial prediction: Alpha Numeric musings to a more efficient mobile keyboard UX.

As an owner of a smart phone device, we have had to make compromises in terms of convenience of interacting with the device when it comes to keyboard entry. In comparison to a desktop keyboard or even a laptop keyboard the mobile devices of today and their touch screens with tiny virtual keys require new ways of using the limited real estate of the touch surface of these devices which will remain small in order to fullfill their roll as ideal devices for mobile utilization.

One of the biggest compromises on mobile keyboards is the need to double or even triple up on key functions by using a toggle key. On physical keyboards this is done using "Shift" , "Control" or "Alt" pressed in combination but on mobile keyboards a single alternating option usually presents and that one separates the alphabetic characters on the keyboard from in general the numeric and symbolic characters.

Another option is often to allow "long press" of a key to invoke the character that would be in that position if the toggle key is pressed as described above. For example the 4 and "$" are usually linked in this way on physical keyboards. The idea of "long pressing" has no analog on physical keyboards since they register signal occurrence and not signal duration and so the heuristic doesn't work in that context but it does work on a capacitive touch screen. Unfortunately the "long" in "long press" is often too long for many users and in most cases can't be adjusted to taste by the user.

These are necessary compromises given the limited screen estate devoted to a keyboard that also must require visual inspection of what ever field is being updated with the inputted text sharing the same small screen.

Several innovations have emerged to making the act of typing on such a small device easier, the biggest of the last 7 years is the innovation of predictive swipe technologies. These leverage a predictive system to take guesses at words based on how the letters that make up words create semi unique shapes on the capacitive touch displays of current devices. These methods have succeeded in dramatically increasing the rate of word input for average users and enabled input to happen fairly quickly using a single hand to do the swiping.

These swipe innovations improve the rate of text input but other issues still remain. The separation of alpabetic from numerical and symbolic characters leads to the need to toggle between each mode when entering blocks of text that are predominant in either alphabetic or numerical/symbolic characters, for example when inputting a phone number or account number. Swipe does not predict shifts from alpabetic to numerical or symbolic characters very well at all.

The default heuristic for keyboards is one that is of the following pattern:

1) User enters field to invoke text input.

2) UI switches to default of alphabetic input.

3) User inputs alphabetic text.

4) User wishes to input numeric/symbolic text and so either toggles to that mode by changing the layout using the equivalent of the "ctrl" key OR long presses a key.

5) If user is using the keyboard toggle they can enter only one numerical/symbolic per "enter" submission as the "space"/"enter" key returns the keyboard type to alphabetic mode after each press. So typing "555 364 3345" requires two hits of "space" which then require each a hit of the toggle to re-enter the numeric/symbolic mode.

We can imagine a way to make a prediction about the type of text that the user is inputting...in fact we should be able to create a learning system that predicts if the user will be continuing to input alphabetic text or numerical text and modulate the function of the "space" key so that when it is pressed it does NOT revert the keyboard type to alphabetic.

We do this by thinking about the probabilities.

It should be clear that for any text input event (TIE) the type of characters can be of various combinations. As the user employs the keyboard to input text into fields in various applications...a smart system can watch and count references to the types of characters input and classify them in the following way:

1) Record for every TIE the total number of characters input. This could be important in allowing us to determine if there is a correlation between text input size and type of character. For example it would seem that entering phone numbers into phone fields will always report short total number values before the field is exited.

2) Record the total number of character transitions from alphabetic to numerical text. This tells us within a TIE how often the characters go into the numerical mode.

3) Record the total number of character transitions from numerical to alphabetic text. This tells us within a TIE how often the characters come OUT of the numerical mode. (This can be different from 2 in size since it's possible to have a TIE that consists of a number of alphabetics and then ends with a number of numerical characters say the text field. "hey call me tonight my number is 342983 3321."

4) Record the total number of character type sequential events, both every time a number follows another number or symbol and every time an alpha follows another alpha. This is super important as it allows us to determine the probability of transitions given the length of a sequence as will be shown.

Comments

Popular posts from this blog

the attributes of web 3.0...

As the US economy continues to suffer the doldrums of stagnant investment in many industries, belt tightening budgets in many of the largest cities and continuous rounds of lay offs at some of the oldest of corporations, it is little comfort to those suffering through economic problems that what is happening now, has happened before. True, the severity of the downturn might have been different but the common factors of people and businesses being forced to do more with less is the theme of the times. Like environmental shocks to an ecosystem, stresses to the economic system lead to people hunkering down to last the storm, but it is instructive to realize that during the storm, all that idle time in the shelter affords people the ability to solve previous or existing problems. Likewise, economic downturns enable enterprising individuals and corporations the ability to make bold decisions with regard to marketing , sales or product focus that can lead to incredible gains as the economic ...

How many cofactors for inducing expression of every cell type?

Another revolution in iPSC technology announced: "Also known as iPS cells, these cells can become virtually any cell type in the human body -- just like embryonic stem cells. Then last year, Gladstone Senior Investigator Sheng Ding, PhD, announced that he had used a combination of small molecules and genetic factors to transform skin cells directly into neural stem cells. Today, Dr. Huang takes a new tack by using one genetic factor -- Sox2 -- to directly reprogram one cell type into another without reverting to the pluripotent state." -- So the method invented by Yamanaka is now refined to rely only 1 cofactor and b) directly generate the target cell type from the source cell type (skin to neuron) without the stem like intermediate stage.  It also mentions that oncogenic triggering was eliminated in their testing. Now comparative methods can be used to discover other types...the question is..is Sox2 critical for all types? It may be that skin to neuron relies on Sox2 ...

AgilEntity Architecture: Action Oriented Workflow

Permissions, fine grained versus management headache The usual method for determining which users can perform a given function on a given object in a managed system, employs providing those Users with specific access rights via the use of permissions. Often these permissions are also able to be granted to collections called Groups, to which Users are added. The combination of Permissions and Groups provides the ability to provide as atomic a dissemination of rights across the User space as possible. However, this granularity comes at the price of reduced efficiency for managing the created permissions and more importantly the Groups that collect Users designated to perform sets of actions. Essentially the Groups serve as access control lists in many systems, which for the variable and often changing environment of business applications means a need to constantly update the ACL’s (groups) in order to add or remove individuals based on their ability to perform cert...