Patent Description:
The following description relates to a user interface (UI) technology.

Various devices such as smart phones, tablets, computers, and the like, include a touch screen instead of a conventional key pad as an intuitive input interface. Some devices have the capability to install and use various types of applications in addition to built-in applications previously installed thereon.

Typically, a user tends to move icons of the most frequently used applications to the top page of a displayed screen or to an easy-to-touch position on the screen. However, because this relocation is manually achieved, the same operation needs to be performed each time applications are added/deleted. In addition, the more applications there are, the more difficult the task of managing the applications.

When a user uses a touch screen to input commands, joints of a human body may become worn down. Such an inputting through a touch provides a user with amusement and convenience, but requires a movement of the fingers and the wrist. In some instances, long hours of use of a touch pad of a device may cause Carpal Tunnel Syndrome.

That is, while mobile terminals provide the portability and the easiness to input commands via a touch screen, stress on the hands and joints of a user may occur due to the finger movement while a user grasps the device with tips of the fingers. Because the touch pads devices such as smart phones and tablet PCs typically require complicated and sophisticated finger movements in comparison to the manipulation of the conventional key pad, such finger movements may exert a significant amount of pressure on fingers and wrist joints. For example, a nerve leading from an arm to a hand may be consistently compressed by ligaments, thereby causing a user to experience numbness or grasping power weakness. In some cases, this state may cause tendons of fingers to be enlarged, leading to a pain each time the fingers move.

Various medical professionals suggest some preventive measures that include reducing the amount of time spent using a mobile terminal and various stretching exercises for joints. However, it is not easy for many users, who rely on the mobile terminals for various functions, to reduce the amount of time that they use a mobile device. In addition, many users are unaware of the risk factors to their health that may occur from prolonged use of a touch screen of a mobile device.

<CIT> discloses a touch input method and apparatus for recognizing and distinguishing finger contact on a touch sensing surface.

<CIT> discloses input habit determination and interface provision systems and methods.

<CIT> discloses a touch screen mobile phone capable of improving key-press input rate.

<CIT> discloses a method and apparatus for displaying graphical user interface depending on a user's contact pattern.

It is therefore the object of the present invention to provide an improved method for providing a dynamic user interface and a corresponding apparatus.

In one general aspect, there is provided an apparatus for providing a dynamic user interface according to claim <NUM>. In another aspect, there is provided a method for providing a dynamic user interface according to claim <NUM>.

Other features and aspects may be apparent from the following detailed description, the drawings, and the claims.

Accordingly, various changes, modifications, of the methods, apparatuses, and/or systems described herein may be suggested to those of ordinary skill in the art. Also, descriptions of well-known functions and constructions may be omitted for increased clarity and conciseness.

<FIG> illustrates an example of a terminal.

Referring to <FIG>, terminal <NUM> may be a device such as a Portable Multimedia Players (PMP), Personal Digital Assistants (PDA), a smart phone, a tablet, a computer, an MP3 Player, a home appliance, a television, and the like. A user may use the terminal <NUM> by touching a display screen of the terminal <NUM>. For example, the terminal <NUM> may include a touch screen <NUM> and a user interface (UI) providing unit <NUM>.

A graphical object <NUM> is displayed on the touch screen <NUM>. For example, the graphical object <NUM> may be a function button or a shortcut icon that is used to operate the terminal <NUM> or an application that is installed on the terminal <NUM>. A user of the terminal <NUM> may execute an application or may control functions of the application by touching the graphical object <NUM> that is displayed on the touch screen <NUM>.

The UI providing unit <NUM> may control a graphical effect of the touch screen <NUM> such that the graphical object <NUM> is displayed on a predetermined region of the touch screen <NUM>. For example, the UI providing unit <NUM> may be formed using a hardware and/or a software scheme inside the terminal <NUM>. That is, while illustrated outside of the terminal <NUM>, the UI providing unit <NUM> may be included in the form of hardware, software, or a combination thereof, within the terminal <NUM>.

