Major new BlackBerry Patent app: Auto-capitalization, Auto-punctuation, many more usability features

Major new BlackBerry Patent app: Auto-capitalization, Auto-punctuation, many more usability features

Summary: As BlackBerry patent applications go, this is a big one. And you are getting it here, first.

TOPICS: Collaboration

As BlackBerry patent applications go, this is a big one. And you are getting it here, first.

So big that only a few hints about what's enabled here are contained in the Patent Abstract for an application published just this morning and entitled, "HAND-HELD ELECTRONIC DEVICE." And the all-caps were put there by BlackBerry-maker Research In Motion.

You are looking at the Abstract at the top of this post. For those who want Abstract text straight up, cut-and-pastable and all that, the Abstract describes:

A hand-held electronic device with a keyboard, thumbwheel, display and associated software is optimized for use of the device with the thumbs. The associated software has a plurality of features to optimize efficient use of the limited keyboard space and encourage the use of the device by thumb-based data entry through the thumbwheel and/or through a combination of minimal number of keystrokes.

Software features include international character scrolling, and auto-capitalization. The keys on the device keyboard are optimally shaped and configured for thumb-based input. In addition, the thumbwheel is inclined between the front and a side edge of the device so as to be reachable by either the thumb or index finger of the user's hand at the side edge of the device.

Oh, but that's just the start. In the absence of Patent application art that vividly illusrates the BlackBerry functionalities indicated therein, come along for some rather detailed Patent application text about what I think you might be most interested in.

You've made the jump. Now get ready for some deets on what it does. (In an effort to be clear, I am removing numbered references to images I haven't imported from the Patent application, breaking up overly long paragraphs, and then bold-facing the terms I think are most important).


Turning to another software-related feature that aids in the device being optimally used for thumb typing is a capitalization feature implemented via software. If a user depresses a key, the operating system detects a key down event. If the key is released after a period of time, the operating system detects a key up event. If after a key down event, a certain period of time elapses before a key up event is detected, the operating system determines that a key repeat event has occurred representing a situation where a user has continued to depress a key without releasing it.

A key repeat event is then treated by application software residing in either flash as an event that requests the capitalization of the key previously depressed. This feature disables the key repeat feature and substitutes instead a capitalization feature based on the length of a key press. The timing of the key scanning to determine whether a key has been released can be set to permit a slower keyboard response or a faster keyboard response, depending upon user experience of preferences.

Although the capitalization function preferably works only to change the state of a letter to a capital, it alternatively could operate to change a capital letter to a lower case letter. The actual display image is changed by the operating system mapping appropriate bitmapped characters as instructed by the user inter-race engine. As alternatively implemented, the continued depressing without release of a letter key could result in a key oscillating between upper case and lower case, depending on the length of time the key is depressed.

Automatic Formatting Features

Now follows a description of another software-related aspect of the present invention that is implemented to specifically minimize the number of keystrokes required as input by the user in using the device. In some cases, two software engines handle this software-related aspect, namely the user interface engine and an autotext engine.

The user interface engine by using the above mentioned functional modules facilitates presenting common interface elements such as menus, lists and textboxes. The autotext engine is another software application that extends the user interface engine and makes use of a database to perform text insertions and other related activities.

The autotext engine is preferably implemented as a user interface engine element (such as a choice box or list or standard edit element). This arrangement of being a user interface engine element allows specialized applications to incorporate a buffer that performs autotext substitution as they would a standard input field.

However, because of the substantive amount of code associated with the autotext engine and the engine's need to be configured with a list of replacement strings, the engine is preferably implemented as a separate module. One specific advantage that flows from the specific embodiments of the engines as described herein is that there is a substantial reduction of input formatting b)/the user, since automatic formatting can be triggered by a small number of keystrokes, or by predefined key sequences entered one key at a time.


Another embodiment of the user interface engine is the "autopunctuation" feature of the device. If the user enters one of a number of predefined character sequences, the user interface engine will automatically insert a period (full stop) in the user input field. in this manner the user does not nee! to use the alt key to enter a period. An example of one such character sequence would be <character><space><space>, after such character sequence the user interface engine will instruct the operating system to replace the first <space> with a full stop and to capitalize the next character entered by tie user.

