# Patent

## Title
Methods, systems, and computer program products for protecting information on a user interface based on a viewability of the information

## Abstract

Methods, systems, and computer program products for protecting information on a user interface based on a viewability of the information are disclosed. According to one method, a viewing position of a person other than a user with respect to information on a user interface is identified. An information viewability threshold is determined based on the information on the user interface. Further, an action associated with the user interface is performed based on the identified viewing position and the determined information viewability threshold.

## Background
TECHNICAL FIELD
The subject matter described herein relates to methods, systems, and computer program products for protecting information on a user interface. More particularly, the subject matter described herein relates to methods, systems, and computer program products for protecting information based on a viewability of the information.
BACKGROUND
Computers and other electronic devices typically include a user interface having an input interface and an output interface. A keyboard is an example of an input interface for receiving information from a user. Further, computers, personal digital assistants (PDAs), mobile telephones, and other electronic devices typically include an output interface, such as a display, for presenting information to a user. The output interface may allow a user to perceive information that is entered via an input interface and the result of the information that is entered via the input interface.
It is often desirable to protect the privacy of information that is viewable on a user interface, such as information presented via an output interface or information entered via an input interface. In a public setting, for example, an onlooker may be able to obtain sensitive information displayed on the display screen of a laptop computer. Further, for example, an onlooker may be able to obtain information by watching the keys of a keyboard as they are depressed by the user.
Some techniques have been developed for protecting the information on a user interface. For example, a computer application may require a user to enter a login name and password for authenticating the user. A login name and password may be required before the user is granted access to sensitive information. However, this technique does not protect the sensitive information from an onlooker near the user input or output interface.
Another technique for protecting information on a user interface includes determining whether a user of the user interface is an authenticated user by capturing an image of the user. The captured image of the user is compared to a stored image for determining whether the images match. If the images match, the user is considered an authenticated user, and the user may be permitted to view information on the user interface. Otherwise, if the images do not match, the user is considered an unauthorized user, and the user may be denied from viewing information on the user interface. However, an onlooker may be able to view information on the user interface when a user has been authenticated and permitted to view information on the user interface. In this case, the onlooker may be able to “shoulder-surf” while the authenticated user operates a device and information is shown on the user interface.
In view of the shortcomings of existing techniques for protecting information on a user interface, there exists a need for improved methods, systems, and computer program products for protecting information on a user interface from persons other than an authorized user, such as onlookers.
SUMMARY
According to one aspect, the subject matter described herein includes a method for protecting information on a user interface. The method includes identifying a viewing position of a person other than a user with respect to information on a user interface. An information viewability threshold is determined based on the information on the user interface. Further, an action associated with the user interface is performed based on the identified viewing position and the determined information viewability threshold.
The subject matter described herein can be implemented as a computer program product comprising computer executable instructions embodied in a computer readable medium. Exemplary computer readable media suitable for implementing the subject matter described herein include disk memory devices, chip memory devices, application specific integrated circuits, and programmable logic devices. In addition, a computer program product that implements the subject matter described herein may be located on a single device or computing platform. Alternatively, the subject matter described herein can be implemented on a computer program product that is distributed across multiple devices or computing platforms.



BRIEF DESCRIPTION OF THE DRAWINGS
Exemplary embodiments of the subject matter will now be explained with reference to the accompanying drawings, of which:
FIG. 1 is a block diagram illustrating an exemplary computer system for protecting information on a user interface according to an embodiment of the subject matter described herein;
FIG. 2 is a flow chart of an exemplary process for protecting information on a user interface according to an embodiment of the subject matter described herein;
FIGS. 3A and 3B are a flow chart of an exemplary process for protecting information on a user interface shown in FIG. 1 according to an embodiment of the subject matter described herein;
FIG. 4 is a diagram illustrating exemplary positions of a person with respect to the user interface shown in FIG. 1 and viewability thresholds according to an embodiment of the subject matter described herein;
FIG. 5A is a block diagram illustrating an exemplary keyboard before being reconfigured according to an embodiment of the subject matter described herein; and
FIG. 5B is a block diagram illustrating an exemplary keyboard after being reconfigured according to an embodiment of the subject matter described herein.