The UI providing unit <NUM> may estimate an optimum touch region of the touch screen <NUM> in consideration of physical characteristics of a user who manipulates the touch screen <NUM>. Accordingly, the UI providing unit <NUM> may display the graphical object <NUM> based on the estimated optimum touch region <NUM>. For example, if a user is right-handed, it may be easier for the user to touch a graphical object disposed at a lower right of the touch screen. In this example, the UI providing unit <NUM> may display a frequently used graphical object <NUM> on the lower right of the touch screen <NUM>.

As another example, if a user of the terminal <NUM> repeats the same operation while manipulating the touch screen <NUM>, the UI providing unit <NUM> may activate an alarm or change the arrangement of the graphical object <NUM> to prevent stress from occurring to joints of the user. By activating an alarm or by rearranging the arrangement of the graphical object <NUM>, the UI providing unit <NUM> may cause a manipulation pattern of the user to change, thereby reducing the stress caused on the joints of the user due to repetitive operations.

<FIG> illustrates an example of a dynamic user interface apparatus. For example, one or more of the elements of the dynamic user interface apparatus shown in <FIG> may form the UI providing unit <NUM> shown in <FIG>.

Referring to <FIG>, dynamic user interface apparatus <NUM> includes an acquiring unit <NUM>, an estimation unit <NUM>, a control unit <NUM>, and a storage unit <NUM>.

The acquiring unit <NUM> may acquire touch information about a touch screen of a user. The touch information about a touch screen may represent various types of input information that are provided when a user manipulates a touch screen. For example, the touch information may include a touch position (or coordinates), a number or frequency of touches for each region of the touch screen, a start position and an end position about a continuous touch, a direction and speed of a continuous touch, and the like. In various examples, the continuous touch represents a touch operation that remains in contact with the touch screen from a first touch position to a second touch position. That is, the touch operation may represent a touch operation in which a finger of the user is continuously detected on the touch screen while moving from a first touch position to a second touch position. For example, a drag operation is an example of the continuous touch.

The acquiring unit <NUM> may store the acquired touch information in the storage unit <NUM>. For example, the acquired touch information may be continuously stored in a touch information storage unit <NUM>. The touch information stored in the touch information storage unit <NUM> may serve as basic data that is used to infer a manipulation pattern or physical characteristics of a user.

The acquiring unit <NUM> may acquire execution information about an application that is currently being executed in the terminal or execution information about functions of the application, and may store the acquired execution information in the storage unit <NUM>. For example, the acquired execution information such as execution history of applications may be continuously stored in an execution information storage unit <NUM>. The execution information that is stored in the execution information storage unit <NUM> may serve as basic data that is used to infer a user-preferred application or function, or a frequently used application or function.

In the example of <FIG>, the estimation unit <NUM> includes a first estimation unit <NUM> and a second estimation unit <NUM>. Also, the control unit <NUM> includes a first control unit <NUM> and a second control unit <NUM>.

For example, the first estimation unit <NUM> may estimate the optimum touch region of the touch screen in consideration of physical characteristics of a user. For example, the first estimation unit <NUM> may receive touch information and/or execution information from the acquiring unit <NUM>, and may estimate various characteristics such as a frequently touched region, whether the user is right-handed or a left-handed, a preferred or frequently used graphical object, and the like.

While estimating an optimum touch region in consideration of the physical characteristics, the first estimation unit <NUM> may calculate a predetermined touchability level and generate the optimum touch region based on the calculated touchability level. This example uses two types of touchability levels including a first touchability level and a second touchability level. In this example, the first touchability level is a value that is related to the number or frequency of touches for each region of the touch screen. The second touchability level is a value that is obtained by assigning a predetermined weight to the first touchability level in consideration of the direction of the continuous touch.

Hereinafter, an example of a method of determining the optimum touch region by use of the first touchability level is described.

The first estimation unit <NUM> may divide the touch screen into a plurality of cells and count the number or frequency of touches for each cell. The number of touches represents the number of times a user has touched a predetermined cell over a predetermined period of time. The frequency of touches represents a ratio of the number of touches for a predetermined cell with respect to the total number of touches. For example, a user may touch a touch screen ten times by touching a first cell and a second cell three times and seven times, respectively. In this example, the frequency of touches for the first cell is <NUM>, and the frequency of touches for the second cell is <NUM>.

