Touch interpretation for displayed elements

A machine-implemented method for processing touch elements of an application of a device is provided. The method includes receiving application data associated with the application, the application data providing for the touch elements, each of the touch elements comprising an activation area configured to receive a user input and to trigger at least one function of the application upon receiving the user input. The method further includes determining, from the application data, that plural ones of the touch elements are for display in a group in the application; and classifying, in response to the determining, each of the touch elements of the group into two or more categories based on the application function of the touch element. The method further includes defining a size of the activation area for at least one of the touch elements based on the classification.

FIELD

The subject technology generally relates to touch screen devices and, in particular, relates to touch interpretation for elements displayed on a touch screen device.

BACKGROUND

A user device, such as a mobile phone, tablet, or laptop, may utilize a touch sensitive user interface, such as a touch-sensitive screen, to receive user input. The user input may comprise gestures or touch. The device may be configured to launch and run one or more applications or software.

One or more of the applications may include a user interface configured to operate with the touch-sensitive screen. The user interface may include touch elements that are displayed to the user and configured to perform an application function based on user input.

SUMMARY

The disclosed subject matter relates to a machine-implemented method for processing touch elements of an application of a device. The method comprises receiving application data associated with the application, the application data providing for the touch elements, each of the touch elements comprising an activation area configured to receive a user input and to trigger at least one function of the application upon receiving the user input. The method also comprises determining, from the application data, that plural ones of the touch elements are for display in a group in the application. The method also comprises classifying, in response to the determining, each of the touch elements of the group into two or more categories based on the application function of the touch element. The method further comprises defining a size of the activation area for at least one of the touch elements based on the classification.

The disclosed subject matter further relates to a device comprising a touch screen, one or more processors, and a machine-readable medium comprising instructions stored therein, which when executed by the processors, cause the processors to perform operations comprising determining, from application data associated with an application for the device, that a plurality of touch elements are for display in a group in the application, wherein each of the touch elements comprises an activation area configured to receive a user input and to trigger at least one function of the application upon receiving the user input. The operations further comprise classifying, in response to the determining, each of the touch elements of the group into two or more categories based on the application function of the touch element, and defining a size of the activation area for at least one of the touch elements based on the classification. The operations also comprise allocating a portion of the activation area of at least one of the touch elements to another touch element.

The disclosed subject matter also relates to a machine-readable medium comprising instructions stored therein, which when executed by a system, cause the system to perform operations comprising receiving application data associated with an application for a device, the application data providing for multiple touch elements, each of the touch elements comprising an activation area configured to receive a user input. The operations also comprise determining, from the application data, that plural ones of the touch elements are for display in a group in the application. The operations further comprise classifying, in response to the determining, each of the touch elements of the group into two or more categories, and allocating a portion of the activation area of at least one touch element to an adjacent touch element based on the classification.

DETAILED DESCRIPTION

The disclosed subject matter describes systems and techniques for processing touch elements of an application of a touch screen device. Application data associated with the display of multiple touch elements is received. Each of the touch elements has an activation area that is configured to receive a user input, and upon receiving the user input, configured to trigger at least one application function. A determination is made if the application data includes touch elements that are to be displayed in a group. If the application data includes touch elements that are to be displayed in a group, each of the touch elements that are displayed in the group are classified into two or more categories based on a touch element's application function. A size of the activation area of at least one of the touch elements may be defined based on the classification.

FIG. 1illustrates an example of a touch screen device110running an application120. The device110may be a mobile phone, PDA, portable media player, tablet, laptop, or other appropriate computing device, and may utilize a touch sensitive user interface, such as a touch-sensitive screen, to receive user input160. The touch screen of the device110may be built into the device itself, or can be electronically connected to the device (e.g., as a peripheral device). The user input160may comprise gestures or touch. In some example aspects, the device110may be any machine with appropriate hardware/software to launch and run one or more applications120or software.

One or more of the applications120may include application data comprising a graphical user interface. The application120may thus, be configured to receive user input160using the graphical user interface and the touch-sensitive screen. The application's120graphical user interface may include touch elements130that are displayed to the user and configured to trigger an application function based on user input160. The touch elements130may also be displayed in a cluster or a group150, as discussed further below.

FIG. 2Aillustrates an example of a group150of touch elements130a-e. Each touch element130a-ehas an activation area170. For example, in the group150, each touch element130a-ehas an activation area larger than 48×48 pixels. The activation area170is generally outlined by a border140, which can assist the user in ascertaining the boundaries of the activation area170of each touch element130a-e. The user may, therefore, activate a touch element130a-eby touching a region on the touch-sensitive screen that is within the corresponding activation area170of the touch element130a-e, as defined by the border140. Activation of the touch element130a-ecauses the application to perform the corresponding application function.

