1. Field
This application relates generally touch-screen systems, and more particularly to a system and method of setting computing-device functionality based on touch-event properties.
2. Related Art
There currently exist many types of input devices for performing operations with an electronic system. These operations often correspond to moving a cursor and/or making selections on a display screen. Illustrative electronic systems include tablet, notebook, desktop and server computer systems, personal digital assistants, audio and video control systems, digital billboards and kiosks, portable music and video players and mobile and satellite telephones. The use of touch pad and touch screen systems (collectively “touch-surfaces”) has become increasingly popular in these types of electronic systems because of their ease of use and versatility of operation. One particular type of touch-surface is the touch screen. Touch screens typically include a touch panel, a controller and a software driver. The touch panel is characteristically an optically clear panel with a touch sensitive surface that is positioned in front of a display screen so that the touch sensitive surface is coextensive with a specified portion of the display screen's viewable area (often, the entire display area). The touch panel registers touch events and sends signals indicative of these events to the controller. The controller processes these signals and sends the resulting data to the software driver. The software driver, in turn, translates the resulting data into events recognizable by the electronic system (e.g., finger movements and selections, contact patches modeled as ellipses, fingerprint images).
Unlike earlier input devices, touch-surfaces are now capable of simultaneously detecting multiple objects as they approach and/or contact the touch-surface. Some can detect object shapes in much more detail (e.g. finger contact-patch values and/or fingerprint attributes). Examples of touch surfaces include, inter alia: a multi-touch screen, finger-print scanner, touch screen with a capacitance sensor and/or optical sensor (e.g. an infrared sensor) sufficient to obtain an image of a fingerprint and/or measure a finger contact-patch area, devices with sensors integrated in the pixels that can recognize objects placed on the display such as Microsoft's Second-generation Surface (e.g. uses PixelSense technology), and the like.
Furthermore, conventional methods of controlling child access to various types of content may involve such methods as: content filters, which limit access to age appropriate content, usage controls, which constrain the usage of these devices such as placing time-limits on usage or forbidding certain types of usage, computer usage management tools, which allow parents to enforce learning time into child computing time, and monitoring, which can track location and activity when using the devices. Such methods may be time consuming, tedious, and repetitive for an adult user of a computing device that implements them. For example, the adult user may have to disable parental controls in order to access certain websites and then reactivate them afterwards. In view of this, improvements may be made over conventional methods if, for example, a computing system were able to biometrically obtain a current user's age and implement parental controls accordingly.
In one embodiment, a computer-implemented method can include the step of receiving a finger-contact patch attribute from a user of a touch screen system. A user's age group can be determined according to a finger-contact patch attribute. The user's age group can be provided to a server.
Optionally, a pixel width of the finger-contact patch of less than thirty pixels can be measured. The user's age group can be determined to be a child age group. A historical mean finger-contact patch area of a historical user of the touch screen system can be calculated. The finger-contact patch attribute from the user can be determined to be substantially less than the historical mean finger-contact patch area of the historical user. The user's age group can be determined to be a child age group. An advertisement to display on a computing device of the touch-screen system can be received. An appropriate age group appropriate of the advertisement can be determined. The advertisement can be filtered when a current user is in the child-age group and the appropriate age group appropriate of the advertisement is an adult age group.
In another exemplary embodiment, a computer-implemented method includes receiving a user's age group information from a user's computing device. The user's age group information was determined according to a finger-contact patch attribute. The user's age group information is matched with an age-appropriate advertisement. The age-appropriate advertisement is communicated to the user's computing device.
The present application can be best understood by reference to the following description taken in conjunction with the accompanying figures, in which like parts may be referred to by like numerals.
The Figures described above are a representative set, and are not an exhaustive with respect to embodying the invention.
Disclosed are a system, method, and article of manufacture of setting computing device functionality based on touch-event properties. Although the present embodiments included have been described with reference to specific example embodiments, it can be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the particular example embodiment.
Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
Furthermore, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art can recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
The schematic flow chart diagrams included herein are generally set forth as logical flow chart diagrams. As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types may be employed in the flow chart diagrams, and they are understood not to limit the scope of the corresponding method. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
In step 110, it is determined if the measured contact-patch radius is less than the threshold radius value. If ‘no’, then process 100 returns to step 102. If ‘yes’, then a downstream action (e.g. downstream control of device functionality, notifications and the like) is initiated in step 114.
Several examples of downstream actions are now described. In one example, the action may include providing notifications to a designated user. For example, process 100 may be set to determine a child user of the touch-screen device. A notification may be provided (e.g. in the form of a text message, email, etc.) to a parent when a child-user is detected. In another example of downstream actions, system administrative functions native to the mobile device can be invoked. These functions can be capable of initiating and shutting down applications/tasks by accessing system-level info (e.g. thread ID, process ID, process name). One way to implement can be to access a list of existing installed applications and then determine the active application(s) running on the foreground (UI) thread. If user-saved preferences indicate that active application(s) should be shutdown by user, a message can be sent to system administration functions to shutdown the application upon the biometric detection of kid's touch. A shutdown application can occur substantially soon thereafter and the child can experience an “unresponsive touchscreen.”
In another example, system level control preferences may be obtained from a system administrator. For example, specified application programs (e.g. text messaging, games, and cell phone calls) may be blocked. For example, the computer system may be polled to determine all of the installed or native applications and/or programs on the devices. In one example, a user interface object such as a scrolling list of applications/programs may be provided to the system administrator. Additionally, a user interface object such as a checkbox may be provided to the system administrator to indicate the applications/programs that may be turned off upon the detection of a child. The system administrator may also indicate if some other application/program (e.g. a screen lock, system shutdown process, notification and the like) may be activated upon the detection of a child. A control object/mechanism may be provided for the system administrator to save the above indications in the form of saved settings. These indications may be updated as new programs are installed on the device. For this purpose, device level information may be accessed regarding the installation of new programs. A security object/mechanism may be provided for the system administrator to password-protect any selections and/or settings.
System level control preferences can then be executed once a child has been detected through analysis of a touch event. For example, access to the indicated application programs may be blocked and/or shutdown. In one embodiment, the saved list of application programs to be shutdown can be accessed. Information relating to the last state of the application programs can be saved. Instructions can be sent to the indicated application programs. Optionally, an instruction to start some other application program (e.g. as indicated by the system administrator) may be communicated to the relevant application programs. The system administrator may be informed when the application programs have been shutdown/blocked.
Examplary Systems and Architecture
Additional Processes and Use Cases
Computing device 702 can obtain a user's finger contact-patch attributes from the touch-screen system. Computing device 702 can determine a user's age group from the finger contact-patch attributes. Computing device 702 can communicate said age-group information to advertisement management server 704. Computing device 702 can include a plurality of applications (not shown) such as text messaging, augmented reality, instant messaging, photo-sharing applications, video-sharing applications, web browsers, email applications, etc. Computing device 702 can provide information regarding application-use history to advertisement management server 706 as well. For example, computing device 702 can communicate user age-group information and user current use of a text-messaging application to advertisement management server 704.
Advertisement management server 706 can obtain an age-appropriate advertisement and communicate it to computing device 702. Advertisement management server 706 can format the advertisement according to an appropriate standard for the particular type of computing device. For example, if the user is substantially currently using a text-messaging application, advertisement management server 706 can provide the advertisement to the user as a text message. In another example, if the user is substantially currently using an augmented-reality application, advertisement management server 106 can provide the advertisement to the user in an appropriate augmented-reality format. Advertisement management server 706 can obtain advertisements from third-party entities (not shown).
Computing/cellular networks 704 can include any communication networks that allow a computing device to communicate with a server (e.g. an IP network, mobile telecommunication services—3G, 4G, etc.) on the Internet.
One example of an implementation of the system of
Exemplary touch surfaces include, inter alia, a multi-touch screen, finger-print scanner, touch screen with a capacitance sensor and/or optical sensor (an e.g. infrared sensor) sufficient to obtain an image of a fingerprint and/or measure a finger contact-patch area, devices with sensors integrated in the pixels that can recognize objects placed on the display such as Microsoft's Second-generation Surface (e.g. uses PixelSense technology), and the like.
In step 1004, a user's age group can be determined according to finger contact-patch attributes. For example, various anthropomorphic averages can be utilized to determine an age group of the user. A user's contact-patch attributes can be compared with known anthropomorphic averages of various age groups. A specified number of matches between the two sets can indicate a current user's age. In one example, a deviation from an adult average of a specified value (e.g. half the anthropomorphic average width of the index finger) can be used to determine a child user.
In step 1006, the age-group information is provided to an advertiser such as advertisement management server 706. Additional information, such as the type of application that was active when the contact-patch information was obtained can be provided. Moreover, location information, other sensor data (e.g. from other biometric sensors) can also be obtained and provided to the advertiser.
In another example, other attributes of the finger contact patch can be obtained depending on the touch screen type. For example, if the touch screen includes a capacitance sensor of sufficient resolution, an image of the fingerprint can be obtained. Thus, fingerprint attributes can be utilized to determine the age category of the user. For example, epidermal ridge breadth attributes of a fingerprint can provide user age information.
In step 1104, an age category can be determined based on the measurement of the user's finger touch-contact attribute. A plurality of techniques can be utilized based on the various measurements of the finger touch contact that can be obtained. For example, finger contact-patch size can be used to estimate age (e.g. the various geometric values of an ellipse measured by a touch screen can be correlated to known anthropomorphic averages). The finger contact-patch size can be modified based on such factors as touch pressure, average finger contact-patch size over a number of touches and/or period of time, querying the user for a control finger contact-patch size, finger contact-patch size values associated with repeatable and identifiable operations (e.g. the typing of search engine query input, the typing of text messages, etc.) and the like. As noted above, epidermal ridge breadth attributes of a fingerprint can provide user age information as well.
In one example of process 1100, an average finger contact-patch area of a first user can be measured for a period of time. The average finger contact-patch area can be a general average of all finger touches and/or an average finger contact-patch area associated with a specific user activity such as inputting data into a search engine, typing a text message, activating an application by pressing an icon, etc. Later, a sharp decrease in the average finger contact-patch area can be detected. This decrease can be of a sufficient magnitude to indicate a transition from an adult user to a child user. Accordingly, the age category of the new user can be set to ‘child user’.
In another example of process 1100, a user can be prompted (e.g. when logging in, when creating a user profile, etc.) to press a finger (e.g. index finger, thumb, etc.) flatly against the touch screen. A contact-patch area profile of the adult user (as well as other adult users) can be maintained. Periodically and/or upon certain events (e.g. initializing a web browser application, a mobile phone application, etc.) the system can request a current user to press a finger flatly against the touch screen. For example, a user may want to open a web browser application. The system can request that the user flatly press an index finger against a multi-touch screen. The user's contact-patch area (e.g. modeled as a 2-D ellipse) can be measured and compared to known anthropomorphic averages and an age group of the user determined.
In other examples, user's contact-patch area can be measured while the user it utilizing the touchscreen for other types of input (e.g. while typing on a virtual keyboard, navigating a web page, etc.). In these examples, the known anthropomorphic averages can be based on a similar and/or same type of activity (e.g. an anthropomorphic average for typing on a virtual key-board with virtual buttons of a substantially similar size).
The range of the age category can vary depending on the type of parameters available. It is further noted that two or more techniques for determining an age category of a user can be integrated. Additionally, in some example embodiments, other biometric data can also be utilized to determine an age category. Moreover, various techniques can be utilized to differentiate contact areas sensed by the touch screen that are caused by other objects such as pads of a hand, the side of a hand, a stylus, etc. Furthermore, in some embodiments, the pressure of the object against the touch screen can be estimated and factored into the calculation of the finger contact-patch size. For example, the finger contact-patch size can be increased by a specified value if a light pressure is detected. The value of increase can be related to the pressure value.
In step 1204, an age-appropriate advertisement is determined. For example, an advertiser can maintain a list of advertisements matched with various age groups. In step 1206, the age-appropriate advertisement is provided to a client application in the computing device that provided the user's age-group information. It is noted that, in some embodiments, the advertiser can also use information about a client-side application to format the advertisement. For example, the advertisement can be formatted according to a type of device (e.g. a video protocol for viewing an advertisement video on a mobile device, an augmented-reality protocol, etc.). Steps 1204 and 1206 can be performed algorithmically by server-side utilities accessible via a computer/cellular network.
In one example of determining an age-group of a current user of a touch-screen device a historical mean finger-contact patch area of a historical user of the touch screen system can be calculated. For example, each finger-contact patch area can be measured and stored. These measurements can be divided by the number of finger contacts. The finger contacts can be for fixed number of most recent finger contacts (e.g. last one-hundred (100) finger contacts, last twenty (20) finger contacts, finger contacts for last week, etc.). The finger-contact patch attribute from the current user can be determined to be substantially less than the historical mean finger-contact patch area of the historical user. This can occur when the historical user is an adult user and a toddler becomes the current user. Accordingly, the current user's age group to be set to the child age group. An advertisement to display on a computing device (e.g. a tablet computer) with the touch-screen system can be received. In another example, a video can be received (e.g. a YouTube® video). An age-group appropriate for the advertisement and/or video can be determined (e.g. using a metadata tag in the advertisement file). If the current user in the child-age group, the advertisement and/or video can be blocked/filtered from being displayed on the computing device.
At least some values based on the results of the above-described processes can be saved for subsequent use. Additionally, a computer-readable medium can be used to store (e.g., tangibly embody) one or more computer programs for performing any one of the above-described processes by means of a computer. The computer program may be written, for example, in a general-purpose programming language (e.g., Pascal, C, C++, Java, Python) and/or some specialized application-specific language (PHP, Java Script, XML).
Although the present embodiments have been described with reference to specific example embodiments, various modifications and changes can be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, the various devices, modules, etc. described herein can be enabled and operated using hardware circuitry, firmware, software or any combination of hardware, firmware, and software (e.g., embodied in a machine-readable medium).
In addition, it can be appreciated that the various operations, processes, and methods disclosed herein can be embodied in a machine-readable medium and/or a machine accessible medium compatible with a data processing system (e.g., a computer system), and can be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. In some embodiments, the machine-readable medium can be a non-transitory form of machine-readable medium. Finally, acts in accordance with
This application claims priority to U.S. patent provisional application no. 61/648,890 titled METHOD AND SYSTEM OF PROVIDING AGE-GROUP BASED ADVERTISEMENTS filed on May 18, 2012. This application claims priority to U.S. patent provisional application no. 61/643,049 titled METHOD AND SYSTEM OF SETTING DEVICE STATE ACCORDING TO USER AGE AS DETERMINED BY FINGER CONTACT PATCH ATTRIBUTES filed on May 4, 2012. This application claims priority to U.S. patent provisional application no. 61/656,999 titled METHOD AND SYSTEM FOR GENERATING A CHILD-SAFETY ALERT WITH A MOBILE DEVICE filed on Jun. 7, 2012. This application claims priority to U.S. patent provisional application no. 61/704,516 titled SETTING COMPUTING DEVICE FUNCTIONALITY BASED ON TOUCH-EVENT PROPERTIES filed on Sep. 23, 2012. These provisional applications are hereby incorporated by reference in their entirety.