The first estimation unit <NUM> may calculate the first touchability level for each cell in proportion to the counted number or frequency of touches. For example, the first estimation unit <NUM> may assign a higher first touchablity level to a cell that has a higher number or frequency of touches. For example, the first estimation unit <NUM> may extract cells that have a first touchability level that exceeds a predetermined threshold value, and estimate a set of the extracted cells as an optimum touch region.

Hereinafter, an example of a method of determining the optimum touch region by use of the second touchablity level is described.

If the first touchability level for each region is obtained as described above, the first estimation unit <NUM> may determine cells which are to be assigned weights, based on an average start position and an average end position of a continuous touch. For example, a predetermined weight may be assigned to the first touchability level. The weight may be selectively assigned only to the first touchability level of a cell, which is determined to be assigned the weight, thereby calculating the second touchablity level for each cell. The first estimation unit <NUM> may extract cells that have a second touchability level that exceeds a predetermined threshold value, and estimate a set of the extracted cells as the optimum touch region.

Examples of the calculation of the touchability level and the estimation of the optimum touch region are further described with reference to <FIG>.

If the optimum touch region is estimated by the first estimation unit <NUM>, the first control unit <NUM> may display a graphical object on the optimum touch region. For example, the first control unit <NUM> may display a shortcut icon or a function button of an application that is preferred or frequently used by a user, on the optimum touch region. Information about the application that is preferred or frequently used by a user may be determined based on the execution information that is stored in the execution information storage unit <NUM>.

As described herein, the optimum touch region may be determined in consideration of the physical characteristics of the user, and the graphical object that has a higher user preference may be displayed on the determined optimum touch region, so that the user may more conveniently use various kinds of applications or their functions.

The second estimation unit <NUM> may estimate whether stress is caused on joints of a user due to a touch operation, based on the touch information acquired by the acquiring unit <NUM>. For example, if a user continually touches a predetermined position of the touch screen, the second estimation unit <NUM> may compare the number of touches with a predetermined threshold value, and if the number of touches exceeds the threshold value, the second estimation unit <NUM> may determine that stress is being caused on joints of the user due to the repetitive touch operation.

The second control unit <NUM> may relocate the graphical object that is displayed on the touch screen according to the result of the estimation by the second estimation unit <NUM>, or may activate an alarm. For example, if the user keeps continues to touch a position of the touch screen for more than a predetermined number of times, a graphical object displayed on the corresponding position may be moved to another position, thus causing the user to change the hand and finger position thereby relieving the stress on the joints by inducing a different touch behavior. As another example, the second control unit <NUM> may activate an alarm, thereby signaling the user to perform a different touch gesture.

As described herein, if the same pattern of touch gesture is repeated, the graphical object may be relocated or an alarm may be activated, thereby attempting to relieve the potential stress caused by the user's repetitive touch behaviors.

In <FIG>, the first estimation unit <NUM> and the second estimation unit <NUM> are illustrated as separate modules. However, the configuration of the first estimation unit <NUM> and the second estimation unit <NUM> is not limited thereto. For example, the first estimation unit <NUM> and the second estimation unit <NUM> may be formed of a single module in a software aspect, a hardware aspect, or a combination thereof. Similarly, the configuration of the first control unit <NUM> and the second control unit <NUM> shown as separate modules in <FIG> is not limited thereto, and may be formed of a single module in a software aspect, a hardware aspect, or a combination thereof.

<FIG> and <FIG> illustrate another example of a dynamic user interface apparatus.

In the previous example of the dynamic user interface shown in <FIG>, the estimation unit <NUM> includes the first estimation unit <NUM> and the second estimation unit <NUM>, and the control unit <NUM> includes the first control unit <NUM> and the second control unit <NUM>. However, the dynamic user interface is not limited thereto, and may be implemented using various parts of the above configuration.