A touch element130a-emay be associated with one or more application functions. For example, a touch element130a-eassociated with a web browsing application120may be configured to refresh a web page, open a new tab, close a displayed tab, add a bookmark, minimize the application, navigate within a website, move forward or backward within a tab, or exit the application.

Touch elements130a-ethat are displayed in a group150on the touch screen of the device110, may be arranged in close proximity to each other, as shown inFIGS. 2A-2D. Because of the proximity of neighboring touch elements, the user may accidentally or inadvertently cause an adjacent or neighboring touch element to be activated. If the accidentally activated touch element causes the application to perform a destructive function, e.g., delete, close, exit, or an action that a user may want to “undo,” then the user may lose data that the user did not otherwise intend to lose.

According to various aspects of the subject technology, a system for reducing the occurrence of inadvertent activation of a touch element130a-eis provided. A determination is made if the application data includes touch elements130a-ethat are to be displayed in a group150. If the application data includes touch elements130a-ethat are to be displayed in a group150, each of the touch elements130a-ethat are displayed in the group are classified into two or more categories based on a touch element's corresponding application function. If a touch element's corresponding application function involves a destructive function, then the size of the activation area170of at least one of the touch elements may be defined based on the classification.

FIGS. 2B-2Dillustrate an example of a group150of touch elements130a-ehaving an altered activation area. As discussed above, the application120may comprise application data having a graphical user interface that includes a group150of touch elements130a-ethat is displayed on the touch screen of the device110.

In example aspects, the application120may be configured to determine if the application data includes a group150of touch elements130a-e. In another example, the device110may be configured to determine if the application data includes a group150of touch elements130a-e. In determining that the application data includes a group150of touch elements130a-e, the application120or the device110may classify each of the touch elements130a-edisplayed in the group150into two or more categories based on the corresponding application function of each touch element130a-e.

In one example, the application120or the device110may classify all the touch elements130a-edisplayed in the group150into a low priority category and a high priority category. Priority of the touch elements130a-emay be based on a frequency of use. The application120or the device110may, therefore, be configured to monitor the user input160to determine which touch elements130a-eare more frequently used. Those touch elements130a-ethat are frequently used are given the high priority, while those touch elements130a-ewhich are seldom used are given the low priority classification.

In another example, the application120or the device110may classify all the touch elements130a-edisplayed in the group150as either destructive (e.g., delete, close, exit, or those functions which the user may want to “undo”) or non-destructive touch elements. For example, referring toFIG. 2B, the group150includes touch element130afor maximizing the view of the application120, touch element130bfor exiting the application120, touch element130cfor viewing the settings of the application120, touch element130dfor adding favorites to the application, and touch element130efor minimizing the view of the application120. The application120or the device110may classify the touch elements130a,130c,130d, and130eassociated with maximizing the view of the application120, viewing the settings of the application120, adding favorites to the application120, and minimizing the view of the application120, as non-destructive touch elements133. The application120or the device110may classify the touch element130bassociated with exiting the application120as a destructive touch element135.

Touch elements130a-ethat are classified as destructive or low priority135may be interpreted differently than touch elements that are classified as non-destructive or high priority133. For example, the size of the activation area of the touch elements may be defined based on the classification of the touch elements130a-e. Referring toFIG. 2B, an activation area180of the destructive or low priority touch element135may be reduced, while an activation area190of adjacent non-destructive or high priority touch elements133may be increased. By reducing the activation area180of the destructive or low priority touch element135, inadvertent activation of the destructive or low priority touch element135may be reduced, particularly in circumstances where the destructive or low priority touch element135is adjacent to one or more non-destructive or high priority touch elements133, such as touch elements130aand130c.

The reduced activation area180of the destructive or low priority touch element135, is defined by a border185that is not displayed to the user. The increased activation area190of the non-destructive or high priority touch element, is defined by a border195that is not displayed to the user. Original border140, which remains unchanged, is displayed to the user. In other words, each touch element130a-eis surrounded by the same displayed border140, as is shown inFIG. 2A, regardless of the size of the touch element's corresponding activation area.

The activation area180of the destructive or low priority touch element135may be reduced from 48×48 pixels to 40×40 pixels. The activation area180, however, is not limited to this size and may comprise other sizes. To further reduce the likelihood that the destructive or low priority touch element135may be inadvertently activated, the reduced activation area180may comprise an area of the touch element135that is furthest away from the adjacent touch elements133.

One or more portions of the activation area formerly comprising the destructive or low priority touch element135may be reapportioned to one or more adjacent non-destructive or high priority touch elements133. For example, referring toFIG. 2B, the activation area190of two adjacent non-destructive or high priority touch elements130a,130cmay be equally increased. Accordingly, the activation area190may include a five-sided shape having a 45 degree angle at one corner. The activation area190, however, is not limited to this size or shape and may comprise other sizes and shapes.

