1). Field of the Invention
This invention relates generally to a transactions network and to a method and system for managing electronic transactions.
2). Discussion of Related Art
A customer who visits a store often uses a point-of-sale instrument such as a bank card or a credit card to pay for an item or items that are being purchased. The point-of-sale instrument communicates with a point-of-sale device such as a credit card reader. The point-of-sale device forms part of a point-of-sale network that communicates a charge request to a merchant acquirer computer system and the merchant acquirer computer system routes the charge to credit card and issuer computer systems forming part of the point-of-sale network. The credit card and issuer computer systems may for example include a credit card account to which an amount recorded on the point-of-sale device can be charged if sufficient funds or credit are available. The credit card and issuer computer systems then return a confirmation through the merchant acquirer computer system to the point-of-sale device that the transaction is good, whereafter an operator of the point-of-sale device will allow the customer to leave the store with the item or items that are being purchased.
Electronic transactions can be conducted in a similar manner. In the case of electronic transactions, a user can enter details of a point-of-sale instrument into an interface. Once the details are received, a charge request can be transmitted to a merchant acquirer computer system, and then be processed in a similar manner.
The invention provides a computer system for managing electronic transactions, including a server computer system having a processor, a computer-readable medium connected to the processor, a network interface device connected to the processor and a set of instructions on the computer-readable medium, the set of instructions being executable by the processor. The set of instruction includes a plurality of merchant accounts stored in the data store, each merchant account having a merchant account identifier, a merchant account management system receiving a voucher entry over the network interface device from a merchant computer system, the merchant offer being stored in the data store in association with the merchant account having the respective merchant account identifier, a transaction clearing system that receives a charge advisory over the network interface device, the charge advisory including a second consumer account identifier, a voucher redemption system matching the second merchant account identifier to one of the first merchant account identifiers to identify a selected one of the voucher entries associated with the merchant account having the first merchant account identifier and a settlement system. The settlement system has (i) at least one central account, (ii) a merchant payment management module receiving a notification from a server computer system bank account of settlement from a merchant account payment infrastructure of the discount amount, and updating the at least one central account based on the notification, and (iii) a network payment management module transmitting a settlement instruction for settlement based on the discount amount, and updating, with the processor, the at least one central account based on the settlement instruction.
The invention further provides a computer-based method of managing electronic transactions, including storing, with a processor, a plurality of merchant accounts in a data store, each merchant account having a first merchant account identifier, receiving, with the processor, a voucher entry over a network interface device from a merchant computer system, storing, with the processor, the voucher entry having a discount amount in the data store in association with the merchant account having the respective first merchant account identifier, receiving, with the processor, a charge advisory over the network interface device, the charge advisory including a second consumer account identifier, matching, with the processor, the second merchant account identifier to one of the first merchant account identifiers to identify a selected one of the voucher entries associated with the merchant account having the first merchant account identifier, receiving, with the processor, a notification from a server computer system bank account of settlement from a merchant account payment infrastructure of the discount amount, updating, with the processor, at least one central account based on the notification, transmitting, with the processor, a settlement instruction for settlement based on the discount amount and updating, with the processor, the at least one central account based on the settlement instruction.
The invention is further described by way of example with reference to the accompanying drawings, wherein:
The server computer system 12 includes a plurality of consumer accounts (only one consumer account 28 shown), a consumer account setup module 32, a plurality of merchant accounts (only one merchant account 36 shown), a merchant account management system 38, a transaction clearing system 40, a voucher management system 42, and a settlement system 702.
As shown in
When the mobile application 208 is initially downloaded onto the mobile device 24, a consumer is provided access to the consumer account setup module 212. The consumer can enter a Mobile Subscriber Integrated Services Digital Network Number (MSISDN) 222, a password 224 and a 16 digit primary account number (PAN) 300 into the interface 210. The MSISDN 222, the password 224 and PAN 300 are received as a MSISDN 226, a password 228 and a PAN 301 within the consumer account setup module 212 and are transmitted by the consumer account setup module 212 to the consumer account setup module 32.
The consumer account setup module 32 then establishes one consumer account 28 with a password 64 corresponding to the password 228, a MSISDN 66 corresponding to the MSISDN 226 and a PAN 303 corresponding to the PAN 301. The MSISDN 66 and the PAN 303 can either be a consumer account identifier for the respective consumer account 28. Each consumer account 28 will therefore have a different MSISDN 66 and PAN 303.
The system further includes a login module 70. A consumer at the mobile device 24 in
As shown in
The merchant account management system 38 includes an interface 134, a login module 136, an upload and payment module 138, and a consumer targeting system 140.
A merchant at the merchant computer system 20 can login to the merchant account 36 by downloading the interface 134 and entering a merchant account ID 142 and a password 144 via the interface 134 into the merchant account management system 38. The login module 136 then compares the merchant account ID 142 and the password 144 with the merchant account ID 130 and password 132 to identify and provide access to the respective merchant account 36. The login module 136 then at 146 authorizes access to the upload and payment module 138 by the merchant computer system 20 only for purposes of the respective merchant account 36 having the merchant account ID 130 matching the merchant account ID 142. At 148, the login module 136 similarly authorizes access to the consumer targeting system 140 by the merchant computer system 20.
The consumer targeting system 140 receives data from the consumer account 28 in
The upload and payment module 138 includes a voucher upload module 154, a payment calculation module 156, and a payment module 158. A merchant at the merchant computer system 20 uses the interface 134 to enter voucher information, including terminal numbers 160, discounts 164 and the total number available 166. The voucher upload module 154 then stores a respective voucher entry 168 in or associated with the merchant account 36 having the merchant account ID 130. The voucher entry 168 includes terminal numbers 170 corresponding to the terminal numbers 160, a discount 174 corresponding to one of the discounts 164, and a total number available 176 corresponding to the total number available 166. By way of example, the terminal numbers 170 may be terminals 2 and 5, the discount 174 may be 50 cents and the total number available 176 may be 60.
Similarly, additional voucher entries can be entered from the merchant computer system 20 through the interface 134 and the voucher upload module 154. Each voucher entry has a respective data set for terminal numbers 170, a discount 174 and the total number available 176. Each voucher entry also has a respective voucher ID 184.
Once the voucher entry 168 has been uploaded into the merchant account 36, the payment calculation module 156 calculates a payment to be made based on the voucher entry 168. In the example, it is assumed that the voucher entry 168 was pre-existing with a certain number, for example 20 as the total number available. The payment calculation module 156 at 190 receives or calculates the number added to the total number available 176. In the present example, the total number available 176 has increased from 20 to 60, such that the number added is 40. The payment calculation module 156 at 192 also receives the discount 174. The payment calculation module 156 then multiplies the number added by the discount 174. In the present example, the number added is 40 and the discount is 50 cents, which results in a payment of $20.
The payment calculation module 156 then submits the $20 charge to the payment module 158. The merchant then enters a payment 194 into the interface 134, which is received by the payment module 158. The payment module 158 communicates with the merchant account payment infrastructure 22 by submitting a charge request and receiving a confirmation to either allow or deny the charge request. In another example, the merchant account 36 may have a stored value 96 that can be updated from a funding source and the payment module 158 can decrement the stored value 96 by entering a debit against the stored value 96.
In
In
In
As shown in
The voucher push module 196 at 200 receives all the voucher ID's 184 of the voucher entries. Referring again to
The merchant offers in the form of the voucher ID's 204 can then be further processed based on the association of the voucher ID's 204 with the MSISDN 66 of the respective consumer account 28. In particular, the voucher ID's 204 can be transmitted to a mobile device 24 and be received by a mobile application that has been logged into the respective consumer account 28 by way of an identifier of the consumer account 28 having the MSISDN 66 as a consumer account identifier. Following login of the mobile application 208 into the consumer account 28, the vouchers viewing module 216 is accessible by a consumer operating the mobile device 24. The consumer then directs the vouchers viewing module 216 to download the voucher ID's 204 from the consumer account 28 as voucher ID's 260 received by the vouchers viewing module 216. Each voucher ID 260 has an associated image and the images are collectively displayed as voucher images 262 within the interface 210. Each voucher entry 168 within the merchant account 36 of
Referring to
The point-of-sale network 26 includes a point-of-sale device 278, a merchant acquirer computer system 280, and a credit card and issuer computer systems 282.
The consumer uses the point-of-sale instrument 268 to communicate with the point-of-sale device 278. The point-of-sale device 278 receives the PAN 270 from the point-of-sale instrument 268. In the case where the point-of-sale instrument 268 is a credit card or a bank card, the PAN 270 is located on a magnetic strip and the point-of-sale device 278 is a device that has a magnetic strip reader. In the example where the point-of-sale instrument 268 is an NFC device, the point-of-sale device 278 communicates with the point-of-sale instrument 268 through electromagnetic waves to receive the PAN 270.
The point-of-sale device 278 transmits a charge request 284 to the merchant acquirer computer system 280. The charge request 284 includes the PAN 270, the terminal number of the point-of-sale device 278 and the total price of all the items.
The merchant acquirer computer system 280 then transmits a charge request 286 to the credit card and issuer computer systems 282. The charge request 286 includes the same data as the charge request 284. Although not shown, the charge request 286 also includes a merchant account ID to determine a merchant account 36 to which the point-of-sale device 278 belongs to. The charge request 286 also includes a merchant category code that is provided by the merchant acquirer computer system 280. Different merchant category codes are used for different merchant types, e.g. apparel, restaurant, groceries etc. The point-of-sale network 26 has a number of different credit card and issuer computer systems 282 and the merchant acquirer computer system 280 utilizes the IIN 272 to route the charge request 286 to the appropriate credit card and issuer computer systems 282. The credit card and issuer computer systems 282 then check a stored value for the PAN 270 and transmit a confirmation 364 if the stored value is at least as much as the amount of the charge request 286. If the stored value is less than the amount in the charge request 286, a decline signal is transmitted instead of the confirmation 364. The merchant acquirer computer system 280 receives the confirmation 364 (or decline signal) and transmits a confirmation 366 (or decline signal) to the point-of-sale device 278.
The credit card and issuer computer systems 282 then transmit a charge advisory 288 to the transaction clearing system 40 after sending the confirmation 364. The charge advisory 288 includes the same data as the charge request 286. The credit card and issuer computer systems 282 utilize the PAN 270 to route the charge advisory 288 to the transaction clearing system 40.
The transaction clearing system 40 includes a point-of-sale gateway 294 and a transaction processing system 292. The point-of-sale gateway 294 receives the charge advisory 288 from the credit card and issuer computer systems 282.
At 308, the point-of-sale gateway 294 provides a data set to the transaction processing system 292, including the PAN 270, the terminal number, the amount, and the respective merchant account ID received in the charge advisory 288.
The transaction processing system 292 includes an account lookup and debit module 310 and a voucher application module 312.
The account lookup and debit module 310 receives the data set provided at 308 from the point-of-sale gateway 294. At 316, the account lookup and debit module 310 provides a data set to the voucher application module 312, including the PAN terminal number, amount and merchant account ID. Referring again to
The voucher lookup module 320 receives the data transmitted at 318 from the voucher application module 312. The voucher lookup module 320 then uses the data received at 318 to determine whether the data matches the data in the voucher entries 168. In each case, both the merchant account ID and the terminal number received in the data 318 are used to determine which ones of the voucher entries 168 have merchant account ID's 130 and matching terminal numbers 170.
The voucher lookup module 320 subsequently retrieves a set of data from an identified voucher entry 168, including the discount 174, in the present example $2, the voucher ID 184 and the total number available 176. The voucher lookup module 320 then makes a determination whether the total number available 176 of the respective voucher entry 168 is more than zero, in which case and only in that case, is the voucher entry 168 still valid. The voucher lookup module 320 also retrieves the merchant account ID 130. For purposes of further discussion, the voucher ID 184 of the identified voucher entry 168 is still valid and referred to herein as “voucher ID B.”
The voucher lookup module 320 at 326 submits the voucher ID of the identified voucher entry 168, now referred to as “voucher ID B” to the voucher availability module 322. Referring now to
Referring again to
Referring again to
The voucher cancel module 324 proceeds at 376 to cancel the respective voucher ID's from the voucher ID's 204 in the consumer account 28. In one example, there may be only one voucher ID B among the voucher ID's 204 and only the single voucher ID B is cancelled. In another example, the voucher ID may have two or more numbers associated therewith, and only a single number is deducted from the numbers for voucher ID B, such that further numbers of the voucher ID are available until the number reaches zero. As further illustrated in
As mentioned, the transaction is recorded within the transactions 346. Referring again to
Voucher entries have been used by way of example to illustrate offers and the way that they are redeemed. The voucher entries may for example correspond to item level discounts. Alternatively, basket level discounts may be provided wherein a discount is given based on an entire purchase of a plurality of items as opposed to individual items of the purchase. It may also be possible that offers may be extended that are not redeemable at server level for any discounts, such as coupons that can be redeemed at a point of sale or advertisements.
As further illustrated in
In
Should the consumer then open the mobile application 208 in
As further illustrated in
The merchant payment management module 706 is also connected to the merchant account payment infrastructure 22 for purposes of transmitting a settlement request 714 to the merchant account payment infrastructure 22. The merchant account payment infrastructure 22 is also connected to the server computer system bank account 700 for purposes of transmitting a settlement 716 to the server computer system bank account 700.
The network payment management module 708 is connected to the server computer system bank account 700 for purposes of transmitting a settlement instruction 718 to the server computer system bank account 700. The server computer system bank account 700 is also connected to the credit card and issuer computer systems 282 for purposes of transmitting a settlement 720 to the credit card and issuer computer systems 282.
In use, the account lookup and debit module 310 at 710 enters the amount of the voucher that has been applied using the voucher application module 312 of
The merchant payment management module 706 periodically accesses the central account 704 and retrieves the entry. The merchant payment management module 706 then utilizes the merchant account ID to identify the respective merchant account payment infrastructure 22 from which payment should be collected. At 714, the merchant payment management module 706 transmits the settlement request to the merchant account payment infrastructure 22. The merchant payment management module 706 updates the central account 704 with a flag to indicate that the settlement request 714 has been sent. The settlement request 714 includes a request for a settlement of $2 and the merchant account ID. The merchant account payment infrastructure 22 then utilizes the merchant account ID to identify a respective account within the merchant account payment infrastructure 22. At 716, the merchant account payment infrastructure 22 transfers an amount of $2 from the respective account that has been identified within the merchant account payment infrastructure 22 to the server computer system bank account 700.
When the server computer system bank account 700 receives the settlement 716 or shortly thereafter, the server computer system bank account 700 sends the notification 712 to the central account 704. The entry in the central account 704 is then updated with a tag to indicate that $2 has been received by the server computer system bank account 700 from the merchant account payment infrastructure 22. The electronic funds corresponding to the $2 is thus held in the server computer system bank account 700 and not in the central account 704 and the central account 704 is only updated to reflect the funds that have been received by the server computer system bank account 700. The central account 704 thus “shadows” the funds in the server computer system bank account 700.
The network payment management module 708 periodically accesses the central account 704 to determine whether any entries have been flagged that ones have been received by the server computer system bank account 700 and have not been flagged that the network payment management module 708 has transmitted a settlement instruction to the server computer system bank account 700. In the present example the entry for the discount of $2 has been flagged that funds have been received by the server computer system bank account 700. The network payment management module 708 then transmits the settlement instruction 718 to the server computer system bank account 700. The settlement instruction 718 includes an instruction for settlement of $2. The settlement instruction 718 may also include a routing number for the credit card and issuer computer systems 282. When the network payment management module 708 has transmitted the settlement instruction 718, the network payment management module 708 updates the respective entry in the central account 704 with a flag that the settlement instruction 718 has been sent. The network payment management module 708 will thus not send a duplicate settlement instruction to the server computer system bank account 700.
The server computer system bank account 700 responds to the settlement instruction 718 to transmit the settlement 720 to the credit card and issuer computer systems 282. The settlement 720 is routed to the identifier of the credit card and issuer computer systems 282 and is used as funds or money that is transferred from the server computer system bank account 700 to the credit card and issuer computer systems 282.
The network payment management module 708 transmits a credit instruction 722 directly to the credit card and issuer computer systems 282 contemporaneously with the settlement 720. The credit instruction 722 includes an instruction to credit a stored value of a respective account having the respective PAN by $2. The credit card and issuer computer systems 282 then respond to the credit instruction 722 by crediting the stored value of the account having the respective PAN by $2.
The discount of $2 has been used as an example to exemplify the overall functioning of the settlement system 702. As a practical matter, the merchant payment management module 706 may ask for a larger amount than $2 and the settlement request 714 for purposes of making a profit. The settlement request may for example include a request for a settlement of $2.50 and the settlement 716 may be for $2.50. The network payment management module 708 can then proceed to send the settlement instruction 718 of $2.00 so that a profit of $0.50 remains within the server computer system bank account 700 after the settlement 720.
The exemplary computer system 900 includes a processor 930 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), or both), a main memory 932 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.), and a static memory 934 (e.g., flash memory, static random access memory (SRAM, etc.), which communicate with each other via a bus 936.
The computer system 900 may further include a video display 938 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 900 also includes an alpha-numeric input device 940 (e.g., a keyboard), a cursor control device 942 (e.g., a mouse), a disk drive unit 944, a signal generation device 946 (e.g., a speaker), and a network interface device 948.
The disk drive unit 944 includes a machine-readable medium 950 on which is stored one or more sets of instructions 952 (e.g., software) embodying any one or more of the methodologies or functions described herein. The software may also reside, completely or at least partially, within the main memory 932 and/or within the processor 930 during execution thereof by the computer system 900, the memory 932 and the processor 930 also constituting machine readable media. The software may further be transmitted or received over a network 954 via the network interface device 948.
While the instructions 952 are shown in an exemplary embodiment to be on a single medium, the term “machine-readable medium” should be taken to understand a single medium or multiple media (e.g., a centralized or distributed database or data source and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding, or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories and optical and magnetic media.
The various components shown in
The memory 1020 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to the memory 1020 by other components of the mobile device 24, such as the CPU 1200 and the peripherals interface 1180, is controlled by the memory controller 1220.
The peripherals interface 1180 connects the input and output peripherals of the device to the CPU 1200 and memory 1020. The one or more processors 1200 run or execute various software programs and/or sets of instructions stored in the memory 1020 to perform various functions for the mobile device 24 and to process data.
The RF (radio frequency) circuitry 1080 receives and sends RF signals, also called electromagnetic signals. The RF circuitry 1080 converts electrical signals to/from electromagnetic signals and communicates with communications networks and other communications devices via the electromagnetic signals. The RF circuitry 1080 includes well-known circuitry for performing these functions, including an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and so forth. The RF circuitry 1080 may communicate with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet and/or a wireless network, such as a cellular telephone network, a wireless local area network (LAN) and/or a metropolitan area network (MAN), and other devices by wireless communication. The wireless communication may use any of a plurality of communications standards, protocols and technologies that are known in the art.
The audio circuitry 1100, the speaker 1110, and the microphone 1130 provide an audio interface between a user and the mobile device 24. The audio circuitry 1100 receives audio data from the peripherals interface 1180, converts the audio data to an electrical signal, and transmits the electrical signal to the speaker 1110. The speaker 1110 converts the electrical signal to human-audible sound waves. The audio circuitry 1100 also receives electrical signals converted by the microphone 1130 from sound waves. The audio circuitry 1100 converts the electrical signal to audio data and transmits the audio data to the peripherals interface 1180 for processing. The audio circuitry 1100 also includes a headset jack serving as an interface between the audio circuitry 1100 and removable audio input/output peripherals, such as output-only headphones or a headset with both output (e.g., a headphone for one or both ears) and input (e.g., a microphone).
The I/O subsystem 1060 connects input/output peripherals on the mobile device 24, such as the touch screen 1120 and other input/control devices 1160, to the peripherals interface 1180. The I/O subsystem 1060 includes a display controller 1560 and one or more input controllers 1600 for other input or control devices. The one or more input controllers 1600 receive/send electrical signals from/to other input or control devices 1160. The other input/control devices 1160 may include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and so forth all serving as forming part of an interface. The input controllers 1600 may be connected to any of the following: a keyboard, infrared port, USB port, and a pointer device such as a mouse. The one or more buttons may include an up/down button for volume control of the speaker 1110 and/or the microphone 1130. The one or more buttons may include a push button. A quick press of the push button may disengage a lock of the touch screen 1120 or begin a process that uses gestures on the touch screen to unlock the device. A longer press of the push button may turn power to the mobile device 24 on or off. The touch screen 1120 is used to implement virtual or soft buttons and one or more soft keyboards.
The touch-sensitive touch screen 1120 provides an input interface and an output interface between the device and a user. The display controller 1560 receives and/or sends electrical signals from/to the touch screen 1120. The touch screen 1120 displays visual output to the user. The visual output may include graphics, text, icons, video, and any combination thereof (collectively termed “graphics”). In some embodiments, some or all of the visual output may correspond to user-interface objects, further details of which are described below.
A touch screen 1120 has a touch-sensitive surface, sensor or set of sensors that accepts input from the user based on haptic and/or tactile contact. The touch screen 1120 and the display controller 1560 (along with any associated modules and/or sets of instructions in memory 1020) detect contact (and any movement or breaking of the contact) on the touch screen 1120 and converts the detected contact into interaction with user-interface objects (e.g., one or more soft keys, icons, web pages or images) that are displayed on the touch screen. In an exemplary embodiment, a point of contact between a touch screen 1120 and the user corresponds to a finger of the user.
The touch screen 1120 may use LCD (liquid crystal display) technology, or LPD (light emitting polymer display) technology, although other display technologies may be used in other embodiments. The touch screen 1120 and the display controller 1560 may detect contact and any movement or breaking thereof using any of a plurality of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with a touch screen 1120.
The user may make contact with the touch screen 1120 using any suitable object or appendage, such as a stylus, a finger, and so forth. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which are much less precise than stylus-based input due to the larger area of contact of a finger on the touch screen. In some embodiments, the device translates the rough finger-based input into a precise pointer/cursor position or command for performing the actions desired by the user.
The mobile device 24 also includes a power system 1620 for powering the various components. The power system 1620 may include a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharging system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)) and any other components associated with the generation, management and distribution of power in portable devices.
The software components stored in memory 1020 include an operating system 1260, a communication module (or set of instructions) 1280, a contact/motion module (or set of instructions) 1300, a graphics module (or set of instructions) 1320, a text input module (or set of instructions) 1340, and applications (or set of instructions) 1360.
The operating system 1260 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and/or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
The communication module 1280 facilitates communication with other devices over one or more external ports 1240 and also includes various software components for handling data received by the RF circuitry 1080 and/or the external port 1240. The external port 1240 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) is adapted for coupling directly to other devices or indirectly over a network (e.g., the Internet, wireless LAN, etc.).
The contact/motion module 1300 may detect contact with the touch screen 1120 (in conjunction with the display controller 1560) and other touch sensitive devices (e.g., a touchpad or physical click wheel). The contact/motion module 1300 includes various software components for performing various operations related to detection of contact, such as determining if contact has occurred, determining if there is movement of the contact and tracking the movement across the touch screen 1120, and determining if the contact has been broken (i.e., if the contact has ceased). Determining movement of the point of contact may include determining speed (magnitude), velocity (magnitude and direction), and/or an acceleration (a change in magnitude and/or direction) of the point of contact. These operations may be applied to single contacts (e.g., one finger contacts) or to multiple simultaneous contacts (e.g., “multitouch”/multiple finger contacts). The contact/motion module 1300 and the display controller 1560 also detects contact on a touchpad.
The graphics module 1320 includes various known software components for rendering and displaying graphics on the touch screen 1120, including components for changing the intensity of graphics that are displayed. As used herein, the term “graphics” includes any object that can be displayed to a user, including text, web pages, icons (such as user-interface objects including soft keys), digital images, videos, animations and the like.
The text input module 1340, which may be a component of graphics module 1320, provides soft keyboards for entering text in various applications (e.g., contacts, e-mail, IM, blogging, browser, and any other application that needs text input). The applications 1360 may include the mobile application 208.
While certain exemplary embodiments have been described and shown in the accompanying drawings, it is to be understood that such embodiments are merely illustrative and not restrictive of the current invention, and that this invention is not restricted to the specific constructions and arrangements shown and described since modifications may occur to those ordinarily skilled in the art.