DETAILED DESCRIPTION
According to one aspect, a system for protecting information on a user interface may be implemented as hardware, software, and/or firmware components executing on one or more components of a system having a user interface. FIG. 1 illustrates an example of a computer system 100 for protecting information on a user interface according to an embodiment of the subject matter described herein. Computer system 100 may be any suitable system for presenting information to an operator via a user interface, such as a personal computer, mobile phone, PDA, and the like. Referring to FIG. 1, computer system 100 may include a user interface 102 having an output interface 104 and an input interface 106. Output interface 104 may present or display information that is viewable by one or more persons. For example, the information may be viewable by person 108. Further, output interface 104 may include a display, a printer, a speaker, or any other suitable device with which information may be presented or shown. Input interface 106 may be any suitable device by which a user inputs information. Input interface 106 is operable to receive input information from a user. For example, input interface 106 may be a keyboard, a keypad, a touch screen display, a mouse, or a trackpad. The input of information on input interface 106 may similarly be viewable by person 108. As such, the “viewability” of information on user interface 102 as used herein may be applied to output interface 104 and/or input interface 106.
System 100 may also include an image capture device 110 operable to capture one or more images of persons in position to view information on user interface 102. For example, image capture device may capture one or more images of person 108. Device 110 may be any suitable device for capturing images, such as a still-image camera or video camera. The captured images of person 108 can include a single image of person 108 that indicates the position of person 108 with respect to user interface 102. Further, the captured images of person 108 can include a series of images of person 108 over time for indicating the movement of person 108 with respect to user interface 102. Captured images may be stored in device 110 and communicated to a viewing position identifier 112.
System 100 includes means for identifying a viewing position of a person other than a user with respect to information on user interface 102. For example, viewing position identifier 112 may receive captured images from device 110. Identifier 112 may identify a viewing position of a person in one or more of the captures images with respect to information on user interface 102. Identifier 112 may also identify the movement of person 108 with respect to information on user interface 102 based on a series of captured images. For example, one or more captured images can be used to identify eye movement of the person, the eye position of the person, and/or the facial position of the person. Further, the captured images can be used to identify a distance between person 108 and user interface 102 and/or an angle of person 108 with respect to user interface 102. Identifier 112 may communicate the identified viewing position or positions to an information viewability function 114.
System 100 includes means for determining an information viewability threshold based on the information on user interface 102. For example, information viewability function 114 may determine an information viewability threshold based on the information on user interface 102. In one embodiment, a viewability threshold may be determined based on the sensitivity of the information shown by user interface 102. For example, some information may require a high level of privacy, and thus the information may require a viewability threshold that provides additional protection from onlookers. In another embodiment, the viewability threshold may be based on characteristics of the information shown by user interface 102. For example, the viewability threshold may be based on the size of information displayed by user interface 102. Information with a large size may be easy to read, and thus the information may again require another viewability threshold that provides additional protection from onlookers. In another embodiment, the viewability threshold may be based on the type of user interface showing the information. For example, the viewability threshold may be based on the type of display displaying the information. Information shown on a display having high resolution and wide viewability angles may again require a viewability threshold that provides additional protection from onlookers.
Further, system 100 may include a means for performing an action associated with user interface 102 based on the identified viewing position and the determined information viewability threshold. For example, function 114 may perform an action associated with user interface 102 based on the identified viewing position and the determined information viewability threshold. In accordance with one embodiment, the performed action may include alerting a user of user interface 102 of the presence of a potential onlooker and/or a location of the onlooker. For example, a display may display an icon for indicating the presence of a potential onlooker. In another embodiment, the performed action may include obfuscating information shown by user interface 102 in order to make the information more difficult for a potential onlooker to view. For example, a display displaying the information may be darkened, blurred, or otherwise hidden from view.
FIG. 2 is a flow chart illustrating an exemplary process for protecting information on a user interface according to an embodiment of the subject matter described herein. Referring to FIG. 2, block 200 includes identifying a viewing position of a person other than a user with respect to information on a user interface. In block 202, an information viewability threshold is determined based on the information on the user interface. An action associated with the user interface is performed based on the identified viewing position and the determined information viewability threshold (block 204). Thus, in this exemplary process, an action associated with a user interface is performed based on a viewing position of a person with respect to information on the user interface. The performed action may make the viewable information on the user interface more difficult for the person to view.
FIGS. 3A and 3B are a flow chart illustrating an exemplary process for protecting information on user interface 102 shown in FIG. 1 according to an embodiment of the subject matter described herein. Referring to FIG. 3A, block 300 includes identifying a person other than a user of user interface 102 with respect to information on user interface 102. In one embodiment, image capture device 110 may capture images of one or more persons. The captured images may be communicated to viewing position identifier 112. Viewing position identifier 112 may include a person identifier function 116 for identifying one or more persons in the captured images. For example, person 118 may be a user of user interface 102, and person 108 may be a person other than a user of user) interface 102 or an onlooker of information shown on user interface 102. Image capture device 110 may capture images of persons 108 and 118 and communicate the captured images to function 116. Based on the images, function 116 may determine the positions of persons 108 and 118 with respect to user interface 102. Further, function 116 can compare the determined positions and identify the person closest to user interface 102 as being a user of user interface 102 based on an assumption that the closest person to a user interface is the user of the user interface. In this example, person 118 may be determined to be closer to user interface 102 than person 108. Therefore, person 118 may be identified as the user of user interface 102, and person 108 may be identified as a person other than the user or as a potential onlooker to information on user interface 102.
In another example, a user's image may be identified after a successful login by the user, e.g., after the user provides a user name and password. The user's identified image may be pre-stored and correlated with the login or may be an image taken by image capture device 110 after login. This image can later be used in image comparisons for locating potential onlookers, even while the user is away from user interface 102.
Image capture device 110 may be any suitable device operable to capture an image or other suitable representation of a person by which the person's position, identity, and/or features can be determined. As stated above, image capture device 110 may be a camera, such as a still-image camera or a video camera. The images captured by image capture device 110 may be stored at image capture device 110 or communicated to viewing position identifier 112 for storage. In one embodiment, image capture device 110 is a digital camera including a wide angle lens. The image capture angle of the lens may be at least equal to the angle within which the information on user interface 102 is viewable.
Based on one or more captured images, function 116 may determine a person's position, identity, and/or features. An exemplary method for face recognition is described in U.S. Pat. No. 6,111,517 to Atick et al., issued Aug. 29, 2000 and filed Dec. 30, 1996, the disclosure of which is incorporated by reference herein in its entirety. Briefly, this method includes searching the field of view of a camera for faces. Multiscale search algorithms may initially search for faces in low resolution and switch to high resolution only when the low resolution search indicates a head-like shape. Once a face has been detected, the head's shape, position, size, and pose can be determined. Next, the head may be normalized by scaling, rotating, and warping, so that the face can be registered and mapped into a canonical size and pose. An internal representation scheme can be employed to translate facial data into a unique coded characterization of the face of each individual. Next, the facial characterization can be compared to stored facial characterizations to determine a match. Person identification function 116 may use this method or any other suitable facial recognition method to distinguish authorized users from onlookers.
Further, an exemplary method for determining the locations of image features, such as eye monitoring to determine the point at which the eye is gazing, or measuring the motions of an eye using a captured image is described in U.S. Pat. No. 5,231,674 to Cleveland et al., issued Jul. 27, 1993 and filed May 13, 1991, the disclosure of which is incorporated by reference herein in its entirety. Briefly, this method includes using a camera to capture an image of an eye. Information about the eye's gaze point and/or orientation may be extracted from the eye image based on the location of image features such as edge coordinates between the pupil and iris of the eye and of the corner coordinates of light reflections off the cornea of the eye. Person identifier function 116 may use this method or any other suitable gaze tracking method to identify persons who are onlookers gazing at user interface 102.
In an alternate embodiment, function 116 may determine that a person is an authorized user based on the distance the user is from interface 102 and/or the position of the person in front of interface 102. For example, function 116 may determine whether person 108 is within a predetermined distance from interface 102 and whether person 108 is positioned in front of interface 102. If function 116 determines that person 108 is positioned within the predetermined distance and positioned in or about directly in front of interface 102, the image associated with person 108 may be identified as corresponding to an authorized user. For example, a person's image that is determined to be within three feet of a user interface may be identified as corresponding to an authorized user. Images associated with persons other than the identified user may be identified as potential onlookers. Such authorized status can be revoked when the authorized user is no longer positioned within the predetermined distance and positioned in or about directly in front of interface 102.
In one embodiment, function 116 may detect the position of the eyes of persons in captured images. Based on the determined position of the eyes with respect to interface 102, function 116 may determine whether a person is a user or a potential onlooker. For example, if the eyes are determined to be within a predetermined distance and/or positioned in front of interface 102, the image of the person corresponding with the eyes may be identified as a user. Images associated with other eyes may be identified as eyes corresponding with persons other than a user or as a potential onlooker.
In another embodiment, function 116 may determine that a person is an authorized user based on a person's face in a captured image. For example, function 116 may be able to detect faces in captured images and discriminate between different faces. System 100 may include a person identification database 120 operable to store data for identifying facial images of persons. The stored data may identify a facial image as corresponding to an authorized user of interface 102. Further, the stored data may identify a facial image as being a person unauthorized to view information shown by interface 102. A facial image that is deemed unauthorized may be considered as a potential onlooker of the information shown on interface 102. Further, a facial image that is unidentifiable may be considered as a potential onlooker of the information shown on user interface 102.
In one embodiment, viewing position identifier 112 may be operable to detect a person's position and track the person's movement. For example, identifier 112 may detect the position of a person's eyes and the movement of the detected eyes. One or both eyes of the person may be detected. One type of eye movement that may be used to identify a person as an onlooker is scanning. Scanning may be detected using the method described in the above-referenced patent to Cleveland et al. In another example, identifier 112 may detect the position of a person's face and the movement of the detected face. A person may be identified as an onlooker if a person's face turns towards a display and continues to face the display for a predetermined time period. In contrast, a person who turns briefly towards a display and then turns away may not be identified as an onlooker.
In block 302, function 116 may determine whether the identified person is authorized to view the information on user interface 102. Database 120 may include entries that indicate whether an identified person is authorized to view information shown on user interface 102.
If it is determined that the identified person is authorized to view the information on user interface 102, system 100 may refrain from performing an action associated with interface 102 with respect to the identified person (block 304 shown in FIG. 3B). For example, system 100 may refrain from altering information shown on interface 102 or alerting a user to the presence of the identified person. If it is determined that the identified person is not authorized to view the information on user interface 102, the process may proceed to block 306.
In block 306, identifier 112 may identify a viewing position of a person other than a user with respect to information on user interface 102. For example, identifier 112 may determine the distance of a person other than the user from user interface 102. Further, for example., identifier 112 may determine the angle of a person's position with respect to a surface of interface 102 (e.g., a screen of a display) on which the viewable information is shown. In one embodiment, the person's position can be the position of the person's eyes as detected by identifier 112. Further, for example, the viewing position of a person may be the position of a person's face with respect to user interface 102.
In one embodiment, a plurality of viewing positions of a person other than a user may be identified. For example, a series of captured images of a person may be acquired for identifying movement of a person with respect to user interface 102. A person's movement may indicate whether the person is staring at the user interface or merely glancing at the user interface. For example, if a person's eyes are directed to a user interface greater than 10 seconds, it may be determined that the person is an onlooker to information on the user interface. If a person's eyes are directed to the user interface for less than 1 second, it may be determined that the person is not an onlooker to information on the user interface.
In block 308, an information viewability threshold database 122 may be searched for an entry based on the information on user interface 102. Database 122 may store entries including information viewability thresholds corresponding to the information on user interface 102. Table 1 below shows exemplary entries that may be stored in an information viewability threshold database. It should be pointed out that databases 122 and 124 are logical databases that may be realized using any known information management and processing techniques, including, for example, algorithms, lookup tables, and the like.