For clarity, in this description: <space> represents a blank space user input; <character> represents any character user input; and, <period> represents user input of the character ".". Because of bandwidth considerations when the device transmits data to the wireless network, it is preferable that only one space, instead of two, is present between the period and the first character of the next sentence. Alternatively implemented, instead of replacing the first <space> in the aforesaid character sequence, a period is inserted after the <character> and the next character entered by the user is capitalized thereby producing two spaces between the period and the next character.

In another embodiment of this autopunctuation feature, if the user enters one of a number of predefined character sequences that is used as a capitalization signal, such as <period><space>, the user interface engine will-process the event and capitalize the next character entered by the user. [0064] Alternatively implemented, the predefined character sequence could be <period><space><space>. To further enhance this feature, autopunctuation can be undone easily, as described below.

Character Substitution

Another embodiment of the user interface engine is the "intelligent character substitution" feature of the device. In fields designed for certain types of input, the user interface engine will automatically substitute appropriate characters if inappropriate characters are entered. For example, in a field designed to hold an email address, a method of composing an email address is provided by the character substitution feature of the present invention for email address tacking on the general form. <characters>@<characters>.<characters>.

In the instance, it is assumed blank spaces are unacceptable characters for an email address field. The method begins with the user interface engine receiving from user input a character set representing a certain portion of the email address.

If a first delimiter trigger signal, preferably a first blank space, is received froze the user input, the engine confirms that no at-sign character ("@") has been entered in the already received character set. If no, the engine substitutes the first delimiter trigger signal with a first email delimiter, preferably the at-sign character. If yes, the engine substitutes the first delimiter with a second email delimiter, preferably a period character. For any subsequent blank space input received, the engine substitutes preferably another period character.

Another example of the character substitution feature occurs when entering data in a field designed to hold numeric data. If the user presses an alphabetic key whose corresponding alt character is a numeral, the user interface engine will recognize this and instruct the operating system to automatically insert the numeral into the field, even if the user had not pressed the alt key.

Phrase substitution

The first embodiment of the autotext engine provides an application service for error correction and phrase substitution. By entering pairs of strings into an autotext database, the user can associate "original strings" with "replacement strings". The autotext engine also defines an autotext input meld that applications may use to access the functionality of the autotext engine.

The autotext input field may be of variable length typically up to the length of an email message. As the user is entering data into an autotext input field, each time a space is entered, the autotext engine will search backwards from the current cursor position to extract the last word from the autotext input field.

The autotext engine will then efficiently search through the autotext database for an original string that exactly matches the last word. If such a string is found, the last word in the autotext input field will automatically be replaced with the corresponding replacement string from the database.

This phrase substitution feature could be used to correct common typing errors (for example, "the" could be automatically converted to "the") or to facilitate the entry of common phrases (for example, "fyi" could be automatically converted to "for your information").

This feature could also automatically insert a regularly used international character or symbol in a message thereby reducing the instances when the international character-scrolling feature needs to be used. In this latter scenario, the original string could be "jr" and the associated replacement string could be "Jurgen". The international character would be entered as described before for the international character scrolling feature.

The phrase substitution feature could advantageously be used or electronic signatures to be appended to the end of an email message composed by the user on the device. Advantageously, a variety of different electronic signatures can be stored in the autotext database. In this manner, the user may chose the appropriate signature from his set of signatures for the particular context of the email message about to be transmitted.

For instance, in one case the user in an informal message may sign off "Take Care & Cheers" with the original string "tc" while in a legally sensitive message the same user may sign off "Solicitor-Client Privileged Communication" with the original string "scp".

In this manner, there is no need for any electronic signature field insertion at the gateway of the wireless network and the user may amend and modify his electronic signatures without network interaction.

In the preferred embodiment, the replacement string is case sensitive in that any preset capitalization in the replacement string appears when displayed and cannot be forced into a lower case by the case status of the original string. However, if the first character of the original string is tipper case, then preferably the first character of the replacement is forced into an upper case as well.