For example, the estimation unit <NUM> may include only one of the first estimation unit <NUM> and the second estimation unit <NUM> instead of both. Similarly, the control unit <NUM> may include only one of the first control unit <NUM> and the second control unit <NUM> instead of both.

That is, as shown in <FIG>, the dynamic user interface apparatus may be implemented using the configuration shown in <FIG> without the second estimation unit <NUM> and the second control unit <NUM>. As another example, as shown in <FIG>, the dynamic user interface apparatus may be implemented using the configuration shown in <FIG> without the first estimation unit <NUM> and the first control unit <NUM>.

<FIG> illustrate examples of a method for estimating an optimum touch region.

Referring to <FIG>, the estimation unit (<NUM> in <FIG>) divides the region of a touch screen into cells. In this example, the estimation unit <NUM> divides the touch screen region into cell A<NUM> through A<NUM>. In the example of <FIG>, the cells are equal in size and encompass the entire screen. However, it should be appreciated that the cells may not be the same in size and/or that the cells do not encompass the entire screen.

Then, the acquiring unit (<NUM> in <FIG>) may acquire the number and/or the frequency of touches for each cell, and may convert the acquired number and/or frequency of touches for each cell into a first touchability level. For example, the estimation unit <NUM> may place priorities on each cell based on the number of touches, and may assign a first touchability level to each cell based on the priorities.

For example, in <FIG>, the numbers that are shown in each cell indicate a first touchability levels for each cell. In <FIG>, cell A<NUM> has the highest first touchability level, indicating that cell A<NUM> is the most frequently touched by a user.

After the first touchability level of each cell is calculated, the estimation unit <NUM> may compare the first touchability level with a predetermined threshold value, and may select a cell having a first touchablity level that exceeds the threshold value. For example, if the threshold value is <NUM>, the cells A <NUM>, A <NUM>, A <NUM>, A <NUM>, A <NUM> and A<NUM> are selected. In this example, the cells that have a first touchability level exceeding the threshold value are selected, and the estimation unit <NUM> estimates a region corresponding to the selected cells as the optimum touch region.

As can be seen in <FIG>, the estimation unit <NUM> may estimate a region including the cells A <NUM>, A <NUM>, A <NUM>, A <NUM>, A <NUM> and A<NUM> as the optimum touch region <NUM>.

<FIG> illustrate other examples of a method for estimating an optimum touch region. In <FIG>, a weight is selectively assigned to the first touchability level of each cell to calculate a second touchability level and the optimum touch region is determined based on the second touchability level.

Referring to <FIG> and <FIG>, the estimation unit <NUM> may receive a start position <NUM> and an end position <NUM> of a continuous touch from the acquiring unit <NUM>. The estimation unit <NUM> may calculate the gradient and direction of the continuous touch based on the start position <NUM> and the end position <NUM>, and may store the calculated gradient and direction in the storage unit (<NUM> in <FIG>). In this example, the gradient of the continuous touch is represented by the gradient of a line connecting the start point <NUM> to the end point <NUM>. In this case, the estimation unit <NUM> may record a continuous touch that has a gradient within a predetermined range as a valid continuous touch. For example, because a continuous touch with a gradient approximating <NUM> forms a nearly parallel line, such a continuous touch may not be suitable for being used as a data to determine the direction of continuous touch and may be excluded from valid continuous touches.

The estimation unit <NUM> may classify gradients of the valid continuous touches that are accumulated for a predetermined period of time, into a positive value and a negative value and compile the statistics. For example, if the number of positive values exceeds the number of negative values, the user may be estimated as being right-handed, and if the number of negative values exceeds the number of positive values, the user may be estimated as being left-handed. That is, if the result of statistics on the gradient shows that the number of positive values of gradients is greater, the user may be regarded as a right hander, and if the continuous touch is achieved from the upper left side to the lower right side, that is, a negative value of a gradient is made, the user may be estimated as a left hander.

The estimation unit <NUM> may perform filtering on the continuous touches according to the result of determination of the user being right-handed or left-handed, and calculate an average start position and an average end position of a continuous touch. For example, if the user is a right hander, a continuous touch having a negative value of gradient may be excluded for calculating an average start position and an average end position of continuous touch. The estimation unit <NUM> may generate a line connecting the calculated average start position to the calculated average end position.