TABLE 1







Exemplary Entries in an Information


Viewability Threshold Database










Information
Information


User Interface Type
Characteristic
Viewability Threshold





17′′ LCD screen
Font size 12
Between 45° Left and


display

45° Right <10′; and




46°-90° Left and




Right <5′


17′′ LCD screen
Font size 16
Between 45° Left and


display

45° Right <20′; and




46°-90° Left and




Right <10′


17′′ LCD screen
Image <680 × 460 pixels
Between 45° Left and


display

45° Right <10′; and




46°-90° Left and




Right <5′


17′′ LCD screen
Image >680 × 460 pixels
Between 45° Left and


display

45° Right <10′; and




46°-90° Left and




Right <5′


PDA with 1⁄4 VGA
Font size 8
Between 45° Left and


screen display

45° Right <4′; and




46°-90° Left and




Right <2′


PDA with 1⁄4 VGA
Font size 10
Between 45° Left and


screen display

45° Right <8′; and




46°-90° Left and




Right <4′









In Table 1, an information viewability threshold is determined based on a user interface type and a characteristic of the information shown by user interface 102. For example, if user interface 102 includes a 17′′ LCD screen display (e.g., output interface 104 is a 17′′ LCD screen display) displaying text information in font size 12, the viewability threshold is a distance of less than 10 feet between 45 degrees left and 45 degrees right and a distance of less than 5 feet for 46-90 degrees left and right. Further, for example, if user interface 102 includes a PDA with 1⁄4 VGA screen display (e.g., output interface 104 is a 1⁄4 VGA screen display) displaying text information in font size 8, the viewability threshold is a distance of less than 4 feet between 45 degrees left and 45 degrees right, and a distance of less than 2 feet for 46-90 degrees left and right.