In another embodiment, the autotext engine preferably includes a macro functionality that allows a user to specify special character codes in the replacement string that will be treated specially when the replacement string is entered into the autotext engine. These codes are preferably divided into two distinct sets: control character codes and dynamic data codes.

In the control character code situation, some character sequences in the replacement string will be converted to control characters when the original string is replaced by the substitution feature. Examples of these sequences would be "% b" and "% B" which convert to a backspace character and a delete character respectively. Therefore, for an open bracket "("to be displayed, the original string could be defined as "br" and the replacement string as "(% 3". Likewise, for a close bracket ")", the original string could be "rb" and the replacement string"% b)".

In the dynamic data code situation, certain character sequences in the replacement string will be converted to dynamic data when the original string is replaced. Examples of these sequences would be "% t" and "% d" wherein the codes are converted into the current time and current date respectively.

Like the intelligent character substitution feature, autotext replacement can be undone easily, as described below.

Undo Feature 

As mentioned above, all automatic formatting features of the user interface and autotext engines such as autocapitalization, autopunctuation and phrase substitution may be overridden by what is referred to the "easy undo" feature herein.

The automatic formatting features have undo capabilities that are triggered by backspacing over a significant character. As such, if the user backspaces over one of these significant characters, the formatted data is replaced with the raw data as it existed prior to automatic formatting.

For instance, the user may type "fyi" into an autotext input field such one implemented in 0 the message compose screen. If then the user types <space> and "fyi" is in the autotext database, the autotext engine will replace "fyi" with "for your information" in the input field as earlier described in phrase substitution.

If the user does not desire this substitution, the user can preferably backspace over the last character of the displayed string "for your information". Consequently, the autotext engine will restore the contents of the input field to "fyi" as they were prior to the phrase substitution formatting operation. In this instance, the significant character was the last character "n" in the phrase "for your information".

If the user types a sequence of characters that results in an automatic formatting operation, and backspaces to activate the easy undo feature, the appropriate engine will retain the fact that an undo operation took place at that significant character position. Consequently, if the user retypes the same sequence of characters, then the automatic formatting will not be applied for a second time.

This allows the user to suppress an automatic formatting feature when desired.

For example the user may suppress the autopunctuation feature from inserting a fill stop automatically. As described above, if the user types <space><space> in an input field, a full stop will be inserted by the user interface engine for the first <space>. If the user does not desire a full stop in that location, the user would then backspace over the full stop character and retype <space><space>. The user interface engine will not replace the full stop as it did the first time.  

That's alot, but there's more. Here, once again, is the link to the full text of this patent application

