Computing devices can perform various functions, such as executing applications stored at the computing device and displaying image content (e.g., documents, e-mails, and pictures) on a screen. Certain computing devices can include a limited access state that prevents a user from accessing applications and information stored at the computing device, thereby effectively “locking” the computing device. For example, some computing devices can enable a user to provide an input to lock the device, or can lock the device after a predetermined amount of time of inactivity of the device.
Such locking techniques can be useful to prevent unintended users from accessing applications or information stored at the computing device. For instance, the computing device can be a mobile computing device, such as a mobile phone, tablet computer, laptop computer, and the like, that can be lost or misplaced. Locking the computing device can prevent an unauthorized user, such as a user who happens to find the lost or misplaced computing device, from accessing information or applications stored at the computing device. As such, the locking techniques can provide a measure of security to ensure that information and applications stored at the computing device can only be accessed by users who know a passcode to unlock the computing device.
Such computing devices typically enable a user to provide the passcode to unlock the computing device and gain access to the applications or information stored at the computing device. If the user provides the correct passcode, the computing device unlocks providing access to the applications or information. Otherwise, the computing device remains in the locked state.
Examples according to this disclosure are directed to transitioning a computing device from a limited access state to a different access state via user interaction with a presence-sensitive display device. In one example, a method includes outputting, for display, an array of objects surrounding an icon, wherein the icon indicates a limited access state of the computing device, receiving, at the computing device when the computing device is in the limited access state, an indication of a user input received at a presence-sensitive input device, the user input to activate a plurality of objects in the array of objects surrounding the lock icon, and transitioning the computing device from the limited access state to an access state responsive to the indication of the user input.
In another example, a computing device includes one or more processors and a presence-sensitive input device. The one or more processors are operable to output, for display, an array of objects surrounding an icon, wherein the icon indicates a limited access state of the computing device, receive, at the computing device when the computing device is in the limited access state, an indication of a user input received at the presence-sensitive input device, the user input to activate a plurality of objects in the array of objects surrounding the lock icon, and transition the computing device from the limited access state to an access state responsive to the indication of the user input.
In another example, a computer-readable storage medium includes instructions that, if executed by a computing device having one or more processors operatively coupled to a presence-sensitive display, cause the computing device to perform operations including outputting, for display, an array of objects surrounding an icon, wherein the icon indicates a limited access state of the computing device, receiving, at the computing device when the computing device is in the limited access state, an indication of a user input received at a presence-sensitive input device, the user input to activate a plurality of objects in the array of objects surrounding the lock icon, and transitioning the computing device from the limited access state to an access state responsive to the indication of the user input.
The details of one or more aspects of this disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.
Examples described in this disclosure relate to techniques that can enable a computing device (e.g., a computing device including and/or operatively coupled to a touch- and/or presence-sensitive display) to receive user inputs when the computing device is in a limited access state (e.g., a “locked” state). In the limited access state, the computing device can deny access to one or more applications and information stored at the computing device. User inputs received at the computing device can designate one or more objects displayed at the presence-sensitive display as elements of a candidate passcode or credential. In some implementations, the computing device can transition from the locked state to an access/default state (e.g., an “unlocked” state) based at least in part on the user inputs.
In examples according to this disclosure, a presence-sensitive display device of a computing device outputs an icon and/or other visual indicia indicating that the computing device is in a locked or otherwise limited access state and an array of objects surrounding the lock icon. For example, a display of a mobile phone that is locked can present an icon in the center of the screen that visually indicates that the phone is in a locked state, such as an icon that looks like a padlock surrounded by a circle. In addition to a “lock icon,” in whatever particular form such an icon is displayed, the display of the mobile phone can output a visual cue that indicates to users a particular gesture can be used to unlock the phone. Examples of the unlock gesture cue will be described below.
In some implementations, the mobile phone display can also output an array of objects with which a user can interact to unlock the phone. In one example, the array of objects can be an array of dots that surround the lock icon and are arranged in one of a variety of different geometric configurations. For example, an array of dots can be arranged as a series of concentric circles that surround the padlock icon and are centered generally at a center of the icon or the circle surrounding the icon. This array of dots that form the series of concentric shapes (e.g., circles and/or other closed shapes such as ellipses, ovals, rectangles or squares, or irregular closed shapes) radiating outward from the lock icon can be referred to as a “light field,” as the shapes can appear on the display as an array of point light sources forming a field around the centrally-located lock icon. In an example according to this disclosure, a computing device may be configured to transition from a limited access state to a access state responsive to detecting a user input corresponding to a swipe across the touch-sensitive display of the computing device along a path beginning near the padlock icon, across the light field, and ending at the periphery of the light field, e.g., at the circle farthest from the icon.
The mobile phone (or other computing device including or coupled to a touch-sensitive display) can also be configured to provide visual feedback to the user as the user swipes across the touch-sensitive display of the phone. In such examples, the mobile phone can optionally not alter the output of the touch-sensitive display to cause the lock icon to appear to be dragged across the display along with the user swipe. In one example, however, the mobile phone can be configured to alter the appearance of the array of dots arranged as concentric circles surrounding the padlock icon to indicate activation of one or more of the dots by the user. For example, without any tactile input from a user, the touch-sensitive display of the mobile phone can generate the array of dots as completely transparent such that the dots are not visible to a user on the display of the mobile phone. Thus, while the display of the mobile phone has generated and output the array of dots arranged as concentric circles such that they are objects on the display that can be activated by a user, the dots are not visible until some tactile input is received from a user at the touch-sensitive display. Upon activation of any of the dots, e.g., as the user swipes across the touch-sensitive display, the touch-sensitive display of the mobile phone can increase the opacity of the activated dot(s) and neighboring dots based on the proximity of the user input such that the affected dots appear visually to the user on the display in conjunction with the user input and then again disappear after the user, e.g., swipes past each dot on a path radially out from the lock icon.
In another example, without any tactile input from a user, the touch-sensitive display of the mobile phone can present the array of dots arranged as concentric circles in a faded or light-colored appearance such that the dots are relatively visually deemphasized relative to other objects presented on the display like the padlock icon. However, upon activation of any of the dots, e.g., as the user swipes across the touch-sensitive display, the touch-sensitive display of the mobile phone can present the activated dot(s) and neighboring dots in a non-faded or darker colored appearance such that the dots are visually emphasized relative to the other non-activated dots in the array surrounding the padlock icon.
In another example, sets of dots in the array of dots are associated with one another such that user interaction with one dot in a set causes a visual response from all of the dots in the set. For example, all the dots arranged in each concentric circle can be associated with one another such that user interaction with one dot of one of the circles causes a visual response from all of the dots in the circle. For example, without any tactile input from a user, the touch-sensitive display of the mobile phone can present the array of dots arranged as concentric circles in a faded or light-colored appearance such that the dots are relatively visually deemphasized relative to other objects presented on the display like the padlock icon. However, upon activation of any of dot of one of the circles, e.g., as the user swipes across the touch-sensitive display, the touch-sensitive display of the mobile phone can present all of the dots of the circle (and, in some cases, the dots of neighboring circles) in a non-faded or darker colored appearance such that the dots of the circles are visually emphasized relative to the other non-activated dots of other circles in the array surrounding the padlock icon. The visual effect of such an example as a user swipes across the touch-sensitive display of the mobile phone along a path beginning at the padlock icon and ending at the surrounding circle farthest from the icon can be the appearance of a “wave” of visual emphasis that radiates out from the innermost to the outermost circle surrounding the padlock icon.
Display 4 can be a liquid crystal display (LCD), e-ink, organic light emitting diode (OLED), or other display. Display 4 can present the content of computing device 2 to a user. For example, display 4 can display the output of applications executed on one or more processors of computing device 2, confirmation messages, indications, or other functions that can need to be presented to a user. In some examples, display 4 can provide some or all of the functionality of a user interface of computing device 2.
In examples according to this disclosure, display 4 can be a presence-sensitive display like, e.g., a touch-sensitive or proximity sensitive display device that is configured to facilitate user interaction with computing device 2. For example, display 4 can present a user with various functions and applications of computing device 2 like an address book stored on the device, which includes a number of contacts. In another example, display 4 can present the user with a menu of options related to the function and operation of computing device 2, including, e.g. device settings such as ring tones and phone modes, e.g. silent, normal, meeting, and other configurable settings for a phone in examples in which computing device 2 is a mobile phone. In examples according to this disclosure, display 4 presents users with a visual indication that computing device 2 is in a limited access or locked state and a mechanism by which users can transition from the locked state to a full access state.
In the example of
As illustrated in
In some examples, access module 6 can configure each dot in each circle in the series of concentric circles 12a-12f as one of the objects in the array of objects 12 output at display 4. The array of dots that form the series of concentric circles 12a-12f radiating outward from lock icon can be referred to as a “light field,” as they can appear on display 4 as an array of point light sources forming a field around the centrally located padlock icon.
As illustrated in
It should be noted that although the examples described in this disclosure illustrate a swipe gesture employing one finger of a user's hand, other gestures can also be employed to unlock a computing device. For example, a multi-finger swipe gesture can be employed to unlock computing device 2. In another example, a non-continuous gesture can be employed including taping lock icon 10 and then tapping or swiping through one or more of the dots in the array of objects 12. For example, the user can tap lock icon 10 and then tap a dot(s) in each of the concentric circles 12a-12f in order from closest to farthest from the center of icon 10. Additionally, in one example, concentric circles 12a-12f (or other closed shapes) surrounding lock icon 10 can be ordered, e.g. in a predetermined order of numbers or letters and a user can unlock computing device 2 by tapping lock icon 10 to initiate the process and then tapping a particular order of dot(s) in circles 12a-12f. Such an unlock process is analogous to unlocking a combination padlock, in which the user taps lock icon 10 and then must tap a dot or dots in a number of circles 12a-12f in a predetermined order or in which the user taps lock icon 10 and then must swipe to through a dot or dots in each of a number of circles 12a-12f in a predetermined order as part of a continuous swipe gesture.
The dots of circles 12a-12f are illustrated in
The example process by which a user can unlock computing device 2 including display 4 and access module 6 shown in
In the example of
In
After the user executes a continuous horizontal swipe gesture from lock icon 10 to or near one or more dots at a target ending location on display 4, e.g. one or more dots arranged in the last circle 12f in the series of concentric circles 12a-12f, access module 6 can transition computing device 2 from a locked limited access state to a full access state. Additionally, access module 6 can successively can cause display 4 to increase the opacity of dots arranged as concentric circles 12a-12f based on the proximity of the user input to the dots such that the affected dots appear visually to the user on display 4 in conjunction with the user input and then again disappear after the user, e.g., swipes past each dot on a path radially out from lock icon 10.
Another example process by which a user can unlock computing device 2 and access module 6 can cause display 4 to provide visual feedback in response to user input from the user to unlock the device is illustrated in
In the example of
In
For example, without any tactile input from a user activating one or more of the dots arranged as circles 12a-12f, display 4 of computing device 2 can generate the array of dots 12 arranged as concentric circles 12a-12f in a partially transparent, faded or light-colored appearance such that the circles are relatively visually deemphasized relative to other objects presented at display 4 like icon 10. However, upon activation of any of the dots in the circles, e.g., as the user swipes across display 4, display 4 can present activated dot(s) and neighboring dots or an entire circle in a non-faded or darker colored appearance such that the activated circle is visually emphasized relative to the other non-activated circles surrounding lock icon 10. For example, as illustrated in
The user swipe gesture continues from
After the user executes the continuous horizontal swipe gesture illustrated in FIGS. 1 and 3A-3C, beginning near lock icon 10 and ending at or beyond the last circle 12f in the series of concentric circles 12a-12f, access module 6 can transition computing device 2 from a locked limited access state to a full access state. The user of computing device 2 can then begin using various functions of the device.
Although the example of
As noted above, although objects 12 of
In general, the modules of access module 6 are presented separately for ease of description and illustration. However, such illustration and description should not be construed to imply that these modules of access module 6 are necessarily separately implemented, but can be in some examples. For instance, one or more of the modules of access module 6 can be formed in a common hardware unit. In some instances, one or more of the modules of access module 6 can be software and/or firmware units that are executed on one or more processors 62. In this example, one or more processor 62 can execute access module 6. In yet other examples, some of the modules with access module 6 can be implemented as one or more hardware units, and the others can be implemented as software executing on one or more processors 62. Additionally, in other examples, the functions attributed to access module 6 can be distributed among a different number of modules than that illustrated in the example of
As discussed above, display 4 can present the content of computing device 2 to a user. In addition, in some examples, display 4 can provide some or all of the functionality of a user interface of computing device 2. For example, display 4 can be a touch-sensitive display that can allow a user to provide user gestures such as touch gestures, motion gestures, or other gestures. In certain examples, display 4 can be operatively coupled to computing device 2, but can be physically remote from computing device 2. For instance, display 4 can be a separate display that is electrically or communicatively coupled to computing device 2. As an example, computing device 2 can be a desktop computer and display 4 can be part of a tablet computer that is communicatively coupled to computing device 2, such as by a universal serial bus (USB) connection or other connection to enable communications between display 4 and computing device 2.
User interface 60 can allow a user of computing device 2 to interact with computing device 2. Examples of user interface 2 can include, but are not limited to, a keypad embedded on computing device 2, a keyboard, a mouse, a roller ball, buttons, or other devices that allow a user to interact with computing device 2. In some examples, computing device 2 may not include a separate user interface 60, and the user can interact with computing device 2 completely via display 4 (e.g., by providing various user gestures). In some examples, the user can interact with computing device 2 with user interface 60 or display 4.
Processors 62 can include any one or more of a microprocessor, a controller, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or equivalent discrete or integrated logic circuitry. Processors 62 can be configured to implement functionality and/or process instructions for execution within computing device 2. For example, processors 62 can be capable of processing instructions stored at one or more storage devices 64. In some examples, logic represented by access module 6 and the modules thereof can be executed by processors 62.
Storage devices 64 can include any volatile, non-volatile, magnetic, optical, or electrical media, such as a hard drive, random access memory (RAM), read-only memory (ROM), non-volatile RAM (NVRAM), electrically-erasable programmable ROM (EEPROM), flash memory, or any other digital media. Storage devices 64 can, in some examples, be considered as a non-transitory storage medium. In certain examples, storage devices 64 can be considered as a tangible storage medium. The terms “non-transitory” and “tangible” can indicate that the storage medium is not embodied in a carrier wave or a propagated signal. However, the term “non-transitory” should not be interpreted to mean that storage devices 64 are non-movable. As one example, storage devices 64 can be removed from computing device 2, and moved to another device. As another example, a storage device, substantially similar to storage devices 64, can be inserted into computing device 2. Additionally, a non-transitory storage medium can store data that can, over relatively short periods of time, change (e.g., in RAM).
In some examples, storage devices 64 can store instructions that cause processors 62, access module 6, access initiation module 50, element presentation module 52, gesture determination module 54, and access state module 58 to perform various functions ascribed to processors 62, access module 6, access initiation module 50, element presentation module 52, gesture determination module 54, and access state module 58. Storage devices 64 can be considered as a computer-readable storage media comprising instructions that cause processors 62, access module 6, access initiation module 50, element presentation module 52, gesture determination module 54, and access state module 58 to perform various functions.
Transceiver 68 can be configured to transmit data to and receive data from one or more remote devices, such as one or more server devices remote from computing device 2, or other devices. Transceiver 68 can support wireless or wired communication, and can include appropriate hardware and software to provide wireless or wired communication. For example, transceiver 68 can include one or more of an antenna, modulators, demodulators, amplifiers, and other circuitry to effectuate communication between computing device 2 and one or more remote devices.
Computing device 2 can include additional components not shown in
Access initiation module 50 can output a graphical user interface (GUI) at display 4 when computing device 2 is in a full access state (e.g., an unlocked state) to enable a user to configure a predetermined gesture that authorizes computing device 2 to transition computing device 2 from a limited access state (e.g., a locked state) to the full access state when properly entered by the user. For example, access initiation module 50 can allow the user to prescribe the path along which a swipe gesture beginning at or near a lock icon and ending at the closed shape in a series of closed shapes that is arranged farthest away from the lock icon is executed. For example, access initiation module 50 can enable the user of computing device 2 to specify the direction of a straight swipe path like horizontal path 14 of
Element presentation module 52 can cause display 4 to display a lock icon indicating computing device 2 is in a limited access state configured to deny access to one or more applications executable by computing device 2 and an array of objects surrounding the lock icon at activation area 8 of display 4. In one example, element presentation module 52 causes display 4 to display lock icon 10, which includes a graphical representation of a combination padlock surrounded by a circle. Element presentation module 52 also causes display 4 to generate, and, in some cases, display an array of dots or other objects arranged as a series of concentric circles 12a-12e radiating outward from the center of lock icon 10 in order of increasing diameter of each circle in the series of circles. In other examples according to this disclosure, however, element presentation module 52 causes display 4 to generate and, in some cases, display objects surrounding a lock icon arranged in other non-circular closed shapes, including, e.g., ellipses, ovals, rectangles, squares, or other polygons, or irregular closed shapes.
Element presentation module 52 can cause display 4 to display the array of objects surrounding lock icon in a variety of formats, including, e.g., causing display 4 to display the closed shapes radiating outward from icon 10 in a number of different colors and/or levels of transparency/opacity. Additionally, element presentation module 52 can cause display 4 to alter the appearance of objects presented on the display depending on user interaction with the objects. For example, element presentation module 52 can cause display 4 to present the array of dots arranged as concentric circles 12a-12f in a faded or light-colored appearance such that the array of objects are relatively visually deemphasized relative to other objects presented on display 4 like icon 10 when gesture determination module is not detecting any indications of user input activating a portion of one or more of circles 12a-12f. However, upon activation of any of the dots in one of the circles, element presentation module 52 can cause display 4 to present a activated circle in a non-faded or darker colored appearance such that the activated circle is visually emphasized relative to the other non-activated circles surrounding lock icon 10.
In another example, element presentation module 52 can cause display 4 to generate the array of dots arranged as circles 12a-12f as completely transparent such that the dots and circles are not visible on the display. However, upon activation of any of circles 12a-12f, e.g., as the user swipes across the touch-sensitive display, element presentation module 52 can cause touch-sensitive display 4 to increase the opacity of the dots activated by the user as well as neighboring dots based on the proximity of the user input to each dot such that the affected dots appear visually to the user on the display in conjunction with the user input and then again disappear after the user, e.g., swipes past each circle radiating out from lock icon 10 along swipe path 14.
As noted above, in some examples according to this disclosure sets of objects displayed at display 4 can be associated with one another such that user interaction with one object in a set causes a visual response from all of the dots in the set. For example, all the dots arranged in each concentric circle of circles 12a-12f can be associated with one another such that user interaction with one dot of one of circles 12a-12f causes a visual response from all of the dots in the circle. For example, without any tactile input from a user, display 4 of device 2 can present the array of dots arranged as concentric circles 12a-12f as completely transparent such that the dots are not visually detectable at display 4. However, upon activation of any dot of one of the circles, e.g., as the user swipes across the touch-sensitive display, display 4 can alter the appearance of all of the dots of the circle (and, in some cases, the dots of neighboring circles) such that the circle(s) are only partially transparent or completely opaque and therefore visually detectable at display 4.
An example of the visual appearance of the foregoing examples is illustrated in
Element presentation module 52 can vary the opacity of the dots that make up circles 12a-12f or other objects in an array of objects based on the proximity of the dots to the user input received at display 4 based on a number of different parameters. For example, the opacity can increase when the user input is closer to the location of the dots on display 4 and can gradually decrease for dots further from the input location until, past a threshold distance, element presentation module 52 generates the dots as completely transparent. Other parameters that can be used by element presentation module 52 as a basis to vary the opacity of the dots that make up circles 12a-12f or other objects in an array of objects include, e.g., the duration of the user input gesture, the speed of the gesture, the distance of a particular fixed location, e.g. from the center of circles 12a-12f and lock icon 10, as well as the pressure exerted by the user on touch-sensitive display 4.
The manner by which element presentation module 52 causes display to generate and display the array of objects 12 surrounding lock icon 10, including the array of dots arranged as circles 12a-12f can vary across different examples according to this disclosure. In one example, element presentation module 52 can calculate a grid of dots to be generated and, in some examples, displayed at display 4. The grid of dots can correspond to the plurality of dots making up concentric circles 12a-12f radiating out from lock icon 10. In one example, there are a fixed number of dots on inner circle 12a (sometimes referred to below as “INNER_POINTS”), which, in one example, can be 8 dots. In one example, element presentation module 52 calculates the grid of dots one time, e.g. when computing device 2 is powered on, and then reuses the grid unmodified each time it is appropriate depending on the operational state of computing device 2.
In one example, element presentation module 52 can compute the arc length between dots on inner circle 12a and reuse that spacing to compute the distance between each dot for each successive circle 12b-12f radiating out from lock icon 10. In one example, the arc length between dots on inner circle 12a can also be employed as the distance between each of circles 12a-12f, but other spacing values can also be employed.
In one example, the size of each of the dots making up the grid of dots that form concentric circles 12a-12f can be varied as a function of the distance of the dot from the center of circles 12a-12f and lock icon 10. For example, the radius of a given dot can be varied as a function of “R,” where r is equal to the distance from the dot to a common center of circles 12a-12f. In one example, the radius of a given dot, “r,” can vary between two fixed values that are linearly interpolated based on the radius, “R.”
What follows is computer code from an example algorithm that can be employed by element presentation module 52 to compute a grid of dots. The arguments innerRadius and outerRadius are typically device-independent values (always the same distance apart on the screen—regardless of screen size).
The alpha function in the foregoing example merits some further explanation. In some cases, there can be a need to support animation presented at display 4 of computing device 2. Rather than maintaining a complex data structure and modifying it for every frame in the animation, element presentation module 52 can compute alpha for one or more “contributors” using functions. In the foregoing example, there are two contributors: (1) positional glow and (2) wave alpha. It could be any number. We use the function max( ) to ensure anything with a non-zero alpha is drawn. Any function could be used in place of max( )depending on the desired effect. It could have N contributors.
In one example, the alpha function can be expressed as:
alpha=max(f(x,y),g(x,y));
where f(x,y)=positional glow contribution and g(x,y)=wave contribution.
Additionally, instead of having each dot be a function of time, in some examples, independent functions can be employed that have a scalar or position-dependent result based on a given dot “p.” In such a case, one value per function per draw can be modified and the rest can be computed in real time or substantially real time.
Since, in some cases, the foregoing functions are executed in a drawing loop associated with content presented at touch-sensitive display 4, it can need to be executed quickly. Although a brute force approach can be fast enough, in some cases, more advanced algorithms and data structures could be used to determine alpha for a given dot in the grid of dots. For example, a binary space partitioning algorithm (BSP) can be employed to avoid calling expensive functions such as pow( ) and cos( ).
In one example, element presentation module 52 calculates the wave contribution based on the distance from one of, e.g., circles 12a-12f with radius R to a given dot. We calculate the positional glow based on a function of the distance from the given dot to the position of user input reported by touch-sensitive display 4.
It is noted that f(x,y) and g(x,y) can be any arbitrary function that returns an alpha value between 0 and 1. Also, the result could be the combination of more than just two functions. We could have h(x,y), for example, which could provide an animated background value.
In one example, g(x,y) is also a function of time since the radius of the wave is a function of time. The following is an example of a function that can be used by element presentation module 52 to compute alpha for a given dot:
In one example, element presentation module 52 can allow both a solid circle primitive as well as a bitmap object as the item drawn at each dot. The circle primitive uses native drawing code (SKIA) to draw a geometric primitive. The bitmap object works a lot like a rubber stamp. In one example, the function can be expressed as:
The real drawing code looks like this:
Gesture determination module 54 can receive one or more indications of user inputs received at display 4 (e.g., a touch-sensitive display). Gesture determination module 54 can determine that the one or more received indications include a gesture to cause computing device 2 to activate one or more of the objects that comprise the array of objects surrounding the lock icon output at display 4. As an example, gesture determination module 54 can determine that an indication of a user input includes an indication of a touch gesture at a region of display 4 that displays one of the objects. One or more of gesture determination module 54 or display 4 can determine a region of a touch point of an input unit, e.g. the tip of a user's finger, that is in contact with display 4 (e.g., a region of pixels of display 4 that are in contact with the input unit), and can determine that a touch gesture has been received to cause computing device 2 to activate one of the objects when the region of the touch point of the input unit corresponds to a region of display 4 that displays the object (e.g., a region of pixels of display 4 that display the object).
For instance, gesture determination module 54 can determine that a touch gesture has been received to cause computing device 2 to activate the object when the overlapping region (i.e., the region of pixels of display 4 that both displays the object and is in contact with the input unit) is greater than a threshold amount, such as a threshold number of total pixels in the overlapping region (e.g., ten pixels, fifty pixels, one hundred pixels, or more pixels). The threshold number of pixels can, in certain examples, be a configurable number of pixels (e.g., user configurable using user interface 60).
In some examples, one or more of gesture determination module 54 or display 4 can determine a centroid of the region of the touch point. In such examples, gesture determination module 54 can determine that a touch gesture has been received to cause computing device 2 to activate the object when the centroid of the region of the touch point corresponds to a pixel of display 4 that displays the object. In other examples, gesture determination module 54 can determine that a touch gesture has been received to cause computing device 2 to activate the object when the centroid of the region of the touch point is within a threshold distance of a centroid of a region of display 4 that displays the objects (e.g., within a threshold number of pixels, such as five pixels, ten pixels, fifty pixels, or different numbers of pixels).
Gesture determination module 54 can determine that one or more received indications include a gesture to cause computing device 2 to select a lock icon and a number of objects in an array of objects surrounding the icon in an attempt by a user to transition computing device 2 from a locked to an unlocked state. For example, gesture determination module 54 can determine that one or more indications of user input include a swipe gesture that begins at a location of display 4 that corresponds to the location at or near which lock icon is displayed and ends at a location of display 4 that corresponds to a dot or dots arranged as the closed shape in a series of closed shapes surrounding the lock icon and that is arranged farthest away from the icon. The indications of user input interpreted by gesture determination module 54 can be part of a single continuous gesture like a swipe, or, in other examples, can include a number of separate successive user inputs like a number of taps on different locations of display 4.
Access state module 58 can determine a current access state of computing device 2. For example, access state module 58 can provide a limited access state, the limited access state configured to deny access to one or more applications executable on one or more processors 62 and information stored at one or more storage devices 64 of computing device 2. In addition, access state module 58 can provide a full access state, the access state configured to provide access to the one or more applications or information stored at one or more storage devices 64. It is noted that although the disclosed examples are described in the context of transitioning a computing device between a limited or locked access state and a full or unlocked access state, examples according to this disclosure also include transitioning between a limited access state and a different limited access state that does not provide full access to the computing device.
Access state module 58 can set the access state of computing device 2 (e.g., the limited access state or the access state) based on indications of user input received at display 4. According to the techniques of this disclosure, a user can interact with display 4 of computing device 2 to select a lock icon and a plurality of objects in an array of objects surrounding the lock icon output at display 4 in an attempt to transition computing device 2 from a locked to an unlocked state. Access state module 58 can analyze the indications of user input corresponding to the user interaction with display 4 to determine the character of the input provided by the user. In one example, access state module 58 can analyze the indications of user input corresponding to the user interaction with display 4 to determine that the user executed a swipe gesture beginning at the lock icon and ending at the closed shape in a series of closed shapes surrounding the lock icon and that is arranged farthest away from the icon. Access state module 58 can then cause computing device 2 to transition from the locked to unlocked (or other) operational state.
The example method of
The method of
As illustrated in
The method of
In some examples, access module 6, e.g., element presentation module 52 of access module 6 can be configured to cause display 4 to provide visual feedback to the user as the user swipes across display 4 to unlock computing device 2. For example, without any tactile input from a user activating one or more dots of circles 12a-12f, display 4 of computing device 2 can present concentric circles 12a-12f in a faded or light-colored appearance such that the circles are relatively visually deemphasized relative to other objects presented on display 4 like lock icon 10. However, upon activation of any of the circles, e.g., as the user swipes across display 4, display 4 can present a activated dot or dots, as well as, in some examples, neighboring dots or an entire circle in a non-faded or darker colored appearance such that the activated object(s) is visually emphasized relative to the other non-activated objects surrounding lock icon 10. For example, as illustrated in
In another example, without any tactile input from a user, element presentation module 52 of access module 6 can cause display 4 to generate the array of dots arranged as circles 12a-12f as completely transparent such that the dots are not visible to a user on display 4 of device 2. Thus, while display 4 has generated and output the array of dots arranged as concentric circles 12a-12f such that they are objects 12 on display 4 that can be activated by a user, the dots are not visible until some tactile input is received from a user at display 4. Upon activation of any of the dots, e.g., as the user swipes across presence-sensitive display 4, element presentation module 52 of access module 6 can cause display 4 to increase the opacity of the activated dot(s) and neighboring dots based on the proximity of the user input such that the affected dots appear visually to the user on display 4 in conjunction with the user input and then again disappear after the user, e.g., swipes past each dot on a path radially out from lock icon 10. For example, as illustrated in
The method of
As noted above, a user can interact with display 4 of computing device 2 to select a lock icon and a plurality of objects in an array of objects surrounding the lock icon output at display 4 in an attempt to transition computing device 2 from a locked to an unlocked state. Access state module 58 can analyze the indications of user input corresponding to the user interaction with display 4 to determine whether not to transition device 2 from one access state to another, e.g., from a locked to an unlocked state. In one example, access state module 58 can analyze the indications of user input corresponding to the user interaction with display 4 to determine that the user executed a swipe gesture beginning at the lock icon and ending at the closed shape in a series of closed shapes surrounding the lock icon and that is arranged farthest away from the icon. Access state module 58 can then compare the gesture to a predetermined gesture or data indicative of a gesture, e.g. a gesture configured by a user with access initiation module 50 and stored in storage devices 64. In the event the unlock gesture received at display 4 and the predetermined gesture match, access state module 58 can cause computing device 2 to transition from the locked to unlocked (or other) operational state.
The foregoing examples have been described in the context of transitioning a computing device from a limited access state to a different access state. However, the concept and implementation of a light field of objects generated at a touch-sensitive display of a computing device and with which a user can interact via the display can be employed in any of a number of different contexts of using a computing device. For example, after a computing device has been transitioned to an unlocked state, a light field can be employed in a variety of geometric configurations, e.g. concentric circles or a rectangular grid, to invoke one or more functions of the operating system of or a particular application executed by the computing device. For example, the computing device can cause the touch-sensitive display to generate a partially or completely transparent grid of dots on a portion of the display when in an unlocked state. In one such an example, when a user activates, e.g., a particular location on the display and then swipes across a portion or all of the grid of dots, the computing device can cause the display to increase the opacity of dots in the grid based on the proximity of the dots to the user gesture, e.g., in the manner described above with reference to FIGS. 2 and 8A-8C. Additionally, upon completion of the gesture, the computing device can invoke one or more functions, e.g. launch an operating system or third-party application on the computing device.
In another example, the light field can be employed when a mobile phone or other computing device is in a locked state and is receiving an incoming phone call. In one such example, a mobile phone can cause a touch sensitive display to display a lock icon surrounded by a field of visible or completely transparent dots forming a plurality of concentric circles similar to the examples described above. In one example, however, as the phone call is received, the dots arranged as circles pulse into and out of appearance independent of user input received at the touch-sensitive display. The pulsing appearance of the dots arranged as circles radiating out from the lock icon can serve as a visual cue to users of the manner in which to unlock the phone, e.g., what gesture can be used to unlock the phone. This visual cue of the unlock gesture can be used in other operational states of the mobile phone or other computing device. For example, a mobile phone can cause a presence-sensitive display to cause an array of dots arranged as circles to pulse into and out of appearance independent of user input received at the display whenever the display is first activated and is in a locked or other limited access state.
As shown in the example of
In other examples, such as illustrated previously in
Presence-sensitive display 201, as shown in
As shown in
Projector screen 222, in some examples, may include a presence-sensitive display 224. Presence-sensitive display 224 may include a subset of functionality or all of the functionality of display 4 as described in this disclosure. In some examples, presence-sensitive display 224 may include additional functionality. Projector screen 222 (e.g., an electronic whiteboard), may receive data from computing device 200 and display the graphical content. In some examples, presence-sensitive display 224 may determine one or more user inputs (e.g., continuous gestures, multi-touch gestures, single-touch gestures, etc.) at projector screen 222 using capacitive, inductive, and/or optical recognition techniques and send indications of such user input using one or more communication units to computing device 200.
As described above, in some examples, computing device 200 may output graphical content for display at presence-sensitive display 201 that is coupled to computing device 200 by a system bus or other suitable communication channel. Computing device 200 may also output graphical content for display at one or more remote devices, such as projector 220, projector screen 222, tablet device 226, and visual display device 230. For instance, computing device 200 may execute one or more instructions to generate and/or modify graphical content in accordance with techniques of the present disclosure. Computing device 200 may output the data that includes the graphical content to a communication unit of computing device 200, such as communication unit 210. Communication unit 210 may send the data to one or more of the remote devices, such as projector 220, projector screen 222, tablet device 226, and/or visual display device 230. In this way, computing device 200 may output the graphical content for display at one or more of the remote devices. In some examples, one or more of the remote devices may output the graphical content at a presence-sensitive display that is included in and/or operatively coupled to the respective remote devices.
In some examples, computing device 200 may not output graphical content at presence-sensitive display 201 that is operatively coupled to computing device 200. In other examples, computing device 200 may output graphical content for display at both a presence-sensitive display 201 that is coupled to computing device 200 by communication channel 202A, and at one or more remote devices. In such examples, the graphical content may be displayed substantially contemporaneously at each respective device. For instance, some delay may be introduced by the communication latency to send the data that includes the graphical content to the remote device. In some examples, graphical content generated by computing device 200 and output for display at presence-sensitive display 201 may be different than graphical content display output for display at one or more remote devices.
Computing device 200 may send and receive data using any suitable communication techniques. For example, computing device 200 may be operatively coupled to external network 214 using network link 212A. Each of the remote devices illustrated in
In some examples, computing device 200 may be operatively coupled to one or more of the remote devices included in
In accordance with techniques of the disclosure, computing device 200 may output, for display (e.g., at visual display device 230), an array of object surrounding an icon that indicates a limited access state of computing device 200. Computing device 200, while in the limited access state, may receive an indication of a user input received at a presence-sensitive input device (e.g., presence-sensitive input device 205, presence-sensitive displays 228, 232, etc.), the user input to activate a plurality of objects in the array of object surrounding the lock icon. Responsive to the indication of the user input, computing device 200 may transition from the limited access state to an access state.
In one or more examples, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over, as one or more instructions or code, a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media, which corresponds to a tangible medium such as data storage media, or communication media including any medium that facilitates transfer of a computer program from one place to another, e.g., according to a communication protocol. In this manner, computer-readable media generally may correspond to (1) tangible computer-readable storage media, which is non-transitory or (2) a communication medium such as a signal or carrier wave. Data storage media may be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementation of the techniques described in this disclosure. A computer program product may include a computer-readable medium.
By way of example, and not limitation, such computer-readable storage media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage, or other magnetic storage devices, flash memory, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transient media, but are instead directed to non-transient, tangible storage media. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc, where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
Instructions may be executed by one or more processors, such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs), central processing units (CPUs), or other equivalent integrated or discrete logic circuitry. Accordingly, the term “processor,” as used herein may refer to any of the foregoing structure or any other structure suitable for implementation of the techniques described herein. In addition, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules. Also, the techniques could be fully implemented in one or more circuits or logic elements.
The techniques of this disclosure may be implemented in a wide variety of devices or apparatuses, including a wireless handset, an integrated circuit (IC) or a set of ICs (e.g., a chip set). Various components, modules, or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, as described above, various units may be combined in a hardware unit or provided by a collection of interoperative hardware units, including one or more processors as described above, in conjunction with suitable software and/or firmware.
Various aspects have been described in this disclosure. These and other aspects are within the scope of the following claims.
This application claims the benefit of U.S. Provisional Application No. 61/664,745, filed Jun. 26, 2012, the entire content of which is incorporate herein by reference.
Number | Date | Country | |
---|---|---|---|
61664745 | Jun 2012 | US |