In one embodiment, the information viewability threshold may be based on the eye position of a person, the eye movement of a person, and/or the facial orientation of a person with respect to a user interface. For example, an information viewability threshold may be met when a person's eyes are pointing towards user interface 102. In another example, an information viewability threshold may be met when a person's eyes are pointing towards user interface 102 for a predetermined period of time (e.g., greater than 10 seconds). In yet another example, an information viewability threshold may be met when a person's eyes are moving in a predetermined pattern with respect to user interface 102 (e.g., from left to right across a display screen). A threshold may be met when a person's eyes are periodically pointing towards user interface 102. In another example, an information viewability threshold may be met when a person's face is oriented towards user interface for a predetermined period of time. In yet another example, an information viewability threshold may be met when a person's face is periodically oriented towards user interface 102. In each case, the respective determination may be made using gaze detection and/or image analysis performed on a captured image and may be performed using image capture device 110 in conjunction with viewing position identifier 112.
In another embodiment, the information viewability threshold may be based on the type of information shown via a user interface or an application or file presenting the information. For example, information viewability function 114 may determine the privacy sensitivity of information shown by user interface 102. If the information is highly sensitive, the information viewability threshold may be triggered more readily for a person other than the user of the user interface. Highly sensitive data may be data determined to be highly confidential. The privacy sensitivity of information may be calculated based on a variety of criteria. For example, a user may designate data as being sensitive by selecting a sensitivity level associated with the information. In one example, a user may designate a sensitivity level for an application (e.g., the MICROSOFT WORD® word processing application, produced by the Microsoft Corporation of Redmond, Washington) presenting the information. If a sensitivity level has not been designated for information, the information may inherit the sensitivity level of an application presenting the information. For example, a word processing application may be associated with a sensitivity level of “medium”. A user may want to open a particular document in the word processing application with a sensitivity level of “high”. In other examples, the display of a game may be associated with a low privacy sensitivity level while a business document may be associated with a high privacy sensitivity level. In addition to content sensitivity or confidentiality, or alternatively, content TYPE information such as file formats (e.g., .jpg, .xls, etc.) may be used to determine sensitivity level.
The privacy sensitivity level may be associated with the information on user interface 102, as discussed above.
In another example, information associated with a password entry may be associated with a particular privacy sensitivity level. For example, entry of a login name and a password may be associated with a privacy sensitivity level of “high.” In another example, information protected by the login and password may be associated with a particular privacy sensitivity level.
In another embodiment, the information viewability threshold may be determined based on a combination of factors including a friendliness factor associated with an onlooker, a sensitivity level, and/or a behavior of the person. A friendliness factor may be associated with a person identified by person identifier function 116. For example, a family member or friend may be associated with a high friendliness factor. A person with a low friendliness factor may be an unidentified person or an acquaintance that has been identified and associated with a low friendliness factor.
Table 2 below shows exemplary entries that may be stored in an information viewability threshold database that incorporates a friendliness factor, a sensitivity level, and a behavior, according to another embodiment. Information from Table 1 may also be incorporated into Table 2, or vice versa. In addition, Tables 1 and 2 may be combined into a single table.