Topic: Collaboration

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • Insignificant Incremental Invention

    Research in Motion has once again produced an invention of minimal significance. It is really obvious to use timing to alter keyboard behavior.

    It is RIM's inability to produce significant inventions and their unwillingness to fairly compensate those who do produce such inventions, namely an unbridled ego and a school yard bully mentality which keeps getting the company in trouble. I wonder haw many other inventors will have to administer attitude adjustments to the company before they accept the reality that as companies age that they rarely produce significant inventions and that if they cannot themselves produce such inventions and they alienate those who do produce such inventions that they will stagnate, their profits will eventually diminish, and they will expire with a whimper. In my opinion this is why RIM is a card carrying member of the Coalition for Patent Fairness, a group which collectively has an entitlement mentality and views "fair" as an inalienable right to take liberties with other's inventions.


    The Professional Inventors Alliance USA was created in 1990 to protect American invention and encourage innovation. American inventors saw a need to track congressional legislation and federal policy that impacts independent inventors, small and medium-sized businesses and colleges and universities. The Alliance is the premiere organization in the nation, providing independent inventors a united voice in order to improve public policy.

    The Alliance provides legislative counsel, congressional updates and strategy development to its members through a number of vehicles. Additionally, through its speaker?s bureau, Alliance members have an opportunity to provide expert opinion to many of the nation?s top-tier business, technology and mainstream media organizations. Over the years its members have testified before Congress, offered counsel to key Senate and House committee members, and successfully pushed legislation to protect America?s independent inventors.

    Since its inception, the Alliance has grown into one of the most vocal advocates for America?s patent system.

    Examples of areas of our expertise include David Vs. Goliath patent litigation, patent reform, and we have a unique view of patent pirating companies who are associated with the "Coalition for Patent Fairness" - - - better known as the Coalition for Patent Piracy.

    Ronald J. Riley,

    President - - RJR at
    Executive Director - - RJR at
    Senior Fellow - - RRiley at
    Washington, DC
    Direct (202) 318-1595 - 9 am to 9 pm EST.
  • Where will it end....

    Being an independent Software developer, I find software patents to be a very real threat. If I come up with a great idea, implemented it in code and someone later comes up with something similar on ther own and patents it, then what? I can probably prove prior art, but I dont have the deep pocket$ to prove it and sue for millions... I just plot along until I am noticed and then sued for infringment. Much of what I do is one-off's / custom apps that require solving a business problem and then moving on. That may be to my advantage, I am not mass marketing anything therefore, staying under the radar is a good thing.

    Ultimately, the US Patent office should re-evaluated how patents are issued. I think software/process patents need extra evaluation as opposed to devices (physical things that are made). If something is to simple as to be the bassis of future items, then it should only be a shorter period of exclusivity. If the patent holder is just a collector(i.e. they will never use it) then they should have no rights to its protection. Use it or forever lose it. Licensing of a patent is a good thing, but I think it should be licensed by an actual user of the patent not by some patent whore that owns hundreds of patents and employs an army of lawyers.

    Enough.... to much caffeine this morning..... time to get back to work and write code that hopefully does not do something someone patented when I was not looking :)
    • Agreed

      Software patents have gone NUTS. I write a ton of code that could probably be patented, but without the $7,500 per patent to file and defend who cares? Why would I anyway? Unless it is something I spent years coming up with an implmenting I would not bother. Patenting things like auto punctuation is just plain dumb.
    • Exactly

      Another example of why patents have no place in the software arena. Probably RIM is only putting this patent in place to protect itself against someone ELSE claiming to have this technology.

      Copyright - intelligently enforced - should be more than sufficient. Even in the US :)
  • 2006 filing for prior art

    This is DUMB. It was filed in 2006. Someone is going to get this thrown out on prior art. Auto captilization? Hmmm. Windows CE 1 had that, and Palm has had that for years. Why file patents on such blatently obvious crap? This is the reason the patent system is overloaded and companies are sueing each other left and right. Dump patents on trivial or obvious product features.
  • Farce or SUPER Farce?

    Patents are supposed to be for something NEW. (We will for this time ignore the question of whether patents should be allowed to apply to ideas rather than hardware implementation.)

    From this story it appears that all RIM has done is implement the requests of customers for logical and obvious improvements in their product. Even though the U. S. Patent Office has in the past created a precedent for patenting such obvious improvements, they should at this time say "No More!". They should then follow up by reviewing all existing patents to determine if at the time these patents were granted they really did represent something that was non-obvious. If it is found that an existing patent is really just an obvious extension of a previously existing patent then that patent shoudl be revoked.
    Update victim
  • Most phones and PDAs have similar features

    Motorola for years has had auto character selection for phone-pad text messaging, as well as word completion. I forget the name of the feature, but it is at least five years old.

    Palm has auto capitalization and auto formatting of apostrophes for several years.

    This may be yet another case of a bogused patent being awarded without the research being done to prove it the "invention" does not already exist.
  • so what - described in patent from 2000

    The application asserts priority back to 1999 and 2000. Based on the priority claims, anything disclosed in the newly published application was disclosed at least as early as April 5, 2000. So patent no. 6,489,950 filed April 5, 2000 describes the technology in the current publication. The current patent publication describes technology from 7 years ago! Is this news? This is a non-story. Guess RIM has a good PR machine.
  • All patents must die [nt]