Touchscreen input with haptics
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- VISA INTERNATIONAL SERVICE ASSOCIATION
- Filing Date
- 2024-08-13
- Publication Date
- 2026-06-24
AI Technical Summary
Existing digital touchscreen devices are challenging for visually impaired users to operate as they rely on visual information, lacking tactile feedback for inputting commands or navigating interactive elements like digital keyboards.
The implementation of haptic feedback technology in touchscreen devices, where users receive iterative tactile signals while sliding their finger across the screen to select numbers, with patterns like grids or rotary layouts, and directional swipes associated with specific numbers.
This solution enables secure and independent interaction for visually impaired users by providing tactile feedback, reducing reliance on visual cues and enhancing security by preventing eavesdropping of sensitive information.
Smart Images

Figure US2024042158_20022025_PF_FP_ABST
Abstract
Description
TOUCHSCREEN INPUT WITH HAPTICSCROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Provisional Application No. 63 / 519,809, filed on August 15, 2023, U.S. Provisional Application No. 63 / 520,064, filed on August 16, 2023, and U.S. Provisional Application No. 63 / 520,058, filed on August 16, 2023, the entireties of which are incorporated by reference herein.BACKGROUND
[0002] Typical digital touchscreen devices are primarily configured for interaction with users through visually displayed information. As a result, such devices are difficult to operate for individuals with visual impairment to operate. A user may not be able to view various information displayed on a screen, and the user may not be able to determine which areas of the screen to touch in order to input commands or otherwise operate the device. For example, a visually impaired user may not be able to utilize an interactive digital keyboard or number pad that is displayed on a touchscreen with no other physical buttons, braille, or other raised markers.
[0003] Some devices may offer sound-based accessibility modes where displayed content on the screen is audibly described with words or other tones. This can help a visually impaired user to know what information is being shown, and help the user determine what areas of the screen to touch in order to input information. However, such processes can be difficult and tedious. Additionally, any sensitive information is then broadcast audibly for bystanders to hear. This can reduce the security of certain sensitive processes, such as unlocking a device or entering login information that is intended to be private.
[0004] Embodiments of the invention address these and other problems individually.BRIEF SUMMARY
[0005] Embodiments provide techniques for secure interaction with a user device for a person with visual impairment. A user may slide a finger across a touchscreen and receive iterative haptic feedback signals indicating different selectable input (e.g., numbers) as the finger moves over the touchscreen. Additionally, a number pattern (e.g., grid, rotary) can be rendered such that the user’s initial contact is the center of the number pattern. Additionally, swipes of different directions can be associated with specific numbers.
[0006] Some embodiments provide a method performed by a user device. The method comprises a) detecting, by a user device comprising a touchscreen, contact with one or more objects on the touchscreen; b) detecting, by the user device, a movement of the contact on the touchscreen; c) producing, by the user device, one or more haptic feedback signals in response to the movement of the contact, each of the one or more haptic feedback signals being associated with a selectable number; d) detecting, by the user device, at least one of an end of the contact and a selection indication; e) determining, by the user device, a selected number based on the at least one of the end of the contact and the selection indication; and f) storing or transmitting, by the user device, the selected number.
[0007] Various embodiments provide a user device comprising a touchscreen; an actuator configured to generate haptic feedback signals; a processor, and memory storing instructions that, when executed by the processor, cause the processor to perform steps comprising a) detecting contact with one or more objects on the touchscreen; b) detecting a movement of the contact on the touchscreen; c) producing one or more haptic feedback signals in response to the movement of the contact, each of the one or more haptic feedback signals being associated with a selectable number; d) detecting at least one of an end of the contact and a selection indication; e) determining a selected number based on the at least one of the end of the contact and the selection indication; and f) storing or transmitting the selected number. .
[0008] These and other embodiments are described in further detail below.BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 illustrates a method for number entry via sustained contact, according to an embodiment.
[0010] FIGS. 2A-2C show a first example of number entry via sustained contact, according to an embodiment.
[0011] FIGS. 3A-3B show a second example of number entry via sustained contact, according to an embodimsent.
[0012] FIGS. 4A-4F show a third example of number entry via sustained contact, according to an embodiment.
[0013] FIG. 5 shows a fourth example of number entry via contact, according to an embodiment.
[0014] FIG. 6 illustrates an example timeline for character entry via sustained contact, according to an embodiment.
[0015] FIG. 7 illustrates a method for haptic feedback-supported number entry at a number pattern, according to an embodiment.
[0016] FIG. 8 illustrates an example of a number pattern on a user device, according to an embodiment.
[0017] FIG. 9 illustrates a method for number entry at a dynamically positioned number pattern, according to an embodiment.
[0018] FIG. 10 shows an example of a dynamic number pattern on a user device, according to an embodiment.
[0019] FIG. 11 illustrates a method for number entry via directional swiping, according to an embodiment.
[0020] FIG. 12 shows an example trajectory map, according to an embodiment.
[0021] FIGS. 13A-13H illustrate examples of a detected contact at a user device, according to an embodiment.
[0022] FIG. 14 illustrates a method for number entry via haptic feedback, according to an embodiment.
[0023] FIGS. 15A-15D illustrate examples of amount modification and entry, according to an embodiment.
[0024] FIG. 16 shows a block diagram of a user device according to embodiments.DETAILED DESCRIPTION
[0025] Prior to discussing the details of some embodiments of the present invention, description of some terms may be useful in understanding the various embodiments.
[0026] “Haptic feedback” may include an interaction that involves the sense of touch. For example, haptic feedback can stimulate tactile sensations through a user’s sense of touch. Haptic feedback can include vibrations, temperature fluctuations, electric current, rubbing friction, and any other suitable type of force or action that can be detected by touch. In some embodiments, haptic feedback can be used to convey information (e.g., one-way or two-way communication). A pulse can be a distinct instance, moment, or energy transmission of haptic feedback. A haptic feedback signal can include one or more pulses of haptic feedback. For example, a single haptic feedback signal can include a single pulse, two consecutive and / or rapid pulses, three consecutive and / or rapid pulses, etc. Pulses can vary in intensity, duration, type (e.g., vibration or electric current), and / or any other suitable quality.
[0027] A “user” may include an individual or a computational device. In some embodiments, a user may be associated with one or more personal accounts and / or mobile devices. In some embodiments, the user may be a cardholder, account holder, or consumer.
[0028] A “user device” may be any suitable device that a user can interact with (e.g., a payment card or mobile phone). User devices may be in any suitable form. Some examples of user devices include cards (e.g., payment cards such as credit, debit, or prepaid cards) with magnetic stripes or contactless elements (e.g.,including contactless chips and antennas), cellular phones, PDAs, personal computers (PCs), tablet computers, and the like. In some embodiments, where a user device is a mobile device, the mobile device may include a display, a memory, a processor, a computer-readable medium, and any other suitable component. In some embodiments, a user device can include an access device that the user interacts with.
[0029] A “mobile device” (sometimes referred to as a mobile communication device) may comprise any suitable electronic device that may be transported and operated by a user, which may also provide remote communication capabilities to a network. A mobile communication device may communicate using a mobile phone (wireless) network, wireless data network (e.g., 3G, 4G or similar networks), Wi-Fi, Bluetooth, Bluetooth Low Energy (BLE), Wi-Max, or any other communication medium that may provide access to a network such as the Internet or a private network. Examples of mobile devices include mobile phones (e.g., cellular phones), PDAs, tablet computers, net books, laptop computers, wearable devices (e.g., watches), vehicles such as automobiles and motorcycles, personal music players, hand-held specialized readers, etc. A mobile device may comprise any suitable hardware and software for performing such functions, and may also include multiple devices or components (e.g., when a device has remote access to a network by tethering to another device - i.e. using the other device as a modem - both devices taken together may be considered a single mobile device).
[0030] An “access device” may be any suitable device for providing access to an external computer system. An access device may be in any suitable form. Some examples of access devices include point of sale (POS) devices, cellular phones, PDAs, personal computers (PCs), tablet PCs, hand-held specialized readers, set-top boxes, electronic cash registers (ECRs), automated teller machines (ATMs), virtual cash registers (VCRs), kiosks, security systems, access systems, websites, and the like. An access device may use any suitable contact or contactless mode of operation to send or receive data from, or associated with, a mobile device. In some embodiments, where an access device may comprise a POS terminal, any suitable POS terminal may be used and may include a reader, a processor, and a computer- readable medium. A reader may include any suitable contact or contactless mode of operation. For example, exemplary card readers can include radio frequency (RF)antennas, optical scanners, bar code readers, or magnetic stripe readers to interact with a mobile device.
[0031] An "application" may be a computer program that is used for a specific purpose. Examples of applications may include transit applications, secure data access applications, banking applications, digital wallet applications, event ticketing applications, loyalty rewards applications, etc. In some embodiments, an application may be associated with an account of the user maintained by a resource or service provider (e.g., a bank account, a mass transit prepaid account, a building access account, etc.).
[0032] “Access data” may include any suitable data that can be used to access a resource or create data that can access a resource. In some embodiments, access data may be account information for a payment account. Account information may include a PAN, payment token, expiration date, verification values (e.g., CVV, CVV2, dCVV, dCW2), etc. In other embodiments, access data may be data that can be used to activate account data. For example, in some cases, account information may be stored on a mobile device, but may not be activated until specific information is received by the mobile device. In other embodiments, access data could include data that can be used to access a location. Such access data may be ticket information for an event, data to access a building, transit ticket information, etc. In yet other embodiments, access data may include data used to obtain access to sensitive data. Examples of access data may include codes or other data that are needed by a server computer to grant access to the sensitive data.
[0033] “Authentication data" may include any data suitable for authenticating a user or mobile device. Authentication data may be obtained from a user or a device that is operated by the user. Examples of authentication data obtained from a user may include secrets such as PINs (personal identification numbers), biometric data, passwords, etc. Examples of authentication data that may be obtained from a device may be include device serial numbers, hardware secure element identifiers, device fingerprints, phone numbers, IMEI numbers, etc.
[0034] A “secret” can be information that is not known or unseen by others. A secret may only be known to a user. For example, a PIN, password, biometricsample biometric template, or other data specific to and / or only known to a user may be a secret. A derivative of a secret may be information that is derived from the secret. For example, an encrypted secret or a secret that is concatenated with other information may be derivatives of a secret.
[0035] A “personal identification number” or “PIN” can include one or more characters for identifying a person or other entity. A PIN can include one or more numbers, letters, special characters, and / or any other suitable symbols. A PIN may be secret information that is only known to a user. A user may be able to provide a PIN to confirm their identity and / or gain access to information, resources, devices, physical spaces, conduct a transaction, etc.
[0036] A “key” or a “cryptographic key” may include a piece of information that is used in a cryptographic algorithm to transform data into another representation. A cryptographic algorithm can be an encryption algorithm that transforms original data into an alternate representation, or a decryption algorithm that transforms encrypted information back to the original data. Examples of cryptographic algorithms may include triple data encryption standard (TDES), data encryption standard (DES), advanced encryption standard (AES), etc.
[0037] A “number pattern” may be a set of one or more numbers arranged in a pattern. For example, a number pad, also referred to as a numeric keypad or a number grid, can include a set of cells, each with an associated number. For example, each number can occupy a rectangular cell. The cells can be arranged in a grid or table with any suitable number of columns and / or rows of cells. Additional cells can be included for non-number keys or functions, such as an enter key, a delete key, etc. Another example of a number pattern is a rotary. A rotary can include a circular pattern with numbers arranged along the perimeter of the circle. A number may be selectable by pressing a location on the circle corresponding to a desired number. Alternatively, a number may be selected by rotating or otherwise moving a selection indicator along the perimeter of the circle to a location on the circle corresponding to a desired number. A physical number pattern can be a physical object, such as a set of physical keys on a physical keyboard. A digital number pattern can be digitally displayed or otherwise provided, such as a digital number pattern on a touchscreen.
[0038] The term “resource” generally refers to any asset that may be used or consumed. For example, the resource may be computer resource (e.g., stored data or a networked computer account), a physical resource (e.g., a tangible object or a physical location), or other electronic resource or communication between computers (e.g., a communication signal corresponding to an account for performing a transaction). Some non-limiting examples of a resource may be a good or service, a physical building, a computer account or file, or a payment account. In some embodiments, a resource may refer to a financial product, such as a loan or line of credit.
[0039] An “interaction” may include a reciprocal action or influence. An interaction can include a communication, contact, or exchange between parties, devices, and / or entities. Example interactions include communication between a user and a user device, a transaction between two parties, and a data exchange between two devices. In some embodiments, an interaction can include a user requesting access to secure data, a secure webpage, a secure location, and the like. In some embodiments, an interaction can include a user providing a secret or other information to a device. In other embodiments, an interaction can include a payment transaction in which two devices (e.g., a mobile device and an access device) can interact to facilitate a payment.
[0040] “Interaction data” can include data related to and / or recorded during an interaction. In some embodiments, interaction data can be transaction data of the network data. Transaction data can comprise a plurality of data elements with data values.
[0041] A "computing device" may include any suitable device that can electronically process data. Examples of computing devices include desktop computers, mobile devices or mobile computing devices, television sets, etc.
[0042] A “server computer” may include a powerful computer or cluster of computers. For example, the server computer can be a large mainframe, a minicomputer cluster, or a group of servers functioning as a unit. In one example, the server computer may be a database server coupled to a Web server. The server computer may be coupled to a database and may include any hardware, software,other logic, or combination of the preceding for servicing the requests from one or more client computers.
[0043] A “processor” may include any suitable data computation device or devices. A processor may comprise one or more microprocessors working together to accomplish a desired function. The processor may include CPU comprises at least one high-speed data processor adequate to execute program components for executing user and / or system -generated requests. The CPU may be a microprocessor such as AMD’s Athlon, Duron and / or Opteron; IBM and / or Motorola’s PowerPC; IBM’s and Sony’s Cell processor; Intel’s Celeron, Itanium, Pentium, Xeon, and / or XScale; and / or the like processor(s).
[0044] A “memory” may be any suitable device or devices that can store electronic data. A suitable memory may comprise a non-transitory computer readable medium that stores instructions that can be executed by a processor to implement a desired method. Examples of memories may comprise one or more memory chips, disk drives, etc. Such memories may operate using any suitable electrical, optical, and / or magnetic mode of operation.
[0045] Embodiments provide techniques for secure interaction with a user device for a person with visual impairment. For example, a user may slide a finger across a touchscreen and receive iterative haptic feedback signals indicating different selectable numbers as the finger moves over the touchscreen. When the user feels a haptic feedback signal corresponding to a desired number, the user can select a number by removing the finger and / or providing a selection indication (e.g., double tap or voice command).
[0046] As another example, a user can navigate a number pattern (e.g., grid or rotary) based on haptic feedback. The number pattern can have a dynamic location that is rendered based on a random location of user’s initial contact point. This random positioning enables a person with visual impairment at birth (e.g., a person who never saw a digital keyboard or number pad) to be able to input numbers on the touchscreen. The number grid can be rendered such that the user’s initial contact is the center of the number grid. As a result, the user can know that contact always starts in the center, and can make informed movements to a nearby number from that position.
[0047] As another example, a user can provide a directional swipe associated with a desired number. Different swipe directions can be associated with different numbers.
[0048] In each of these examples, the user can securely input a number (or other character) at a user device without requiring visual communication.SUSTAINED CONTACT WITH HAPTICS
[0049] Embodiments allow the user device to communicate with a user through haptic feedback signals. The haptic feedback signal communications can enable the user device to receive a PIN entry (e.g., a sequence of number inputs) from a user. For example, the user device can provide a series of haptic feedback signals that each correspond to a different selectable number. When the user senses (e.g., feels) a haptic feedback signal associated with a desired number to input, the user can select the number through one or more actions. The user device can continue to cycle through different selectable numbers as long as the user maintains contact and / or continuous motion (e.g., finger sliding) with an interactive element (e.g., a touchscreen) of the user device.
[0050] FIG. 1 illustrates a flow diagram of a method 100 for number entry via sustained contact.
[0051] A user may desire to or be prompted to enter a PIN at a user device. For example, a user may wish to unlock a mobile device. As another example, a user may activate a payment mode of a mobile device, and the mobile device may prompt the user for a PIN. As another example, a user may conduct a transaction at an access device, and the access device may prompt the user for a PIN. The user device may display a visual prompt and / or produce an audio prompt such as “Please enter your PIN.”
[0052] At step 101 , the user device can detect contact with one or more objects on a touchscreen of the user device. For example, a user may contact one or more fingers, a stylus, or any other suitable object to the touchscreen. Detection of the contact can initiate the process for entering an input (e.g., a number).
[0053] An example of an initial contact detection on a user device is illustrated in FIG. 2A. As shown, the user device 200 can detect the contact at a startinglocation 210 on the touchscreen. In this example, the contact occurs on in a lower left area of the touchscreen. However, in some embodiments, there may be no predefined location on the touchscreen that the user is required to touch to initiate a PIN entry process. Instead, the initial contact detection can occur in any area of the touchscreen. This can advantageously improve access security, as an onlooker may not gain any useful PIN information based on the location of the initial contact.
[0054] In some embodiments, initial haptic feedback can be produced in response to detecting the contact. For example, a short pulse, a long pulse, a combination of haptic feedback pulses, or any other suitable haptic feedback that may have a distinct quality, distinct pattern, or other distinct configuration from the haptic feedback signals discussed below can be produced to communicate to the user that contact is detected and the user device is ready to receive PIN entry. In other embodiments, there may be no haptic feedback produced until the first haptic feedback described below with respect to step 103.
[0055] Referring back to the method 100 of FIG. 1 , at step 102, the user device can detect movement of the contact. For example, the one or more objects in contact with the touchscreen may slide or otherwise move across the touchscreen in any suitable direction while maintaining contact with the touchscreen. In some embodiments, the movement may be continuous.
[0056] At step 103, the user device can produce a first haptic feedback signal in response to sustained contact and / or movement of the contact. For example, the user device can produce the first haptic feedback signal after a predetermined amount of time (e.g., second, 1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds, 10 second, etc.) of sustained contact and / or moving contact. Additionally or alternatively, the user device can produce the first haptic feedback signal after a predetermined distance of moving contact (e.g., centimeter, 1 centimeter, 2 centimeters, 3 centimeters, 4 centimeters, 5 centimeters, 10 centimeters, 10 pixels, 20 pixels, 30 pixels, 50 pixels, 100 pixels, 1000 pixels, etc.). The haptic feedback signal can include one or more vibration pulses, electric pulses, heat or cold signals, or any other suitable type of tactile sensation.
[0057] The first haptic feedback signal can be associated with a first selectable number (e.g., 1 ). Additionally, the first haptic feedback signal can beconfigured to indicate the first number. For example, the first haptic feedback signal can provide one pulse to communicate the number one to the user.
[0058] An example of the first haptic feedback signal being produced in response to detecting a moving contact on a user device is illustrated in FIG. 2B. As shown, after detecting initial contact at the starting location 210 on the touchscreen, the user device 200 can detect movement of the contact across the screen to a first location 211. When the contact is occurring at the first location 211 , the user device 200 can produce the first haptic feedback signal (e.g., in response to contact movement for a certain amount of time or across a certain distance).
[0059] FIG. 2B illustrates diagonal movement to the right and up. However, according to embodiments, the user can move the contact in any suitable directions, with any suitable curvatures or motion patterns (e.g., a random pattern), and at any suitable and / or varying speeds. The user may not be required to move the contact according to any predefined pattern.
[0060] In some embodiments, the user may move the contact in a circular motion, tracing one or more circles or a portion of a circle. Any suitable number of haptic feedback signals can be provided during a circular pattern, and the amount may vary for each circle or a portion of a circle.
[0061] According to embodiments, the touchscreen may not display any visual feedback or other visual information related to the selectable or selected numbers.The user may slide their finger across a blank screen or a blank portion of the screen. The starting location 210 and the first location 211 are shown as circles to represent the location of the user’s finger when a haptic feedback signal is produced. However, the user device may not actually display any circles or other information in these areas. As a result, embodiments can advantageously reduce or eliminate visual cues and instead utilize touch-based communications between the user device 200 and the user, providing a secure mechanism of entering information into a user device for a visually impaired person.
[0062] Referring back to the method 100 of FIG. 1 , at any desired time the user can select the currently selectable number. In some embodiments, the user can select the current number by ending the contact with the touchscreen (e.g., by removing the one or more objects). In some embodiments, the user can select thecurrent number by providing a selection indication. For example, a selection indication can be a predefined user input such as a double tap, a long press, contacting two or more fingers simultaneously, shaking the user device, a voice command (e.g., “select” or “enter”), contacting a selectable region (e.g., “select,” “enter," or “done” button displayed on the touchscreen or otherwise provided on the user device), or any other suitable input. Accordingly, if the user desires to select the number one, the user can end contact with the touchscreen and / or provide a selection indication shortly after the first haptic feedback signal of step 103. If the user desires to select a different number, the user can continue sustaining contact with the touchscreen and / or moving the contact (e.g., sliding a finger across the screen).
[0063] At step 104, the user device can determine whether the contact has ended and / or detect a selection indication (e.g., a double tap). If the user device determines that the contact has not ended and / or does not detect a selection indication, this can indicate that the user does not wish to select the number one, and the method can continue to step 105. If the user device determines that the contact has ended and / or detects a selection indication, this can indicate that the user wishes to select the number one, the method can skip to step 106 to process the user’s input of the number one.
[0064] At step 105, the user device can produce another haptic feedback signal in response to sustained contact and / or movement of the contact. For example, the user device can produce a second haptic feedback signal in response to further sustained contact and / or further movement of the contact. For example, after an additional predetermined amount of time (e.g., second, 1 second, 2 seconds, 3 seconds, 4 seconds, 5 seconds, 10 second, etc.) of moving contact and / or an additional predetermined distance of moving contact (e.g., centimeter, 1 centimeter, 2 centimeters, 3 centimeters, 4 centimeters, 5 centimeters, 10 centimeters, etc.), the user device can produce the second haptic feedback signal.
[0065] The second haptic feedback signal can be associated with the selection of a second number (e.g., the number two). For example, the user device can increment the currently selectable number by one (e.g., from the number one to the number two) at the same time the user device produces the second hapticfeedback signal. The selectable number can remain static until the next haptic feedback signal.
[0066] The second haptic feedback signal can be configured to indicate the new selectable number. For example, the second haptic feedback signal can provide two pulses (e.g., in rapid succession) to communicate to the user that the currently selectable number is the number two.
[0067] In other embodiments, each successive haptic feedback signal can be the same (e.g., a single pulse). In this case, the second haptic feedback signal can provide a single pulse, and the user can count and / or remember that this is the second pulse (thereby indicating the number two) after the first pulse in step 103.
[0068] An example of the second haptic feedback signal being produced in response to detecting a continued moving contact on a user device is illustrated in FIG. 2C. As shown, after producing the first haptic signal in response to detecting contact movement from the starting location 210 to the first location 211, the user device 200 can detect continued movement of the contact across the screen to a second location 212. When the contact has reached the second location 212, the user device 200 can produce the second haptic feedback signal (e.g., in response to continued contact movement for a certain amount of time or across a certain distance). FIG. 2B illustrates a slight direction change with continued movement up and to the right. However, according to embodiments, the user can alter the direction and / or speed of the moving contact as desired. This can advantageously improve access security, as an onlooker may not gain any useful PIN information based on the movement direction and / or movement speed.
[0069] According to embodiments, instead of fixed and / or predetermined intervals between haptic feedback signals, there can be variable intervals (e.g., time and / or distance intervals) between haptic feedback signals. For example, the first haptic feedback signal can be produced after a first portion of movement, which may be 2 seconds of moving contact or 2 centimeters of contact movement, and the second haptic feedback signal can be produced after a second portion of movement, which may be 1 second of moving contact or 1 centimeter of contact movement. According to embodiments, the interval can vary between haptic feedback signals, between number entries, and / or between PIN entries. The user device can beconfigured to generate random intervals within a certain range (e.g., between 0.3 seconds and 5 seconds, or between 0.5 centimeters and 8 centimeters). This can advantageously improve access security, as an onlooker may not gain any useful information about the current selectable number based on the amount of time a user maintains contact and / or based on the distance of contact movement. Instead, the user may be the only person with knowledge of the current selectable number as communicated through the haptic feedback signals.
[0070] Additionally, in some embodiments, the user device may not provide audio information regarding a current selectable number, a selected number, a PIN, and / or other sensitive information. This can advantageously improve access security, as an onlooker may not be able to gain PIN information through eavesdropping.
[0071] Referring back to the method 100 of FIG. 1 , the method can repeat step 104 to determine whether the user has selected the number two. For example, as described above with respect to step 104, the user device can determine whether the contact has ended and / or detect a selection indication. If the user device determines that the contact has ended and / or detects a selection indication, this can indicate that the user wishes to select the number two, and the method can proceed to step 106 to process the user’s input of the number two. If the user device determines that the contact has not ended and / or does not detect a selection indication, this can indicate that the user does not wish to select the number two, and the method can continue to step 105.
[0072] According to embodiments, steps 104-105 can repeat until the user ends contact with the touchscreen and / or provides a selection indication, at which point the method can proceed to step 106. At each instance of step 105, the user device can continue detecting contact and / or motion, and can then provide an additional haptic feedback signal. Also, at each instance of step 105, the selectable number can iteratively increase by one. In some embodiments, the haptic feedback signal can change to communicate to the user the selectable number. For example, the number three can be associated with a third haptic feedback signal of three pulses (e.g., in rapid succession), the number four can be associated with a fourth haptic feedback signal of four pulses, and so forth. Alternatively, as discussedabove, each haptic feedback signal can include a single pulse, and the user can keep track of the current selectable number based on the number of single-pulse haptic feedback signals that have been produced. Steps 104-105 can repeat up until any suitable number, such as the number nine, the number ten, the number twenty, etc.
[0073] In some embodiments, the selectable number may not iteratively increase at each instance of step 105. Instead, a random number (e.g., between 0- 9) may be provided as the selectable number. The selectable number can be communicated by a haptic feedback signal with a corresponding number of pulses (e.g., five pulses for the number five). Random presentation of numbers can provide increased security by making it more difficult for an observer to know which number the user is selecting.
[0074] At step 106, the user device can determine a number selected by the user based on the end of the contact. For example, when the contact ends, a currently selectable number can be chosen as the selected number. The currently selectable number may be stored in a record, or may be determined based on the most recent haptic feedback signal. For example, if the most recent haptic feedback signal was associated with the number two (e.g., as shown in FIG. 2C), the user device can determine that the user has selected the number two. As discussed above, the user can be aware of the number associated with a haptic feedback signal based on the number of pulses in the haptic feedback signal (e.g., 2 pulses), based on the sequence order of the haptic feedback signal (e.g., the 2nditerative haptic feedback signal), or through any other suitable communication.
[0075] In some embodiments, the user device can provide an extra haptic feedback signal upon selection of a number. For example, in response to the contact ending, a selection indication, and / or identification of a selected number, the user device may produce a haptic feedback signal to communicate to the user that a number has been selected and entered, and / or to communicate to the user that the user device is ready for a subsequent number entry. In some embodiments, this final haptic feedback signal can differ from the previous haptic feedback signals for counting the selectable number. For example, the final haptic feedback signal can include an elongated pulse, a series (e.g., 2, 3, 4, or 5) of short pulses, acombination of long and short pulses (e.g., a morse code), a user determined pulse pattern, etc.
[0076] At step 107, the user device can store and / or transmit the selected number. For example, the user device can mark a first PIN digit as the selected number and await the remaining PIN numbers to be entered. Additionally or alternatively, the user device can transmit the selected number to a PIN processing secret or server computer.
[0077] At step 108, the user device can determine whether PIN entry is complete. For example, the user device can determine whether a full set of PIN digits have been entered based on a predefined PIN length (e.g., 4, 5, 6, 7, 8, 9, 10, 11 , 12, or 15 digits).
[0078] In some embodiments, the user device can determine that PIN entry is complete in response to receiving an indication from the user that the PIN entry is complete. For example, the user device can input a completion command. The user device may provide a selectable area for inputting the completion command. For example, the bottom-right corner (or any other suitable area) of the touchscreen or the user device (e.g., side button) can be used for selecting completion. A selectable area can include a visual marker, such as a rectangle with the word “done,” “complete”, or “enter.” In some embodiments the area for selecting complete can be associated with a haptic feedback signal. The completion haptic feedback signal may be different from other haptic feedback signals. For example, when the user contacts the area of the screen for selecting complete, the user device may provide continuous haptic feedback (e.g., continuous vibration), a specific predefined series of short, medium, and / or long pulses, and / or any other suitable distinct haptic feedback signal. The user can select complete by tapping the selectable area, double tapping the selectable area, long pressing the selectable area, sliding contact to the selectable area and then ending contact, and / or through any other suitable user input. In some embodiments, a completion command can be provided in any suitable area of the screen, instead of just on a button or other designated region. In some embodiments, the user can input a completion command by selecting a completion button or area, and then providing a second gesture or indication (e.g., a double tap).
[0079] If the PIN entry is not complete, the method can go back to step 101 to begin the process for providing a subsequent number entry (e.g., for a second PIN digit). Steps 101-108 can repeat in this manner for each digit of the PIN. Once the PIN entry is complete, the method can proceed to step 109.
[0080] For example, in the case of a 4-digit PIN, steps 101-108 can be performed three more times in order to receive the three remaining digits. Examples of three such digit entries are shown in FIGS. 3A-3B, FIGS. 4A-4F, and FIG. 5.
[0081] FIGS. 3A-3B illustrate an example of a user device receiving contact input for a second PIN digit, where the second PIN digit is the number one. As shown, the user device 200 can detect an initial contact at a starting location 310 (e.g., step 101), and then detect continued contact and contact movement to a first location 311 (e.g., step 102). In this example, the movement is in a downward and right direction, though other movements are possible. The user device 200 can provide a first haptic feedback signal (e.g., step 103) when the contact is at the first location 311. The user device 200 can then detect a disengagement of the contact with the touchscreen and / or detect a selection indication (e.g., step 104). In response, the user device 200 can determine (e.g., step 106) that the user has selected the currently selectable number (e.g., the number one). In some embodiments, during the selection of the second PIN digit, the user device 200 may display a dot or other indication that a first PIN digit has already been entered.
[0082] FIGS. 4A-4F illustrate an example of a user device receiving contact input for a third PIN digit, where the third PIN digit is the number five. As shown, the user device 200 can detect an initial contact at a starting location 410, then detect continued contact and contact movement to a first location 411, a second location 412, a third location 413, a fourth location 414, and a fifth location 415. In this example, the movement includes curves in a clockwise direction, though other movements are possible. The user device 200 can provide a first haptic feedback signal when the contact is at the first location 411, a second haptic feedback signal when the contact is at the second location 412, a third haptic feedback signal when the contact is at the third location 413, a fourth haptic feedback signal when the contact is at the fourth location 414, and a fifth haptic feedback signal when the contact is at the fifth location 415. The user device 200 can increment the selectablenumber at each instance of a haptic feedback signal. The user device 200 can then detect a disengagement of the contact with the touchscreen and / or detect a selection indication. In response, the user device 200 can determine that the user has selected the currently selectable number (e.g., the number five). In some embodiments, during the selection of the third PIN digit, the user device 200 may display two dots or another indication that two PIN digits have already been entered.
[0083] According to embodiments, the user device can initially set the selectable number to be the number zero. To select zero, the user may contact the touchscreen for a short duration (e.g., a tap) and / or contact the touchscreen without moving the contact (e.g., no swiping or dragging).
[0084] FIG. 5 illustrates an example of a user device receiving contact input for a fourth PIN digit, where the third PIN digit is the number zero. As shown, the user device 200 can detect an initial contact at a starting location 510. The user device 200 can then detect a disengagement of the contact with the touchscreen and / or detect a selection indication. In this example, the detected contact may remain mostly or entirely still without a swiping motion. In response, the user device 200 can determine that the user has selected the currently selectable number (e.g., the number zero). In some embodiments, during the selection of the fourth PIN digit, the user device 200 may display three dots or another indication that three PIN digits have already been entered.
[0085] According to embodiments, the touchscreen may not display any visual feedback or other visual information related to the selectable or selected numbers. The user may slide their finger across a blank screen or a blank portion of the screen. The locations illustrated in FIG. 3 (e.g., starting location 310 and first location 311), the locations illustrated in FIG. 4 (e.g., starting location 410, first location 411 , second location 412, third location 413, fourth location 414, fifth location 415), and the location illustrated in FIG. 5 (e.g., starting location 510) are shown as circles to represent the location of the user’s finger when a haptic feedback signal is produced. However, the user device may not actually display any circles or other information in one or more of these areas. As a result, embodiments can advantageously reduce or eliminate visual cues and instead utilize touch-basedcommunications between the user device 200 and the user, providing a secure mechanism of entering information into a user device for a visually impaired person.
[0086] Referring back to the method 100 of FIG. 1 , at step 109, the user device can determine a PIN based on combination of selected numbers. For example, the user device may have received four numbers, and the user device can compile the four numbers into a four-digit PIN.
[0087] At step 110, the user device can process and / or transmit the PIN. For example, the user device can (e.g., via a secret processing module) determine whether the PIN is valid (e.g., by comparison with stored PIN information).Additionally or alternatively, the user device can transmit the completed PIN to another device or server computer for processing (e.g., determination whether the PIN is valid by comparing with a stored PIN value).
[0088] In some embodiments, the user device can provide audio information in addition to the haptic feedback. For example, the user device can play an audio tone, chime, message, and / or other sound to inform the user that a selection was received after each entered digit. In some embodiments, the user device can use audio messages to inform the user how many digits have been entered after each digit entry. For example, the user device can play audio messages of “one digit entered”, “two digits entered,” and so forth.
[0089] As mentioned above, the user can contact the user device with one or more objects. For example, the user can contact a touchscreen with one finger or with multiple fingers.
[0090] In some embodiments, additional areas of the touchscreen can provide other haptic feedback or audio feedback. For example, a “clear” or “delete” button for erasing a number entry can be associated with an audio cue of “clear” or “delete” when contacted. As another example, a completion button can be associated with an audio cue of “enter” or “complete” or “submit” when contacted.
[0091] In some embodiments, a user may delete an entered number by selecting a delete button.
[0092] In some embodiments, the user device can be configured to delete the most recent number entry in response to a deletion indication. The deletionindication can include any suitable form of user contact. For example, a swiping contact in the shape of a circle or approximating the shape of a circle can serve as an instruction to delete. This functionality can be included instead of and / or in addition to a delete button (e.g., a selectable region of the screen). In other embodiments, a circle gesture may not be associated with deletion, such that the user can drag their finger in any direction during the number selection process. Instead, deletion can be associated with another gesture, such as shaking the user device.
[0093] Embodiments can advantageously prevent side-channel attacks that use other device sensors to decipher a PIN entry. For example, side-channel attacks may use the user device’s gyroscope to attempt to identify a location of a touchscreen tap, or may use the user device’s camera to attempt to identify the hand and finger movements of the screen. As mentioned above, embodiments allow the user to contact the touchscreen in any desired area, and to slide the contacting object (e.g., finger) in any suitable directions and / or patterns. As a result, even if a gyroscope or camera revealed the contact locations and / or motions, this information would not be useful for deciphering a PIN.
[0094] Embodiments can further mask haptic feedback signals to prevent an attempted side-channel attack of using the gyroscope to measure haptic feedback signals that correspond to specific numbers. Natural movements of a user’s hand holding the phone and / or a user’s finger moving on the touchscreen can introduce additional vibrations that may be indistinguishable from haptic feedback signals, and thereby introduce noise to gyroscopic measurements. The gyroscope (and / or other on-device sensors) may detect many vibrations and movements, some of which can be caused by haptic feedback signals, and others of which may be caused by random user movements. As a result, gyroscopic measurements may not be usable for counting the haptic feedback signals or otherwise determining PIN-related information from haptic feedback signals.
[0095] Described above and discussed herein are processes for entering a PIN with digits. However, embodiments are not limited to numbers or PIN entry. For example, embodiments also apply to entering any other suitable characters, alphanumeric codes, and other types of secrets. Embodiments can further apply toentering an amount (e.g., a payment amount or tip amount), a phone number, an address, morse code, a written message, a “yes” or “no” binary answer, a selection from among multiple choices, and any other suitable information that can be entered into a device.
[0096] FIG. 6 illustrates an example timeline 600 for character entry via haptic feedback.
[0097] At step 601 , which can be the same as or similar to step 101 in FIG. 1, the user can initiate contact with a user device.
[0098] At step 602, which can be the same as or similar to step 102 in FIG. 1, the user can slide, drag, or otherwise move the contact on the touchscreen. The user can maintain contact for the duration of step 602. In some embodiments, the user can maintain continuous movement for the duration of step 602. In other embodiments, the user can stop and / or restart movement during step 602.
[0099] At step 603, which can be the same as or similar to step 103 in FIG. 1, the user device can produce a first haptic signal.
[0100] At step 605A, which can be the same as or similar to step 104 in FIG. 1 , the user device can produce a second haptic signal.
[0101] At step 605B, which can be the same as or similar to step 104 in FIG. 1 , the user device can produce a third haptic signal.
[0102] At step 604, which can be the same as or similar to step 103 in FIG. 1, the user can cease contact with the user device. As discussed above, step 604 can vary on the timeline based on when the user chooses to end contact.
[0103] At step 607, which can be the same as or similar to step 107 in FIG. 1, the user device can register, store, and / or otherwise receive the entry of the user- selected number in response to the user ending contact with the user device. In this example, the selected number is three.FIXED NUMBER GRID WITH HAPTICS
[0104] In other embodiments of the invention, different numbers (or other characters) can be associated with different locations on a touchscreen. Forexample, a digital number grid emulating a physical number pad (e.g., a PIN pad) can be provided on the screen. The grid can include a plurality of cells, each cell corresponding to a different number. When the user contacts a cell to a certain number, a corresponding haptic feedback signal can be produced. Embodiments allow each number to correspond to a unique haptic feedback signal, or for some numbers to be associated with the same haptic feedback signal. A central cell of the number grid may have a distinct haptic feedback signal to provide spatial guidance to the user.
[0105] FIG. 7 illustrates a flow diagram of a method 700 for haptic feedback- supported number entry at a number grid.
[0106] A user may desire to or be prompted to enter a PIN at a user device.
[0107] At step 701 , the user device may provide a number grid. For example, the user device may activate a number grid on a touchscreen, where a set of numbers each correspond to a particular cell at a particular location on touchscreen. In some embodiments, the number grid is visually displayed. In other embodiments, the number grid is not visually displayed. The number grid may only be communicated to the user through haptic feedback signals.
[0108] At step 702, the user device can detect contact with one or more objects on a touchscreen of the user device. For example, a user may contact one or more fingers, a stylus, or any other suitable object to the touchscreen.
[0109] At step 703, the user device can determine a location of the contact. For example, the user device can determine a cell of the number grid that is being contacted, and which number is associated with that cell.
[0110] At step 704, the user device can determine whether the cell is a central cell. If the grid cell is the central cell, the method can proceed to step 705A. If the cell is not the central cell, the method can proceed to step 705B.
[0111] At step 705A, the user device can produce a first haptic feedback signal if the detected contact is at the central cell of the number grid. The first haptic feedback signal may be uniquely associated with the central cell. Any suitable haptic feedback can be utilized for the first haptic feedback signal. For example, the first haptic feedback signal can include a single pulse, multiple pulses (e.g., 2, 3, 4, or 5),an elongated pulse, a combination of long and short pulses (e.g., a morse code), a specific predefined series of short, medium, and / or long pulses, a continuous pulse (e.g., while contact remain in the central cell), and / or any other suitable distinct haptic feedback signal. The first haptic feedback signal can include one or more vibrations, electric pulses, heat or cold signals, or any other suitable type of tactile sensation.
[0112] In some embodiments, the cell can be associated with the number five. However, embodiments include any suitable arrangement of numbers and / or characters, and any suitable number or character can be positioned at the central cell.
[0113] At step 705B, the user device can produce a second haptic feedback signal if the detected contact is not at the central cell of the number grid. Similar to the first haptic feedback signal, any suitable haptic feedback can be used for second haptic feedback signal. The first haptic feedback signal may have a first configuration, and the second haptic feedback may have a second configuration that is distinct from the first configuration. In one example, the first haptic feedback signal is two pulses, and the second haptic feedback signal is one pulse. In another example, the first haptic feedback has a higher intensity or magnitude than the second haptic feedback signal.
[0114] According to embodiments, the second haptic feedback signal may be associated with each cell other than the central cell. The number grid may include nine, ten, or any suitable number of other cells. FIG. 8 illustrates an example of a number grid 801 on a user device 800. As shown, the numbers one, two, three, four, six, seven, eight, and nine can each be assigned to a corresponding cell, and each of these cells can be an adjacent cell or otherwise positioned around a central cell 810. Embodiments equally apply to any other suitable size, shape, and / or configuration of number grid or keyboard.
[0115] If the user feels the first haptic feedback signal, the user can become informed that the user is contacting the central cell (e.g., the number five). If the user feels the second haptic feedback signal, the user can become informed that the user is contacting the one of the other surrounding cells. To become spatially oriented, the user may slide their finger across the screen, searching for the firsthaptic feedback signal to locate the central cell. Then, the user can slide their finger to a desired number, knowing that each number has a predefined position relative to the central cell.
[0116] According to embodiments, the user can slide a finger across the screen without selecting a number. To select a certain number, the user can release contact from the cell and location associated with that number. The number associated with a currently contacted cell and touchscreen location can be a currently selectable number. As the user slides their finger across the screen, the currently selectable number changes based on the current cell and touchscreen location being contacted.
[0117] In other embodiments, the user can select a number by providing a selection indication. For example, a selection indication can be a predefined user input such as a double tap, a long press, contacting two or more fingers simultaneously, shaking the user device, a voice command (e.g., “select” or “enter”), or any other suitable input. Accordingly, the user can navigate the number grid based on the haptic feedback signals, and then provide a selection indication at the cell and location associated with the number desired for input.
[0118] Accordingly, at step 706, the user device can determine whether the contact has ended and / or detect a selection indication (e.g., a double tap). If the user device determines that the contact has not ended and / or does not detect a selection indication, this can indicate that the user does not wish to select the currently selectable number, and the method can continue to step 707. If the user device determines that the contact has ended and / or detects a selection indication, this can indicate that the user wishes to select the currently selectable number, the method can skip to step 708 to process the user’s selection.
[0119] At step 707, the user device can detect movement of the contact to a new location. For example, the one or more objects in contact with the touchscreen may slide or otherwise move across the touchscreen to a new cell while maintaining contact with the touchscreen.
[0120] Upon reaching a new location in step 707, the method can return to step 703, and the user device can determine a new cell of the number grid that is now being contacted. The user device can also determine which number isassociated with the new cell and corresponding touchscreen location, and update the currently selectable number to be the number associated with the new cell and touchscreen location.
[0121] In response to the updated touchscreen location, cell, and selectable number, the method can repeat steps 704 and 705A / 705B. Thus, the user device can produce another haptic feedback signal based on updated location of the contact. This can be the first haptic feedback signal if the contact moved to the central cell, and the second haptic feedback signal if the contact moved to any other cell.
[0122] According to embodiments, steps 703-707 can repeat until the user ends contact with the touchscreen and / or provides a selection indication. As long as the user maintains contact, the user device can continually update the currently selectable number and provide haptic feedback whenever the contact moves to a new cell. As a result, the user can feel whenever their finger moves to a new cell and the selectable number changes.
[0123] At step 708, the user device can determine a number selected by the user based on the end of the contact. For example, when the contact ends, a currently selectable number can be chosen as the selected number. The currently selectable number may be maintained in a record (e.g., which may be updated at each instance of step 707), or may be determined based on the final cell (e.g., the cell at the time of the end of contact). For example, if the final cell is associated with the number two, the user device can determine that the user has selected the number two.
[0124] In some embodiments, the user device can provide an extra haptic feedback signal upon selection of a number. For example, in response to the contact ending, a selection indication, and / or identification of a selected number, the user device may produce a haptic feedback signal to communicate to the user that a number has been selected and entered, and / or to communicate to the user that the user device is ready for a subsequent number entry.
[0125] At step 709, which may be similar to or the same as step 107 in FIG. 1, the user device can store and / or transmit the selected number.
[0126] At step 710, which may be similar to or the same as step 108 in FIG. 1, the user device can determine whether PIN entry is complete.
[0127] If the PIN entry is not complete, the method can go back to step 702 to begin the process for providing a subsequent number entry (e.g., for a second PIN digit). Steps 702-710 can repeat in this manner for each digit of the PIN. Once the PIN entry is complete, the method can proceed to step 711.
[0128] At step 711 , which may be similar to or the same as step 109 in FIG. 1, the user device can determine a PIN based on combination of selected numbers.
[0129] At step 712, which may be similar to or the same as step 110 in FIG. 1, the user device can process and / or transmit the PIN.
[0130] In some embodiments, the number zero is associated with the second haptic feedback signal. In other embodiments, the number zero can be associated with a unique haptic feedback signal that is different than the second haptic feedback signal, thereby making the number zero more easily identified and providing more orientation and position information.
[0131] In some embodiments, the number zero can be associated with the central cell along with the number five. The user device can be configured such that a first selection indication (e.g., a single tap) selects the number 5, while a second selection indication (e.g., a double tap) selects the number zero.
[0132] In some embodiments, the second haptic feedback signal can be assigned to the cells directly to the left, right, above, and below the central cell (e.g., the numbers 2, 4, 6, and 8). A third haptic feedback signal that is different than the second haptic feedback signal can be assigned to cells positioned diagonally relative to the central cell (e.g., the numbers 1 , 3, 7, and 9). This can provide more guidance to the user by distinguishing between slightly different movements from the center (e.g., left vs. diagonally left), thereby preventing incorrect number entries.
[0133] In some embodiments, the user device may not provide audio tones or other audible indications of the current cell being contacted, thereby preventing eavesdropping.
[0134] In some embodiments, the user device can provide audio information in addition to the haptic feedback. For example, the user device can play an audio tone, chime, message, and / or other sound to inform the user that a selection was received after each entered digit. In some embodiments, the user device can use audio messages to inform the user how many digits have been entered after each digit entry. For example, the user device can play audio messages of “one digit entered”, “two digits entered,” and so forth.
[0135] In some embodiments, additional areas of the touchscreen can provide other haptic feedback or audio feedback. For example, a “clear” or “delete” button for erasing a number entry can be associated with an audio cue of “clear” or “delete” when contacted. As another example, a completion button can be associated with an audio cue of “enter” or “complete” or “submit” when contacted.
[0136] In some embodiments, a user may delete an entered number by selecting a delete button.
[0137] In some embodiments, the user device can be configured to delete the most recent number entry in response to a deletion indication. The deletion indication can include any suitable form of user contact. For example, a swiping contact in the shape of a circle or approximating the shape of a circle can serve as an instruction to delete. This functionality can be included instead of and / or in addition to a delete button (e.g., a selectable region of the screen).
[0138] According to embodiments, the touchscreen may not display any visual feedback or other visual information related to the selectable or selected numbers.The user may slide their finger across a blank screen or a blank portion of the screen. For example, the number grid may not be displayed. As a result, embodiments can advantageously reduce or eliminate visual cues and instead utilize touch-based communications between the user device and the user, providing a secure mechanism of entering information into a user device for a visually impaired person.
[0139] While a number grid is described herein, embodiments also include any other suitable form of a number pattern. For example, in some embodiments, a digital rotary can be provided on the screen. A user can slide their finger (or otherobject) in a circular pattern to increase rotate the rotary and thereby change a currently selectable number.FLOATING NUMBER GRID WITH HAPTICS
[0140] In further embodiments, a digital number grid can have a dynamic location. The user device can provide a digital number grid with haptic feedback similar to the number grid described above with respect to FIGS. 7-8. However, instead of the number grid having a predetermined position and layout on the touchscreen, the user device can dynamically position the number grid in response to a user’s initial point of contact. For example, the initial point of contact can be utilized for the location of the central cell (e.g., the number five), and / or the number grid can be centered at or near the initial point of contact. As a result, the user can always begin navigation of the number grid from the center cell.
[0141] FIG. 9 illustrates a flow diagram of a method 900 for number entry at a dynamically positioned number grid.
[0142] A user may desire to or be prompted to enter a PIN at a user device.
[0143] At step 901 , the user device can detect contact with one or more objects on a touchscreen of the user device. For example, a user may contact one or more fingers, a stylus, or any other suitable object to the touchscreen.
[0144] At step 902, the user device may provide a number grid. For example, the user device may produce a number grid on a touchscreen, where a set of numbers each correspond to a particular cell at a particular location on touchscreen. The number grid can be positioned based on the location of initial contact detection. For example, the number grid can be centered at the location of initial contact, and / or a central cell can be positioned at the location of initial contact. The number grid may or may not be visually displayed.
[0145] In some embodiments, the number grid may be smaller than the screen. For example, the width of the number grid can be less than the width of the screen. The number grid may have a width that is a fraction or portion of the width of the screen, such as one half, one third, or two thirds of the width of the screen. As a result, the screen may still be able to accommodate the number grid even if the user does not initially contact the center of the screen. In some embodiments, the size ofnumber grid may be dynamically rendered based on the location of initial contact. For example, the user device may configure the number grid to occupy all of the space between the initial user contact and nearest edge, such that the number grid can be as large as possible while still being centered at the point of initial contact. According to embodiments, the overall shape of the number grid, the relative size of each cell, and / or the relative positioning arrangement of cells can remain the same.
[0146] At step 903, which may be similar to step 705A in in FIG. 7, the user device can produce a first haptic feedback signal associated with a central cell of the number grid. Additionally, the user device can set the number associated with the central cell (e.g., the number 5) to be the currently selectable number.
[0147] At step 904, which may be similar to step 706 in in FIG. 7, the user device can determine whether the contact has ended and / or detect a selection indication (e.g., a single tap or a double tap). If the user device determines that the contact has not ended and / or does not detect a selection indication, this can indicate that the user does not wish to select the currently selectable number (e.g., the number associated with the central cell), and the method can continue to step 905. If the user device determines that the contact has ended and / or detects a selection indication, this can indicate that the user wishes to select the currently selectable number (e.g., the number associated with the central cell), and the method can skip to step 908 to process the user’s selection.
[0148] At step 905, which may be the same as or similar to step 707 in in FIG. 7, the user device can detect movement of the contact to a new location.
[0149] At step 906, the user device can determine an updated location and corresponding cell of the number grid that is now being contacted. The user device can also determine which number is associated with the updated cell and touchscreen location, and update the currently selectable number to be the number associated with the updated cell.
[0150] As examples, if the contact moves to a new cell that is positioned diagonally up and left relative to the initial contact, the new cell may be associated with the number one. If the contact moves to a new cell that is positioned directly up relative to the initial contact, the new cell may be associated with the number two. If the contact moves to a new cell that is positioned diagonally up and right relative tothe initial contact, the new cell may be associated with the number three. If the contact moves to a new cell that is positioned directly left relative to the initial contact, the new cell may be associated with the number four. If the contact moves to a new cell that is positioned directly right relative to the initial contact, the new cell may be associated with the number six. If the contact moves to a new cell that is positioned diagonally down and left relative to the initial contact, the new cell may be associated with the number seven. If the contact moves to a new cell that is positioned directly down relative to the initial contact, the new cell may be associated with the number eight. If the contact moves to a new cell that is positioned diagonally down and right relative to the initial contact, the new cell may be associated with the number nine.
[0151] According to embodiments, contact to can move to a new touchscreen location and cell through any suitable course or movement. For example, to reach a new cell that is positioned diagonally up and left relative to the initial contact, the contact can move directly there through a diagonal movement. Alternatively, the contact can first move left, and then move up.
[0152] FIG. 10 illustrates an example of a dynamic number grid 1001 on a user device 1000. The central cell 1010 can be positioned at the location of initial contact by the user. Two other cells are illustrated as positioned relative to the location of the dynamically rendered central cell. A first cell 1020 at a first location that is diagonally up and left relative to the central cell 1010 may be associated with the number one. A second cell 1030 at a second location that is directly up relative to the central cell 1010 may be associated with the number two.
[0153] Referring back to FIG. 9, step 907, the user device can produce another haptic feedback signal based on updated location of the contact and the corresponding cell. Typically, this may not be the first haptic feedback signal, as the first haptic feedback signal may be uniquely associated with the central cell, and the contact has at this point just departed from the central cell. Instead, the user device may produce a second haptic feedback signal (e.g., similar to step 705B in in FIG. 7).
[0154] According to embodiments, steps 904-907 can repeat until the user ends contact with the touchscreen and / or provides a selection indication. As long asthe user maintains contact, the user device can continually update the currently selectable number and provide haptic feedback whenever the contact moves to a new cell. As a result, the user can feel whenever their finger moves to a new cell and the selectable number changes. At each instance of step 907, the user device can determine whether the cell is the central cell. If the cell is the central cell, the user device can provide the first haptic feedback signal. If the cell is not the central cell, the user device can provide the second haptic feedback signal or other haptic feedback signal.
[0155] At step 908, which may be the same as or similar to step 708 in in FIG. 7, the user device can determine a number selected by the user based on the end of the contact.
[0156] At step 909, which may be similar to or the same as step 107 in FIG. 1 as well as step 709 in in FIG. 7, the user device can store and / or transmit the selected number.
[0157] At step 910, which may be similar to or the same as step 108 in FIG. 1 as well as step 710 in in FIG. 7, the user device can determine whether PIN entry is complete.
[0158] If the PIN entry is not complete, the method can go back to step 901 to begin the process for providing a subsequent number entry (e.g., for a second PIN digit). In some embodiments, the number grid can be re-positioned for each user contact, each digit selection, and / or each instance of step 901. Steps 901-710 can repeat in this manner for each digit of the PIN. Once the PIN entry is complete, the method can proceed to step 911.
[0159] At step 911 , which may be similar to or the same as step 109 in FIG. 1 as well as step 711 in in FIG. 7, the user device can determine a PIN based on combination of selected numbers.
[0160] At step 912, which may be similar to or the same as step 110 in FIG. 1 as well as step 712 in in FIG. 7, the user device can process and / or transmit the PIN.
[0161] In some embodiments, the number zero is associated with the second haptic feedback signal. In other embodiments, the number zero can be associated with a unique haptic feedback signal that is different than the second haptic feedbacksignal, thereby making the number zero more easily identified and providing more orientation and position information.
[0162] In other embodiments, the number zero can be associated with the central cell in addition to the number five. The user device can be configured such that a first selection indication (e.g., a single tap) selects the number 5, while a second selection indication (e.g., a double tap) selects the number zero.
[0163] In some embodiments, the second haptic feedback signal can be assigned to the cells directly to the left, right, above, and below the central cell (e.g., the numbers 2, 4, 6, and 8). A third haptic feedback signal that is different than the second haptic feedback signal can be assigned to cells positioned diagonally related to the central cell (e.g., the numbers 1 , 3, 7, and 9). This can provide more guidance to the user by distinguishing between slightly different movements from the center (e.g., left vs. diagonally left), thereby preventing incorrect number entries. The terms “second haptic” and “third haptic” do not necessarily refer to the order in which the haptic feedback signals are produced, and instead can refer to a pattern or other quality of haptic feedback. For example, in some embodiments, the first haptic feedback signal may not be produced, and the second haptic feedback signal may be sequentially the first haptic provided in time.
[0164] In some embodiments, the user device may not provide audio tones or other audible indications of the current cell being contacted, thereby preventing eavesdropping.
[0165] In some embodiments, the user device can provide audio information in addition to the haptic feedback. For example, the user device can play an audio tone, chime, message, and / or other sound to inform the user that a selection was received after each entered digit. In some embodiments, the user device can use audio messages to inform the user how many digits have been entered after each digit entry. For example, the user device can play audio messages of “one digit entered”, “two digits entered,” and so forth.
[0166] In some embodiments, additional areas of the touchscreen can provide other haptic feedback or audio feedback. For example, a “clear” or “delete” button for erasing a number entry can be associated with an audio cue of “clear” or “delete” and / or a haptic feedback signal when contacted and. As another example, acompletion button can be associated with an audio cue of “enter,” “complete,” “submit,” or “done” and / or a haptic feedback signal when contacted.
[0167] In some embodiments, a user may delete an entered number by selecting a delete button.
[0168] In some embodiments, the user device can be configured to delete the most recent number entry in response to a deletion indication. The deletion indication can include any suitable form of user contact. For example, a swiping contact in the shape of a circle or approximating the shape of a circle can serve as an instruction to delete. This functionality can be included instead of and / or in addition to a delete button (e.g., a selectable region of the screen).
[0169] In some embodiments, additional areas of the touchscreen can provide other haptic feedback or audio feedback. For example, a “clear” or “delete” button for erasing a number entry can be associated with an audio cue of “clear” or “delete” and / or a haptic feedback signal when contacted and. As another example, a completion button can be associated with an audio cue of “enter,” “complete,” “submit,” or “done” and / or a haptic feedback signal when contacted.
[0170] According to embodiments, the touchscreen may not display any visual feedback or other visual information related to the selectable or selected numbers. The user may slide their finger across a blank screen or a blank portion of the screen. For example, the number grid may not be displayed. As a result, embodiments can advantageously reduce or eliminate visual cues and instead utilize touch-based communications between the user device and the user, providing a secure mechanism of entering information into a user device for a visually impaired person.
[0171] While FIG. 9 describes providing haptic feedback, in some embodiments haptic feedback may not be necessary. If the user knows the central cell is always rendered at the point of initial contact, the user may be able to swipe in the relevant direction without needing the navigation guidance provided by the haptic feedback of steps 903 and / or 907, for example.
[0172] While a number grid is described herein, embodiments also include any other suitable form of a number pattern. For example, in some embodiments, adigital rotary can be provided on the screen. A user can slide their finger (or other object) in a circular pattern to increase rotate the rotary and thereby change a currently selectable number. A bottom area, draggable portion, or otherwise beginning of a rotary can be rendered at the point of initial user contact.DIRECTIONAL SWIPE WITH HAPTICS
[0173] In further embodiments, a user device can associate a number or character with a direction of movement. For example, an upward swipe can be associated with the number two. The swipe direction can include a range of directions or angles from an initial point, which may be represented by a cone or triangle.
[0174] Directional swiping can include some similarities to the floating number grid discussed above with respect to above with respect to FIGS. 7-8, as a user can similarly directionally swipe to reach a desired cell associated with a desired number. However, corner intersections of grids, such as the corner intersection of the cells for numbers one, two, four, and five, can potentially cause an undesired entry due to many locations being in proximity. For example, if a user desires to input the number one, the user may accidentally move into the cell for the number two or the number four while moving through the corner intersection. The user may then mistakenly enter the number two or four instead of the desired number one. In contrast, directional swiping can avoid crowded intersections of this sort. Instead of moving a contact to a specific end location associated with a desired cell, the user can provide a swipe trajectory of any suitable length that may have less potential for ambiguity.
[0175] FIG. 11 illustrates a flow diagram of a method 1100 for number entry via directional swiping.
[0176] A user may desire to or be prompted to enter a PIN at a user device.
[0177] At step 1101, the user device can detect contact with one or more objects on a touchscreen of the user device. For example, a user may contact one or more fingers, a stylus, or any other suitable object to the touchscreen. The contact can occur at any suitable area of the touchscreen.
[0178] At step 1102, the user device can produce a first haptic feedback signal. The first haptic feedback signal may be provided to inform the user that contact is established and directional swiping can begin. Any suitable haptic feedback can be utilized for the first haptic feedback signal. For example, the first haptic feedback signal can include a single pulse, multiple pulses (e.g., 2, 3, 4, or 5), an elongated pulse, a combination of long and short pulses (e.g., a morse code), a specific predefined series of short, medium, and / or long pulses, a continuous pulse, and / or any other suitable distinct haptic feedback signal. The first haptic feedback signal can include one or more vibrations, electric pulses, heat or cold signals, or any other suitable type of tactile sensation.
[0179] At step 1103, the user device can detect movement of the contact. The user may swipe the contact across the screen to indicate a desired number associated with the direction and trajectory of the swipe. The user device may measure the travel distance of swipe as the contact moves.
[0180] At step 1104, the user device can produce a second haptic feedback signal. The second haptic feedback signal may be produced in response to the contact movement having reached a predetermined length and / or time. For example, a certain amount of movement distance (e.g., 1 cm, 2 cm, 3 cm, 4 cm, 5 cm, 6 cm, 7 cm, 8 cm, 9 cm, or 10 cm) and / or time (e.g., second, 1 second, 2 seconds, 3 seconds, 4 seconds, or 5 seconds) may be sufficient to determine the intended trajectory of the movement. The second haptic feedback signal may be provided to inform the user that enough swiping movement was received, and the user can disengage the contact.
[0181] Any suitable haptic feedback can be utilized for the second haptic feedback signal. In some embodiments, the second haptic feedback signal can be distinct from the first haptic feedback. As an example, the first haptic feedback can include two pulses, and the second haptic feedback signal can include a single pulse. In other embodiments, the second haptic feedback can be similar to or the same as the first haptic signal. For example, each of the first haptic feedback and the second haptic feedback signal can include a single pulse. In other example, the second haptic feedback signal can be configured based on an associated trajectory and number (e.g., six pulses for a trajectory corresponding to the number six).
[0182] At step 1105, the user device can detect an end to the contact and / or detect a selection indication (e.g., a double tap). For example, the user may disengage the contact in response to the second haptic feedback signal. In some embodiments, the user may also provide a selection indication (e.g., double tap) to confirm the input.
[0183] In some embodiments, after the second haptic feedback signal of step 1104, the user device may continue tracking movements of the contact if the contact continues. For example, the user may continue the moving contact to provide a longer swipe, which may enable a more accurate determination of intended trajectory. In some embodiments, the method may not proceed to step 1106 until the user device detects an end to the contact and / or a selection indication. In other embodiments, for efficiency, the method may proceed to step 1106 immediately after or at the same time as the second haptic feedback signal of step 1104.
[0184] At step 1106, the user device can determine a trajectory (also referred to as directionality) of the contact movement. In some embodiments, the trajectory of the movement may be defined by a line between two points. The first point may be the location of initial contact and / or the location of contact at the time of the first haptic feedback signal of step 1102. The second point may be a predefined distance from the first point, the location of contact at the time of the second haptic feedback signal of step 1104, and / or the location of disengagement of the contact. The trajectory can be determined in any other suitable manner, such as an averaging of the contact movement, and / or providing extra weight to a first portion of the movement, a middle portion of the movement, or a final portion of the movement.
[0185] At step 1107, the user device can determine a number that was selected by the user. For example, the user device can identify a number or other character associated with the trajectory.
[0186] FIG. 12 illustrates an example trajectory map. In FIG. 12, a central location 1210 represents the first point and / or location of initial contact. Various trajectory cones are shown corresponding to different numbers. Any suitable number or character can be associated with any suitable trajectory. For example, a trajectory diagonally up and left (e.g., 135 degrees as measured counterclockwise from the x-axis) relative to the initial contact may be associated with the number one.A trajectory directly up (e.g., 90 degrees as measured counterclockwise from the x- axis) relative to the initial contact may be associated with the number two. A trajectory diagonally up and right relative (e.g., 45 degrees as measured counterclockwise from the x-axis) to the initial contact may be associated with the number three. A trajectory directly left (e.g., 180 degrees as measured counterclockwise from the x-axis) relative to the initial contact may be associated with the number four. A trajectory directly right (e.g., 0 degrees as measured counterclockwise from the x-axis) relative to the initial contact may be associated with the number six. A trajectory diagonally down and left (e.g., 225 degrees as measured counterclockwise from the x-axis) relative to the initial contact may be associated with the number seven. A trajectory directly down (e.g., 270 degrees as measured counterclockwise from the x-axis) relative to the initial contact may be associated with the number eight. A trajectory diagonally down and right (e.g., 315 degrees as measured counterclockwise from the x-axis) relative to the initial contact may be associated with the number nine. Each trajectory can include a range of directions (e.g., plus and / or minus 2 degrees, 5 degrees, 10 degrees, or any other suitable amount).
[0187] In some embodiments, the directionality (e.g., the x-axis) can be defined relative to the touchscreen. For example, the typical bottom of the touchscreen can by parallel to the x-axis or otherwise define what is level. In other embodiments, the directionality (e.g., the x-axis) can be defined relative to gravity. For example, the downward pull of gravity (e.g., as measured by on-device instruments) can be used to set the direction of level of the x-axis. This can advantageously improve interpretation of the user’s input in case the touchscreen is slightly turned or sideways, and / or the user is otherwise unaware of the orientation of the touchscreen.
[0188] In some embodiments, the user device can associate additional numbers with shorter and / or longer movements. Thus, a trajectory can incorporate both direction and length of a movement path. For example, a long swipe (e.g., 5 cm or 10 cm) downward can be associated with the number zero. The user device may provide the second haptic feedback signal when the user has reached the travel distance for the number eight, and then the user device may provide a third haptic feedback signal if the contact continues moving for an additional predetermineddistance and / or time to reach the number zero. As another example, the number five can be associated with little or no movement. Instead of swiping, the user can press and hold in a single location for a predetermined amount of time (e.g., a short tap, or a long press of one or more seconds) to enter the number five. The user device may provide the second haptic feedback signal after the predetermined amount of time.
[0189] In some embodiments the user device screen may illustrate a trajectory map such as the trajectory map 1201 shown in FIG. 12. In other embodiments, the user device screen may be blank, black, or otherwise not show number or PIN-related information during the number entry process.
[0190] FIGS. 13A-H illustrate examples of a detected contact at a user device 1300. As shown, embodiments allows contact to be initiated at any suitable area of the touchscreen. Additionally, different instances of contact can be initiated in different areas of the touchscreen. The user device may be able to determine a trajectory of moving contact regardless of the point of contact initiation. FIG. 13A illustrates the user device 1300 detecting moving contact with a downward trajectory, which may be associated with the number eight. FIG. 13B illustrates the user device 1300 detecting a moving contact with a downward trajectory and an elongated contact distance (e.g., 5 cm, 10 cm, of the touchscreen height, and / or any other suitable distance), which may be associated with the number zero. FIG. 13C illustrates the user device 1300 detecting a moving contact with a diagonally up and right trajectory, which may be associated with the number three. FIG. 13D illustrates the user device 1300 detecting a stationary contact (e.g., no trajectory), which may be associated with the number five. FIG. 13E illustrates the user device 1300 detecting a moving contact with a diagonally down and right trajectory, which may be associated with the number nine. FIG. 13F illustrates the user device 1300 detecting a moving contact with a diagonally down and left trajectory, which may be associated with the number seven. FIG. 13G illustrates the user device 1300 detecting a moving contact with a circular pattern (e.g., no conclusive direction or trajectory), which may be associated with an erase command. FIG. 13H illustrates the user device 1300 detecting a two successive stationary contacts (e.g., a double tap), which may be associated with a done or enter command (e.g., for entering the PIN, or for entering a digit for the PIN).
[0191] Referring back to FIG. 11, at step 1108, which may be similar to or the same as step 107 in FIG. 1 as well as step 709 in in FIG. 7 and step 909 in FIG. 9, the user device can store and / or transmit the selected number.
[0192] At step 1109, which may be similar to or the same as step 108 in FIG.1 as well as step 710 in in FIG. 7 and step 910 in FIG. 9, the user device can determine whether PIN entry is complete.
[0193] If the PIN entry is not complete, the method can go back to step 1101 to begin the process for providing a subsequent number entry (e.g., for a second PIN digit). Steps 1101-1108 can repeat in this manner for each digit of the PIN. Once the PIN entry is complete, the method can proceed to step 1110.
[0194] At step 1110, which may be similar to or the same as step 109 in FIG. 1 as well as step 711 in in FIG. 7 and step 911 in FIG. 9, the user device can determine a PIN based on combination of selected numbers.
[0195] At step 1111 , which may be similar to or the same as step 110 in FIG.1 as well as step 712 in in FIG. 7 and step 912 in FIG. 9, the user device can process and / or transmit the PIN.
[0196] In some embodiments, the user device can provide audio information in addition to the haptic feedback. For example, the user device can play an audio tone, chime, message, and / or other sound to inform the user that a selection was received after each entered digit. In some embodiments, the user device can use audio messages to inform the user how many digits have been entered after each digit entry. For example, the user device can play audio messages of “one digit entered”, “two digits entered,” and so forth.
[0197] In some embodiments, additional areas of the touchscreen can provide other haptic feedback or audio feedback. For example, a “clear” or “delete” button for erasing a number entry can be associated with an audio cue of “clear” or “delete” when contacted. As another example, a completion button can be associated with an audio cue of “enter,” “complete,” “submit,” “done” when contacted.
[0198] In some embodiments, a user may delete an entered number by selecting a delete button.
[0199] In some embodiments, the user device can be configured to delete the most recent number entry in response to a deletion indication. The deletion indication can include any suitable form of user contact. For example, a swiping contact in the shape of a circle or approximating the shape of a circle can serve as an instruction to delete. This functionality can be included instead of and / or in addition to a delete button (e.g., a selectable region of the screen).
[0200] According to embodiments, the touchscreen may not display any visual feedback or other visual information related to the selectable or selected numbers. The user may slide their finger across a blank screen or a blank portion of the screen. For example, the trajectory map 1201 shown in FIG. 12 may not be displayed. As a result, embodiments can advantageously reduce or eliminate visual cues and instead utilize touch-based communications between the user device and the user, providing a secure mechanism of entering information into a user device for a visually impaired person.
[0201] While FIG. 11 describes providing haptic feedback, in some embodiments haptic feedback may not be necessary. The user may be able to swipe in the relevant direction without needing the communications provided by the haptic feedback.OVERVIEW OF HAPTIC-BASED NUMERICAL INPUT
[0202] Discussed above are several techniques for receiving contact-based user input at a user device. Each of the techniques can involve communicating the user through haptic feedback. A generalized method flow that encapsulates each of these techniques can be described with respect to FIG. 14.
[0203] FIG. 14 illustrates a flow diagram of a method 1400 for number entry via haptic feedback.
[0204] A user may desire to or be prompted to enter a PIN at a user device.
[0205] At step 1401 , the user device can detect contact with one or more objects on a screen of the user device. This can include, for example, features of step 101 in FIG. 1 , step 702 in FIG. 7, step 901 in FIG. 9, and / or step 1101 in FIG.11
[0206] At step 1402, the user device can detect movement of the contact.This can include, for example, features of step 102 in FIG. 1 , step 707 in FIG. 7, step 905 in FIG. 9, and / or step 1103 in FIG. 11.
[0207] At step 1403, the user device can produce one or more haptic feedback signals during the contact and / or movement. This can include, for example, features of steps 103 and / or 105 in FIG. 1 , steps 705A and / or 705B in FIG. 7, steps 903 and / or 907 in FIG. 9, and / or steps 1102 and / or 1104 in FIG. 11.
[0208] At step 1404, the user device can detect an end to the contact and / or a selection indication. This can include, for example, features of step 104 in FIG. 1 , step 706 in FIG. 7, step 904 in FIG. 9, and / or step 1105 in FIG. 11.
[0209] At step 1405, the user device can determine a selected number based on the end of the contact and / or selection indication. This can include, for example, features of step 106 in FIG. 1 , step 708 in FIG. 7, step 908 in FIG. 9, and / or steps 1106 and / or 1107 in FIG. 11.
[0210] At step 1406, the user device can store and / or transmit the selected number. This can include, for example, features of step 107 in FIG. 1 , step 709 in FIG. 7, step 909 in FIG. 9, and / or step 1108 in FIG. 11.
[0211] At step 1407, the user device can determine whether PIN entry is complete. This can include, for example, features of step 108 in FIG. 1, step 710 in FIG. 7, step 910 in FIG. 9, and / or step 1109 in FIG. 11.
[0212] If the PIN entry is not complete, the method can go back to step 1401 to begin the process for providing a subsequent number entry (e.g., for a second PIN digit or further PIN digit). Steps 1401-1407 can repeat in this manner for each digit of the PIN. Once the PIN entry is complete, the method can proceed to step 1408.
[0213] At step 1408, the user device can determine a PIN based on combination of selected numbers. This can include, for example, features of step 109 in FIG. 1 , step 711 in FIG. 7, step 911 in FIG. 9, and / or step 1110 in FIG. 11.
[0214] At step 1409, the user device can process and / or transmit the PIN.This can include, for example, features of step 110 in FIG. 1 , step 712 in FIG. 7, step 912 in FIG. 9, and / or step 1111 in FIG. 11.AMOUNT SELECTION BY DIRECTIONAL SWIPE
[0215] Further embodiments of the invention include direction swiping to increase and / or decrease an amount. For example, a tip amount (e.g., a percentage of a bill) can be modified through directional swiping. As another example, an amount of cash to withdraw at an ATM can be modified through direction swiping. As a result, visually impaired individuals can independently enter an amount.
[0216] FIG. 15A illustrates an example of increasing an amount with an upward swipe. An upward swipe on a touchscreen can cause an amount to be increased by a predetermined increment. For example, a tip amount can be increased by 1%, 5%, 10%, or any other suitable increment with each upward swipe. In this example, the tip may be increased from 5% to 10%.
[0217] FIG. 15B illustrates another example of increasing an amount with an upward swipe. In this example, the tip may be increased from 10% to 15%. The directional swipe can contact the touchscreen in any suitable area of the touchscreen. The contact may not need to overlap with a button or selectable area associated with a desired tip amount.
[0218] FIG. 15C illustrates an example of decreasing an amount with a downward swipe. A downward swipe on a touchscreen can cause an amount to be decreased by a predetermined increment. For example, a tip amount can be decreased by 5%, 10%, or any other suitable increment with each downward swipe. In this example, the tip may be decreased from 25% to 20%.
[0219] FIG. 15D illustrates an example of entering an amount with a selection indication. A selection indication, such as a double tap, can enter an amount that is currently set or selected (e.g., as set by previous swipes). In this example, the entered amount may be decreased 15%.
[0220] Embodiments can include haptic feedback. For example, each time the user changes the amount, a haptic feedback signal can be produced. In some embodiments, the haptic feedback signal can communicate information about the amount. For example, each pulse of a haptic feedback signal can represent 5%, such that a haptic feedback signal with four pulses can indicate that the user has currently selected 20%.
[0221] Embodiments can include audio feedback. For example, each time the user changes the amount, an audio confirmation (e.g., chime or beep) can be produced. In some embodiments, the audio can include voice assistance. For example, a voice can inform the user what amount is selected (e.g., “10%”, “20% selected”, “No tip,” “tip amount entered,” “total amount is ...,” “payment successful,” etc.)
[0222] The amount can start at a default amount. For example, a starting tip amount may be 0%, 10%, or 20%, and the user can modify the amount from there.USER DEVICE
[0223] Embodiments allow the user device to take any suitable form. The user device can be any suitable device that a user can interact with. For example, the user device may take the form of a mobile device (e.g., which may belong to the user) or an access device (e.g., which may belong to a service provider).
[0224] FIG. 16 illustrates a user device 1600 according to an embodiment. User device 1600 may include device hardware 1604 coupled to a system memory 1602
[0225] Device hardware 1604 may include a processor 1606, a short range antenna 1614, a long range antenna 1616, input elements 1610, a user interface 1608, and output elements 1612 (which may be part of the user interface 1608). The processor 1606 can be implemented as one or more integrated circuits (e.g., one or more single core or multicore microprocessors and / or microcontrollers), and is used to control the operation of user device 1600. The processor 1606 can execute a variety of programs in response to program code or computer-readable code stored in the system memory 1602, and can maintain multiple concurrently executing programs or processes.
[0226] Examples of input elements 1610 may include microphones, keypads, touchscreens, sensors, etc. In some embodiments, a user interface 1608 (which may also be referred to as an interactive element), may be configured for both input and output. For example, a touchscreen may be an interactive element configured to detect contact by a user to receive input, and also configured to output informationto the user through a visual display. A touchscreen may include a glass panel, a plastic panel, one or more sensors, and / or any other suitable components.
[0227] Examples of output elements 1612 may include speakers, display screens, and haptic feedback element. The output elements 1612 can include any suitable elements for providing haptic feedback. For example, one or more haptic feedback elements may be configured to vibrate, transmit an electric pulse, generate heat or cold (e.g., in localized spaces), or provide any other suitable form of haptic feedback. Haptic feedback elements may include one or more actuators, head pads, electric pulse emitters, or any other suitable tactile devices or hardware for providing haptic feedback.
[0228] The long range antenna 1616 may include one or more RF transceivers and / or connectors that can be used by user device 1600 to communicate with other devices and / or to connect with external networks. The user interface 1608 can include any combination of input and output elements to allow a user to interact with and invoke the functionalities of user device 1600. The short range antenna 1614 may be configured to communicate with external entities through a short range communication medium (e.g., using Bluetooth, Wi-Fi, infrared, NFC, etc.). The long range antenna 1616 may be configured to communicate with a remote base station and a remote cellular or data network, over the air.
[0229] The system memory 1602 can be implemented using any combination of any number of non-volatile memories (e.g., flash memory) and volatile memories (e.g. DRAM, SRAM), or any other non-transitory storage medium, or a combination thereof media. The system memory 1602 may store computer code, executable by the processor 805, for performing any of the functions described herein. For example, the system memory 1602 may comprise a computer readable medium comprising code, executable by the processor 1606, for implementing a method comprising: a) detecting contact with one or more objects on the touchscreen; b) detecting a movement of the contact on the touchscreen; c) producing one or more haptic feedback signals in response to the movement of the contact, each of the one or more haptic feedback signals being associated with a selectable number; d) detecting at least one of an end of the contact and a selection indication; e)determining a selected number based on the at least one of the end of the contact and the selection indication; and f) storing or transmitting the selected number.
[0230] The system memory 1602 may also store a transaction initiation module 1602A, a touch detection module 1602B, a haptic signal module 1602C, a secret processing module 1602D, and / or an operating system 1602E, among other components.
[0231] The transaction initiation module 1602A may include instructions or code for initiating and conducting a transaction with an external device such as an access device or a processing computer. It may include code, executable by the processor 1606, for generating and transmitting authorization request messages, as well as receiving and forwarding authorization response messages. It may also include code, executable by the processor 1606, for forming a local connection or otherwise interacting with an external access device.
[0232] The touch detection module 1602B may include instructions or code for detecting contact. It may include code, executable by the processor 1606, for detecting touch at a touchscreen by an object (e.g., a finger or styles), determining a location of the touch on the touchscreen, identifying movement, determining a speed and / or direction of movement, determining when movement ends and / or contact disengages, and / or determining a final location of contact before disengagement.
[0233] The haptic signal module 1602C may include instructions or code for causing haptic feedback. It may include code, executable by the processor 1606, for controlling a haptic feedback element to produce a haptic feedback signal. Haptic feedback signals can be produced in response to triggering events such as movement of contact on a touchscreen. Specific haptic feedback signal configurations can be utilized depending on the triggering event.
[0234] The secret processing module 1602D may include instructions or code for processing a secret. It may include code, executable by the processor 1606, for receiving a secret (e.g., a PIN) and determining whether the secret is valid. For example, the secret processing module 1602D may comprise code that causes the processor 1606 to combine one or more entered characters to form a received secret, and to compare the received secret to a stored secret to determine if the received secret is valid. In some embodiments, the secret processing module1602D may comprise code that causes the processor 1606 to transmit a received secret to a server computer for processing, and to receive a response from the server computer indicating whether the secret is successfully verified.
[0235] Any of the software components or functions described in this application, may be implemented as software code to be executed by a processor using any suitable computer language such as, for example, Java, C++ or Perl using, for example, conventional or object-oriented techniques. The software code may be stored as a series of instructions, or commands on a computer readable medium, such as a random access memory (RAM), a read only memory (ROM), a magnetic medium such as a hard-drive or a floppy disk, or an optical medium such as a CD-ROM. Any such computer readable medium may reside on or within a single computational apparatus, and may be present on or within different computational apparatuses within a system or network.
[0236] The above description is illustrative and is not restrictive. Many variations of the invention may become apparent to those skilled in the art upon review of the disclosure. The scope of the invention can, therefore, be determined not with reference to the above description, but instead can be determined with reference to the pending claims along with their full scope or equivalents.
[0237] One or more features from any embodiment may be combined with one or more features of any other embodiment without departing from the scope of the invention.
[0238] A recitation of "a", "an" or "the" is intended to mean "one or more" unless specifically indicated to the contrary.
[0239] All patents, patent applications, publications, and descriptions mentioned above are herein incorporated by reference in their entirety for all purposes. None is admitted to be prior art.
Claims
WHAT IS CLAIMED IS:1 . A method comprising: a) detecting, by a user device comprising a touchscreen, contact on the touchscreen with one or more objects; b) detecting, by the user device, a movement of the contact on the touchscreen; c) producing, by the user device, one or more haptic feedback signals in response to the movement of the contact, each of the one or more haptic feedback signals being associated with a selectable number; d) detecting, by the user device, at least one of an end of the contact and a selection indication; e) determining, by the user device, a selected number based on the at least one of the end of the contact and the selection indication; and f) storing or transmitting, by the user device, the selected number.
2. The method of claim 1 , further comprising: repeating steps a)-f) until the user device receives a secret formed by the selected number and at least one additional number.
3. The method of claim 1 , wherein producing the one or more haptic feedback signals in response to the movement of the contact includes: producing a first haptic feedback signal in response to a first portion of the movement, the first haptic feedback signal being associated with a first selectable number; and producing a second haptic feedback signal in response to a second portion of the movement, the second haptic feedback signal being associated with a second selectable number.
4. The method of claim 1 , wherein the one or more haptic feedback signals is a plurality of haptic feedback signals, and producing the one or more haptic feedback signals in response to the movement of the contact includes: sequentially producing each of the plurality of haptic feedback signals during the movement, wherein a first haptic feedback signal of the plurality of haptic feedback signals is associated with a first selectable number which is the numberone, and each successive haptic feedback signal of the plurality of haptic feedback signals is associated with a selectable number that is incrementally increased by one relative to a previous haptic feedback signal.
5. The method of claim 4, wherein each of the plurality of haptic feedback signals includes a number of vibration pulses equal to the selectable number.
6. The method of claim 5, wherein determining the selected number includes identifying the selectable number associated with a most recent of the plurality of haptic feedback signals before the end of the contact or the selection indication.
7. The method of claim 5, wherein sequentially producing each of the plurality of haptic feedback signals includes sequentially updating a currently selectable number to be the selectable number associated with a most recent of the plurality of haptic feedback signals, and wherein determining the selected number includes identifying the currently selectable number at a time of the end of the contact or the selection indication.
8. The method of claim 4, wherein a point of initial contact on the touchscreen is a random location on the touchscreen, wherein the movement of the contact is continuous, wherein the movement of the contact does not follow a predefined pattern, and wherein the selection indication is a double tap.
9. The method of claim 4, wherein the plurality of haptic feedback signals are produced at variable intervals.
10. The method of claim 9, wherein the variable intervals are distance intervals.11 . The method of claim 1 , wherein the movement of the contact is circular, and wherein producing the one or more haptic feedback signals in response to the movement of the contact includes producing a first subset of one or more haptic feedback signals during a first circle traced by the movement of the contact, and producing a second subset of one or more haptic feedback signals during asecond circle traced by the movement of the contact, wherein the first subset and the second subset include a different number of haptic feedback signals.
12. The method of claim 1 , further comprising: in response to detecting the contact with the one or more objects on the touchscreen, providing a number grid with a plurality of cells, each of the plurality of cells being associated with a corresponding number and a corresponding location on the touchscreen, and a central cell of the plurality of cells being positioned at a point of initial contact on the touchscreen.
13. The method of claim 12, wherein the point of initial contact on the touchscreen is not the center of the touchscreen, and wherein the number grid is not visually displayed.
14. The method of claim 12, further comprising: producing a first haptic feedback signal in response to detecting the contact with the one or more objects on the touchscreen, the first haptic feedback signal being associated with the central cell; and determining that the contact has moved to an adjacent cell of the plurality of cells, and wherein producing the one or more haptic feedback signals includes producing a second haptic feedback signal in response to determining that the contact has moved to the adjacent cell of the plurality of cells, wherein the second haptic feedback signal has a second configuration that is distinct from a first configuration of the first haptic feedback signal.
15. The method of claim 13, wherein producing the one or more haptic feedback signals includes updating a currently selectable number to be the selectable number associated with a currently contacted cell of the plurality of cells, and wherein determining the selected number includes identifying the currently selectable number at a time of the end of the contact or the selection indication.
16. The method of claim 1 , further comprising: determining a trajectory of the movement based on a first location of initial contact and a second location of the end of the contact, wherein determining the selected number includes identifying a number associated with the trajectory.
17. The method of claim 16, further comprising: producing a first haptic feedback signal in response to detecting the contact with the one or more objects on the touchscreen; and determining that the contact has moved a predetermined distance from a point of initial contact, and wherein producing the one or more haptic feedback signals includes producing a second haptic feedback signal in response to determining that the contact has moved the predetermined distance.
18. The method of claim 17, wherein producing the second haptic feedback signal serves as an indication that the movement of the contact is sufficient for determining the selectable number, and wherein the selectable number is the number associated with the trajectory.
19. A user device comprising: a touchscreen; an actuator configured to generate haptic feedback signals; a processor, and a memory storing instructions that, when executed by the processor, cause the processor to perform steps comprising: a) detecting contact with one or more objects on the touchscreen; b) detecting a movement of the contact on the touchscreen; c) producing one or more haptic feedback signals in response to the movement of the contact, each of the one or more haptic feedback signals being associated with a selectable number; d) detecting at least one of an end of the contact and a selection indication; e) determining a selected number based on the at least one of the end of the contact and the selection indication; and f) storing or transmitting the selected number.
20. The user device of claim 19, wherein the user device is a mobile device or an access device.