TABLE 2







Exemplary Entries in an Information Viewability Threshold Database
















Total
Information



Friendliness
Sensitivity
Behavior of
Risk
Viewability


Scenario
Factor
Level
Person
Level
Threshold





Person using user
Face identified of someone
Low
Low Threat (the
Low
Unlimited


interface in a
having a friendliness
(Using the user
person glances at

Viewing


home office, and a
factor of 10 (i.e., a
interface to
the user inter-


spouse walks in
high friendliness factor)
play a game)
face infrequently)


Person using user
Face identified of someone
High (Using the
High Threat (a
High
Between 45°


interface on a
having a friendliness
user interface
person looks at

Left and 45°


full plane in
factor of 1 (i.e., a
to create a
the user interface

Right <20′; and


economy class
low friendliness factor)
business plan)
for a long duration)

46°-90° Left







and Right <10′


Person using user
Face identified of someone
High (Using the
Low Threat (the
Medium
Between 45°


interface on a
having a friendliness
user interface
person glances at

Left and 45°


full plane in
factor of 5 (i.e., a
to create a
the user interface

Right <10′; and


economy class
medium friendliness factor)
business plan
infrequently)

46°-90° Left







and Right <5′









Using Table 2, an information viewability threshold may be determined based on a friendliness factor associated with an identified person and the type of information on the user interface. For example, when a person's face is identified as having a high friendliness factor of 10, the sensitivity level is low, and the behavior of a person is at a low threat level, the total risk level is low and the viewability threshold may allow for unlimited viewing; in effect not carrying out any action in response to detecting the onlooker. In another example, when a person's face is identified as having a low friendliness factor of 1, the behavior of a person is at a high threat level, and the sensitivity level is high, then the total risk level is high and the viewability threshold may be set at less than 20′ between 45° left and 45° right and less than 10′ between 46°-90° left and right. In yet another example, when a person's face is identified as having a medium friendliness factor of 5, the behavior of a person is at a low threat level, and the sensitivity level is high, then the total risk level is medium and the viewability threshold may be set at less than 10′ between 45° left and 45° right and less than 5′ between 46°-90° left and right. Other combinations and corresponding viewability thresholds may also be utilized.
In block 310, function 114 determines whether an entry associated with the information on user interface 102 is found in database 122. If an entry is not found in database 122, a default information viewability threshold may be provided for the viewable information (block 312) and the process may proceed to block 314 (shown in FIG. 3B). Otherwise, if an entry is found in database 122, the process may proceed to block 314.
Referring to FIG. 3B, in block 314, an information viewability action database 124 may be searched for an entry based on the information viewability threshold and the identified viewing position of the person other than a user. Database 124 may store entries including actions corresponding to the information viewability threshold and the identified viewing position of a person other than the user. Table 3 below shows exemplary entries that may be stored in an information viewability action database. It should be understood that databases 122 and 124 (and thus Tables 1, 2, and/or 3) may be combined into a common database according to one possible implementation.







TABLE 3







Exemplary Entries in an Information Viewability Action Database









Identified Viewing
Information



Position
Viewability Threshold
Action





8° Left and 7 feet
Between 45° Left and
Reduce font size by 4



45° Right <10′; and
points



46°-90° Left and Right <5′


80° Left and 3 feet
Between 45° Left and
Reduce font size by 1



45° Right <10′; and
point



46°-90° Left and Right <5′


5° Left and 12 feet
Between 45° Left and
None



45° Right <10′; and



46°-90° Left and Right <5′


82° Right and 6 feet
Between 45° Left and
None



45° Right <10′; and



46°-90° Left and Right <5′









In Table 3, an action is determined based on an identified viewing position and a viewability position threshold. For example, if the identified viewing position is 8° to the left of the front of a user interface and 7 feet from the user interface, the font size of text displayed on the user interface is reduced 4 points by function 114. In another example, if the identified viewing position is 80° to the left of the front of a user interface and 3 feet from the user interface, the font size of text displayed on the user interface is reduced 1 point by function 114. In another example, if the identified viewing position is 82° to the right of the front of a user interface and 6 feet from the user interface, no action is taken by function 114.

FIG. 4 illustrates exemplary positions of a person with respect to user interface 102 of FIG. 1 and viewability thresholds according to one embodiment of the subject matter described herein. The viewability thresholds correspond to the examples provided in Table 2 above. Referring to FIG. 4, the shaded areas represent threshold areas. If a person other than a user of interface 102 is identified as being positioned within one of the thresholds, an action may be taken by system 100. For example, a person at position 400 is within the threshold defined by being between 45° left and 45° right of the front of user interface 102 and being within 10 feet of user interface 102. In another example, a person at position 402 is within the threshold defined by being between 46°-90° left of the front of user interface 102 and being within 5 feet of user interface 102. In another example, a person at position 404 or position 406 is outside of the defined thresholds. In this example, no action is taken by function 114 when a person is positioned outside of the thresholds.
In block 316, function 114 determines whether an entry associated with the determined information viewability threshold and the identified viewing position of the person other than the user is found in database 124. If an entry is not found in database 124, a default action or no action may be provided (block 318). A default of no action means that system 100 refrains from performing an action to protect information on interface 102 from the identified person. If an entry is found in database 124, the process proceeds to block 320.
In block 320, function 114 may determine whether to perform an action or not to protect information on interface 102 from the identified person. If an entry is found in database 124 and the entry indicates to perform no action, system 100 refrains from performing an action to protect information on interface 102 from the identified person (block 304). If a default action is provided and the default indicates to perform no action, system 100 refrains from performing an action (block 304). Further, if an entry is found in database 124 and the entry indicates to perform an action, function 114 performs the action indicated by the entry (block 322). If a default action is provided and the default indicates to perform an action, function 114 performs the action indicated by the entry (block 322). The action may include obfuscating information shown by user interface 102 or alerting a user about the identified person.
In one embodiment, the performance of an action in block 322 may include obfuscating or reformatting information shown on user interface 102 such that the information is more difficult for a person to perceive. For example, a display screen may be blurred in order to make text information more difficult to perceive. In yet another example, a display screen may be darkened. In another example, a display screen may be turned off in order to prevent an onlooker from perceiving information. In yet another example, colors on a display screen may be inversed. In another example, a zoom level of the information, be it text or images, may be decreased to prevent an onlooker from perceiving information.
In another embodiment, the performance of an action in block 322 may include reducing the size of text information on a display screen in order to make text information more difficult for a potential onlooker to perceive. The reduction of text size may be based on the position of a potential onlooker and/or a position of a user of interface 102. The text size may be reduced such that the user of interface 102 can perceive the information, and the potential onlooker cannot perceive the information.
In another embodiment, the performance of an action in block 322 may include reconfiguring input interface 106 such that the information entered into the interface is more secure. For example, with regard to a keyboard or a keypad, the orientation, character set, and display properties of the keys or buttons of the keyboard or keypad may be reconfigured. In one embodiment, reconfiguration includes changing the language input when one or more keys are depressed. In another embodiment, reconfiguration may include character or symbol replacement. An end user or application receiving the input data may identify the replacement. In yet another embodiment, an operator may define the reconfiguration of one or more keys. In another embodiment, reconfiguration may include not displaying characters on a display when data is input. In yet another embodiment, the keys displayed on input interface 106 may change when a determined privacy level is high. For example, the keys displayed on the keypad of a PDA may change such that the data actually entered when a key is depressed is different than the symbol for the key.
FIGS. 5A and 5B illustrate an example of a keyboard 500 before reconfiguration and after reconfiguration, respectively, according to an embodiment of the subject matter described herein. In this example, keyboard 500 is a “QWERTY” keyboard. FIG. 5A shows the arrangement of the keys before reconfiguration and as the keys are actually labeled. For example, before reconfiguration, when the key labeled “Q” is depressed, the letter “Q” will be entered. FIG. 5B shows the keys of keyboard 500 after reconfiguration. The labeling of the keys after reconfiguration remains the same as before reconfiguration. The mapping of the keys changes after reconfiguration. In this example, when the key labeled “Q” is depressed after reconfiguration, the letter “P” will be entered.
Referring again to FIG. 3B, in yet another embodiment, the performance of an action in block 322 may include alerting a user of user interface 102 to the presence of a potential onlooker. In one example, an alert may include blinking a light emitting diode (LED) or other suitable light emitter on system 100 to indicate to the user of the presence of a potential onlooker. In another example, an alert may include sounding an alarm.
In yet another example, an alert may include indicating the position of a potential onlooker to a user of user interface 102. For example, output interface 104 may display text indicating a potential onlooker, such as “Potential onlooker located 4 feet behind you, and 45 degrees to your left”. In another example, output interface 104 may display an image indicating the potential onlooker. In the displayed image, the onlooker can be indicated by a flag, circle, or otherwise differentiated in the image.
Once alerted to a potential onlooker, the user may act to prevent the potential onlooker from perceiving the information. For example, the user may stop entering information via input interface 106. In another example, the user may stop information from being displayed on output interface 104. In yet another example, the user may reposition user interface 102 such that the potential onlooker cannot perceive the information.
In one embodiment, a user may specify to system 100 that the system is operating in a secure environment. If it is specified that system 100 is in a secure environment, system 100 may refrain from performing an action (such as in block 304 of FIG. 3B). When system 100 is moved to a less secure environment, the user may specify the environment such that the performance of actions is enabled.
It will be understood that various details of the subject matter described herein may be changed without departing from the scope of the subject matter described herein. Furthermore, the foregoing description is for the purpose of illustration only, and not for the purpose of limitation.

## Claims

1. A method for protecting information on a user interface, the method comprising:
identifying a viewing position of a person other than a user with respect to information on a user interface of the computing system;
determining an information viewability threshold for the person based on the information on the user interface, wherein the information viewability threshold indicates a distance from the user interface and wherein the distance is variable based on at least a viewability of the information as presented by the user interface; and
performing an action associated with the user interface based on the identified viewing position and a relationship of the identified viewing position to the determined information viewability threshold,
wherein at least one of the preceding actions is performed on at least one electronic hardware component.

2. The method of claim 1 wherein identifying a viewing position of a person other than a user includes:
capturing an image of the person other than the user; and
determining a viewing position of the person based on the captured image.

3. The method of claim 1 wherein determining an information viewability threshold based on the information on the user interface includes determining characteristics of at least one of the user interface and the information.

4. The method of claim 1 determining an information viewability threshold based on the information on the user interface comprises:
determining whether the person is authorized to view the information on the user interface; and
determining the information viewability threshold based on the authorization determination.

5. The method of claim 1 wherein performing an action associated with the user interface includes reformatting the information on the user interface.

6. The method of claim 5 wherein reformatting the information on the user interface includes altering at least one of a font size and a zoom level of the information.

7. The method of claim 5 wherein the user interface is a display operable to display the information, and wherein reformatting the information on the user interface includes blurring or darkening the information shown on the display.

8. The method of claim 1 wherein performing an action associated with the user interface includes providing an indication to the user of the presence of a potential onlooker.

9. The method of claim 1 wherein performing an action associated with the user interface includes:
determining a position of the person other than the user; and
indicating the position of the person other than the user via the user interface.

10. The method of claim 4 wherein determining whether the person is authorized to view the information on the user interface includes determining a behavior of the person.

11. The method of claim 10 wherein determining a behavior of the person includes monitoring eye movement of the person.

12. The method of claim 10 wherein determining a behavior of the person includes detecting eye position of the person.

13. The method of claim 10 wherein determining a behavior of the person includes detecting a facial position of the person.

14. A system for protecting information on a user interface, the system comprising system components including:
a viewing position identifier implemented on a suitably programmed computing system and operable to identify a viewing position of a person other than a user with respect to information on a user interface of the computing system; and
an information viewability function implemented on the computing system and operable to determine an information viewability threshold for the person based on the information on the user interface, wherein the information viewability threshold indicates a distance from the user interface, wherein the distance is variable based on at least a viewability of the information as presented by the user interface, and wherein the information viewability function is operable to perform an action associated with the user interface based on the identified viewing position and a relationship of the identified viewing position to the determined information viewability threshold,
wherein at least one of the system components includes at least one electronic hardware component.

15. The system of claim 14 comprising an image capture device operable to capture an image of the person other than the user, and wherein the viewing position identifier is operable to determine a viewing position of the person based on the captured image.

16. The system of claim 14 wherein the information viewability function is operable to determine the information viewability threshold by determining whether the person is authorized to view the information on the user interface and determining the information viewability threshold based on the authorization determination.

17. The system of claim 14 wherein the information viewability function is operable to alter the information on the user interface in response to determining that the person is not authorized to view the information.

18. The system of claim 14 wherein the information viewability function is operable to reformat the information on the user interface in response to determining that the person is not authorized to view the information.

19. The system of claim 18 wherein the information viewability function is operable to alter at least one of a font size and a zoom level of the information in response to determining that the person is not authorized to view the information.

20. The system of claim 18 wherein the user interface is a display operable to display the information, and wherein the information viewability function is operable to control the display for blurring or darkening the information shown on the display.

21. The system of claim 14 wherein the user interface is a display, and the information viewability function is operable to control the user interface to provide an indication of the person other than the user.

22. The system of claim 14 wherein the viewing position identifier is operable to determine a position of the person other than the user, and wherein the information viewability function is operable to control the user interface to indicate the position of the person other than the user.

23. The system of claim 14 wherein the viewing position identifier is operable to determine a behavior of the person, and wherein the information viewability function is operable to determine the information viewability threshold based on the identified viewing position.

24. The system of claim 23 wherein the viewing position identifier is operable to monitor eye movement of the person for determining the behavior of the person.

25. The system of claim 23 wherein the viewing position identifier is operable to detect eye position of the person for determining the behavior of the person.

26. The system of claim 23 wherein the viewing position identifier is operable to detect a facial position of the person for determining the behavior of the person.

27. A system for protecting information on a user interface, the system comprising components including:
means implemented on a suitably programmed computing system for identifying a viewing position of a person other than a user with respect to information on a user interface;
means implemented on the computing system for determining an information viewability threshold for the person based on the information on the user interface, wherein the information viewability threshold indicates a distance from the user interface and wherein the distance is variable based on at least a viewability of the information as presented by the user interface; and
means implemented on the computing system for performing an action associated with the user interface based on the identified viewing position and a relationship of the identified computing system and the determined information viewability threshold,
wherein at least one of the means includes at least one electronic hardware component.

28. A computer program product comprising computer executable instructions embodied in a computer readable medium, that when executed by at least one device performs the steps comprising:
identifying a viewing position of a person other than a user with respect to information on a user interface;
determining an information viewability threshold for the person based on the information on the user interface, wherein the information viewability threshold indicates a distance from the user interface and wherein the distance variable based on at least a viewability of the information as presented by the user interface; and
performing an action associated with the user interface based on a relationship between the identified viewing position and the determined information viewability threshold.