For example, as shown in <FIG>, the estimation unit <NUM> acquires an average start position <NUM> and an average end position <NUM> of the valid continuous touches, and generates a line <NUM> that connects the average start position <NUM> to the average end position <NUM>.

The estimation unit <NUM> may determine cells that are disposed along the line <NUM> as weight assigning cells. For example, as shown in <FIG>, the cells A <NUM>, A <NUM>, A <NUM>, A<NUM>, A<NUM>, A <NUM>, A<NUM> and A<NUM> may be determined as weight assigning cells.

If the weight assigning cells are determined, the estimation unit <NUM> may obtain second touchability levels by selectively assigning weights to the first touchability levels, which have been obtained as shown in <FIG>.

For example, it is assumed that a weight is <NUM> as shown in <FIG>, and the weight of <NUM> is multiplied by the first touchability level. In this example, the weight of <NUM> may be multiplied only by a predetermined cell that has been determined as a weight assigning cell. For example, cell A<NUM> has a first touchability level of '<NUM>' and does not correspond to a weight assigning cell. Accordingly, the cell A<NUM> has a second touchability level of '<NUM>'. However, the cell A<NUM> has a first touchability level of '<NUM>' and corresponds to a weight assigning cell. Accordingly, the cell A<NUM> has a second touchability level '<NUM>' with a weight of '<NUM>' assigned thereto. That is, cell A<NUM> has a second touchability level of '<NUM>' by multiplying the first touchability level of '<NUM>' by the weight of '<NUM>.

If the second touchability level is obtained, the estimation unit <NUM> may compare the second touchability level with a predetermined threshold value to estimate the optimum touch region. For example, in <FIG>, if a threshold value is <NUM>, a region including the cells A<NUM>(<NUM>), A<NUM>(<NUM>), A <NUM>(<NUM>), A <NUM>(<NUM>), A <NUM>(<NUM>), A <NUM>(<NUM>), A<NUM>(<NUM>) and A<NUM>(<NUM>) is estimated as the optimum touch region.

It should be appreciated that the method of weighting is not limited to the above example, and may be implemented using various schemes. For example, in addition to the method using a line connecting the average start potion to the average end position, the weighting may be achieved by setting a region of a looped curve including the average start position and the average end position. Also, the threshold value may vary.

<FIG> illustrates an example of a method for providing a dynamic user interface.

Referring to <FIG> and <FIG>, the acquiring unit <NUM> acquires touch information (<NUM>). For example, the touch information may include a touch position (or coordinates), the number and/or frequency of touches for each of regions of the touch screen, a start position and an end position about a continuous touch, the direction and speed of a continuous touch, and the like.

The estimation unit <NUM> estimates the optimum touch region in consideration of physical characteristics of users (<NUM>). As shown in the examples of <FIG>, the estimation unit <NUM> may estimate the optimum touch region based on the frequency of touches and the first touchablity level for each region of the touch screen. As another example, as shown in <FIG> and <FIG>, the estimation unit <NUM> may estimate the optimum touch region based on the frequency of touches for each region of the touch screen, the direction of a continuous touch, and the first touchablity level and the second touchability level.

The control unit <NUM> displays a graphical object on the estimated optimum touch region (<NUM>). For example, the control unit <NUM> may display application icons or function buttons, corresponding to applications that are frequently used or preferred by a user, on the estimated optimum touch region.

As another example, the preference about graphical objects may be mapped to the touchability level in the optimum touch region such that a graphical objet that has a high preference may be disposed on the region that has a high touchability level.

As another example, the graphical object to be disposed on the optimum touch region may be a graphical object related to a recently installed application, in addition to a frequently used graphical object or a preferred graphical object. As another example, the graphical object to be disposed on the optimum touch region may be set manually by a user of the device.