For example, referring toFIG. 2C, a first activation area220of a first adjacent non-destructive or high priority touch element130amay be larger than a second activation area210of a second adjacent non-destructive or high priority touch element130c. The first activation area220may be defined by a border225and the second activation area210may be defined by a border215. The first activation area220may include a four-sided shape and the second activation area210may include a6sided-shape. The first and second activation areas220,210however, are not limited to this size or shape and may comprise other sizes and shapes.

In example aspects, the activation area formerly comprising the destructive or low priority touch element135may be reapportioned to adjacent non-destructive or high priority touch elements133based on an allocation priority. For example, each touch element130a-edisplayed in the group150may be prioritized based on its corresponding application function. Destructive touch elements135may be given the lowest allocation priority, while touch elements associated with common application functions may be given the highest allocation priority. Touch elements which perform other, less-common, application functions may be given an intermediate allocation priority. By allocating the activation area formerly comprising the destructive or low priority touch element135to adjacent non-destructive or high priority touch elements133based on the allocation priority, the likelihood of inadvertently activating a seldom used touch element may be reduced.

For example, referring toFIG. 2C, the activation area220may be associated with a touch element having a common application function, while the activation area210may be associated with a touch element having a less-common application function. Accordingly, a larger proportion of the activation area formerly comprising the destructive or low priority touch element135is reapportioned to the activation area220, while a smaller proportion of the activation area formerly comprising the destructive or low priority touch element135is reapportioned to the activation area210. Therefore, the touch element associated with the common application function has a larger activation area220than the touch element associated with the less-common application function having a smaller activation area210, and both the activation areas220,210of the touch elements130a,130care larger than the activation area180of the touch element130b.

In example aspects, the activation area formerly comprising the destructive or low priority touch element135may not be reapportioned to adjacent touch elements133. For example, referring toFIG. 2D, the activation area230formerly comprising the destructive or low priority touch element135may simply be “dead” and be unassociated with any touch elements130a,130e. In this example, the destructive or low priority touch element135may have the activation area180and the adjacent non-destructive or high priority touch element130amay have the activation area170.

The user may activate the destructive or low priority touch element135by touching an area within the reduced activation area180. If the user touches an area that is within the border140of the destructive or low priority touch element135, but adjacent to the non-destructive or high priority touch elements133, then the area touched will likely belong to the adjacent non-destructive or high priority touch elements133even though the area touched may be within the border140of the destructive touch element135. Inadvertent activation of the destructive or low priority touch element135is thus prevented. If, however, the user touches an area of the reduced activation area180, then the destructive or low priority touch element135will be activated.

FIG. 3illustrates an example distributed network environment which can provide for processing touch elements of an application of a device. A network environment300includes a number of electronic devices302-306communicably connected to a server310by a network308. Each of electronic devices302-306can include a touch screen, which can be built into the device itself or can be electronically connected to the device (e.g., as a peripheral device). Server310includes a processing device312and a data store314. Processing device312executes computer instructions stored in data store314, for example, to provide content (e.g., application data, a website, or other display content) to any of electronic devices302-306.

In some example aspects, each of the electronic devices302-306may be any machine with appropriate hardware/software to process touch elements of an application of a device. Electronic devices302-306can be mobile devices (e.g., smartphones, tablet computers, PDAs, and laptop computers), portable media players, desktop computers or other appropriate computing devices. In the example ofFIG. 3, electronic device302is depicted as a smartphone, electronic device304is depicted as a desktop computer, and electronic device306is depicted as a tablet computer.

In some example aspects, any of the electronic devices302-306may obtain application data and content corresponding to the application data can be displayed on a touch screen of the electronic device (e.g.,302-306). The content corresponding to the application data can include a graphical user interface. The content can also include text (e.g., a document, an article, etc.) or a web link. Of course, other types of content can also be obtained. In some example aspects, the content can be transmitted from server310via the network308to the electronic devices302-306. In other example aspects, the content can be stored in a storage component (e.g., hard disk, RAM, ROM, etc.) of the respective electronic devices302-306.

Server310may be any system or device having a processor, a memory, and communications capability for providing content to the electronic devices. In some example aspects, server310can be a single computing device such as a computer server. In other embodiments, server310can represent more than one computing device working together to perform the actions of a server computer (e.g., cloud computing).

Network308can include, for example, any one or more of a cellular network, a satellite network, a personal area network (PAN), a local area network (LAN), a wide area network (WAN), a broadband network (BBN), the Internet, and the like. Further, the network308can include, but is not limited to, any one or more of the following network topologies, including a bus network, a star network, a ring network, a mesh network, a star-bus network, tree or hierarchical network, and the like.