The arrangement of the graphical object disposed on the optimum touch region may be changed in consideration of the physical characteristics of a user such that the user may more conveniently manipulate the graphical object. For example, sliding a predetermined graphical object in one direction is a common way of canceling a holing state of a smart phone. However, if the user is estimated as being right-handed based on the start position and the end position of a continuous touch, the sliding may be set to be achieved from the left side to the right side, and if the user is estimated as being left-handed, the sliding may be set to be achieved from the right side to the left side.

As described herein, a graphical object corresponding to an application that has a high preference to a user may be displayed on an easy-to-use position based on the physical characteristics of the user, thereby improving the convenience for a user using a user interface.

<FIG> illustrates another example of a method for providing a dynamic user interface.

Referring to <FIG> and <FIG>, the acquiring unit <NUM> acquires touch information (<NUM>). For example, the touch information may include a touch position (or coordinates), the number and/or frequency of touches for each of regions of the touch screen, a start position and an end position about a continuous touch, a direction and speed of a continuous touch, and the like.

The estimation unit <NUM> estimates whether stress is caused on joints of a user (<NUM>). For example, the estimation unit <NUM> may divide the touch screen into a plurality of cells and if number of repetitive touches performed by a same touch behavior exceeds a predetermined threshold value, the estimation unit <NUM> may estimate that a stress is caused on joints of a user.

If a result of estimation in operation <NUM> is that a stress is caused on joints of a user, the control unit <NUM> relocates the graphical object (<NUM>). For example, in <FIG>, if a user repeatedly touches a graphical object on the cell A<NUM> a number of times that exceeds a predetermined threshold value, the control unit <NUM> may move the graphical object that is being displayed on the A<NUM> to another region, for example, the cell A<NUM>, thereby causing the user to change his/her pattern of touch gestures.

As another example, if a result of estimation of operation <NUM> is that a stress is caused on joints of a user, the control unit <NUM> may activate an alarm. The alarm may be an alarming sound or an alarming text that is displayed on the screen.

As described in this example, if an operation causing stress on joints is repeated above a predetermined threshold value, a different touch operation may be induced, thereby enhancing the health of a user.

Program instructions to perform a method described herein, or one or more operations thereof, may be recorded, stored, or fixed in one or more computer-readable storage media. The program instructions may be implemented by a computer. For example, the computer may cause a processor to execute the program instructions. The media may include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable storage media include magnetic media, such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVDs; magneto-optical media, such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The program instructions, that is, software, may be distributed over network coupled computer systems so that the software is stored and executed in a distributed fashion. For example, the software and data may be stored by one or more computer readable storage mediums. Also, functional programs, codes, and code segments for accomplishing the example embodiments disclosed herein can be easily construed by programmers skilled in the art to which the embodiments pertain based on and using the flow diagrams and block diagrams of the figures and their corresponding descriptions as provided herein. Also, the described unit to perform an operation or a method may be hardware, software, or some combination of hardware and software. For example, the unit may be a software package running on a computer or the computer on which that software is running.

As a non-exhaustive illustration only, a terminal/device/unit described herein may refer to mobile devices such as a cellular phone, a personal digital assistant (PDA), a digital camera, a portable game console, and an MP3 player, a portable/personal multimedia player (PMP), a handheld e-book, a portable lab-top PC, a global positioning system (GPS) navigation, a tablet, a sensor, and devices such as a desktop PC, a high definition television (HDTV), an optical disc player, a setup box, a home appliance, and the like that are capable of wireless communication or network communication consistent with that which is disclosed herein.

Claim 1:
An apparatus for providing a dynamic user interface, the apparatus comprising:
an acquiring unit (<NUM>) configured to acquire touch information about a touch screen of a user;
an estimation unit (<NUM>) configured to estimate whether stress is being caused on joints of the user due to repetitive touch operations, comprising:
dividing the entire touch screen into a plurality of cells;
determining whether a number of repetitive touches on a graphical object displayed on a first cell of the plurality of cells exceeds a predetermined value based on the touch information,
wherein the stress is caused if the number of repetitive touches exceeds the predetermined value; and
a control unit (<NUM>) configured to relocate said graphical object to another cell of the plurality of cells of the touch screen, in response to determining that the stress is being caused, to thereby cause the user to change a pattern of the user's touch operation.