FIG. 4illustrates an example process by which an activation area is modified on a touch screen device. Following start block400, application data is obtained on the device at step402. The application data can correspond to a graphical user interface having a plurality of touch elements.

At step404, the graphical user interface corresponding to the application120is displayed on a touch screen of the device. At decision step406, an inquiry is made as to whether the application data includes touch elements that are to be displayed in a group.

If the answer to the inquiry at decision step406is no, the process ends at end block412. For example, if the application data does not include touch elements that are to be displayed in a group, the process can refrain from altering the size of the activation area of the touch elements.

If the answer to the inquiry at decision step406is yes, then at decision step408, an inquiry is made as to whether the group includes a destructive touch element, that is, a touch element that is configured to delete, close, exit, or perform an action that a user may want to “undo.”

If the answer to the inquiry at decision step408is no, the process ends at end block412. For example, if the application data does not include a destructive touch element, the process can refrain from altering the size of the activation area of the touch elements.

If the answer to the inquiry at decision step408is yes, then at step410the activation area for the destructive touch element is reduced. The activation area of adjacent, non-destructive touch elements may be increased. By reducing the activation area of the destructive touch element, the likelihood of inadvertent activation of the destructive touch element may be reduced. Although the activation area for the touch elements may be altered, a border surrounding each touch element that is displayed to the user, remains unchanged.

One or more portions of the activation area formerly comprising the destructive touch element may be reapportioned to one or more adjacent non-destructive touch elements. Alternatively, the activation area formerly comprising the destructive or low priority touch element may not be reapportioned to adjacent touch elements, such that dead space may be present between the destructive touch element and the non-destructive touch elements.

The user may activate the destructive touch element by touching an area within the reduced activation area. If the user touches an area that is within the border of the destructive touch element, but adjacent to the non-destructive touch elements, then the area touched will likely belong to the adjacent non-destructive touch elements even though the area touched may be within the border of the destructive touch element. Inadvertent activation of the destructive touch element is thus prevented. The process then ends at end block412.

FIG. 5conceptually illustrates an electronic system with which some implementations of the subject technology are implemented. Electronic system500can be a computer, phone, PDA, or any other sort of electronic device. Such an electronic system includes various types of computer readable media and interfaces for various other types of computer readable media. Electronic system500includes a bus508, processing unit(s)512, a system memory504, a read-only memory (ROM)510, a permanent storage device502, an input device interface514, an output device interface506, and a network interface516.

Bus508collectively represents all system, peripheral, and chipset buses that communicatively connect the numerous internal devices of electronic system500. For instance, bus508communicatively connects processing unit(s)512with ROM510, system memory504, and permanent storage device502.

ROM510stores static data and instructions that are needed by processing unit(s)512and other modules of the electronic system. Permanent storage device502, on the other hand, is a read-and-write memory device. This device is a non-volatile memory unit that stores instructions and data even when electronic system500is off. Some implementations of the subject disclosure use a mass-storage device (such as a magnetic or optical disk and its corresponding disk drive) as permanent storage device502.

Other implementations use a removable storage device (such as a floppy disk, flash drive, and its corresponding disk drive) as permanent storage device502. Like permanent storage device502, system memory504is a read-and-write memory device. However, unlike storage device502, system memory504is a volatile read-and-write memory, such a random access memory. System memory504stores some of the instructions and data that the processor needs at runtime. In some implementations, the processes of the subject disclosure are stored in system memory504, permanent storage device502, and/or ROM510. For example, the various memory units include instructions for processing touch elements of an application in accordance with some implementations. From these various memory units, processing unit(s)512retrieves instructions to execute and data to process in order to execute the processes of some implementations.

Bus508also connects to input and output device interfaces514and506. Input device interface514enables the user to communicate information and select commands to the electronic system. Input devices used with input device interface514include, for example, alphanumeric keyboards and pointing devices (also called “cursor control devices”). Output device interfaces506enables, for example, the display of images generated by the electronic system500. Output devices used with output device interface506include, for example, printers and display devices, such as cathode ray tubes (CRT) or liquid crystal displays (LCD). Some implementations include devices such as a touch screen that functions as both input and output devices.

Finally, as shown inFIG. 5, bus508also couples electronic system500to a network (not shown) through a network interface516. In this manner, the computer can be a part of a network of computers (such as a local area network (“LAN”), a wide area network (“WAN”), or an Intranet, or a network of networks, such as the Internet. Any or all components of electronic system500can be used in conjunction with the subject disclosure.

All structural and functional equivalents to the elements of the various aspects described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims.