IP Library Granted Patent US 12,242,523
Granted Patent B2
US 12,242,523 · App. 18/453,174 · Granted Mar 4, 2025

Method and system for intercepting user inputs on a mobile device

Inventors: Michael Gadd (London, GB); Aaron Simpson (London, GB); Matthew Larter (London, GB); Shems Eddine Boukhatem (London, GB); Robyn Chin (London, GB)
Assignee: Kindred Soul Ltd.
G06F16/3329G06F3/0481G06F3/04886G06F3/04895G06F16/2423G06F16/3322G06F16/9532G06F16/955G06Q30/0207
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,242,523
App. No.
18/453,174
Granted
Mar 4, 2025
Kind
B2
Abstract

Systems and methods relating to a keyboard interceptor are disclosed. The keyboard interceptor receives a first input by a user into a keyboard application on a mobile device. A search query is generated based on the first input and data is located based on the search query. The data is associated with a record comprising a record identifier. The keyboard interceptor associates a GUI element of the keyboard application with the record identifier. A second input is received corresponding to selection of the GUI element. A unique tracking link is generated comprising a URL associated with the locate data and an identifier associated with the selection of the GUI element. The unique tracking link is passed to a web browser application executing on the mobile device to access the website. The web browser application stores a cookie comprising the identifier associated with the selection of the GUI element.

Claims (72)

1. A method comprising:

detecting, by a web browser extension associated with a web browser application executing on the mobile device, a Uniform Resource Locator for a website;

receiving, by a keyboard application executing on the mobile device, and from the web browser extension, the Uniform Resource Locator;

generating, by the keyboard application, a search query based on a domain name associated with the Uniform Resource Locator;

locating data based on the search query, wherein the data is associated with a record, the record comprising a record identifier;

associating, by the keyboard application, an element of a graphical user interface, Graphical User Interface, of the keyboard application, with the record identifier;

receiving, by the keyboard application, an input entered by the user, corresponding to selection of the element of the Graphical User Interface;

responsive to receiving the input:

generating, by the keyboard application and without user input, a unique tracking link comprising a Uniform Resource Locator and a randomly generated identifier associated with the selection of the Graphical User Interface element, the Uniform Resource Locator being for the website and which is associated with the located data; and

passing the unique tracking link to the web browser application executing on the mobile device to access the website;

storing, in a database, the unique tracking link in association with the record identifier and a user identifier; and

storing, by the web browser application while accessing the website, a cookie comprising the randomly generated identifier associated with the selection of the Graphical User Interface element.

2. The method according to claim 1 , further comprising:

responsive to receiving the input, receiving by the web browser extension, and from the keyboard application, the unique tracking link;

opening, by the web browser extension, a new tab within the web browser application;

passing, by the web browser extension, the unique tracking link to the new tab whereby to access the website in the new tab; and

closing, by the web browser extension, the new tab when the cookie has been stored.

3. The method according to claim 1 , wherein the located data comprises one or more coupon codes, the method further comprising:

detecting, by the keyboard application, a selection of a text field within a webpage of the website;

receiving, by the web browser extension, and from the keyboard application, an indication of the selection of the text field;

detecting, by the web browser extension, that the text field is a text field designated for coupon codes;

receiving, by the keyboard application, and from the web browser extension, an indication that the text field is a text field designated for coupon codes; and

responsive to receiving the indication that the text field is a text field designated for coupon codes, passing a coupon code from the one or more coupon codes into the text field.

4. The method according to claim 1 , further comprising, responsive to the first input, storing, by the keyboard application, the coupon code.

5. The method according to claim 1 , further comprising:

responsive to the receiving the indication that the text field is a text field designated for coupon codes, associating, by the keyboard application, a further Graphical User Interface element of the mobile device with the coupon code;

receiving by the keyboard application, a second input, by the user, corresponding to selection of the further Graphical User Interface element,

wherein passing a coupon code from the one or more coupon codes into the text field is further responsive to the second input.

6. The method according to claim 1 , wherein the located data comprises one or more survey questions, the method further comprising:

responsive to receiving the input, displaying, by the keyboard application, displaying the one or more survey questions in the Graphical User Interface of the mobile device.

7. The method according to claim 6 , further comprising:

receiving one or more further inputs by the user, said further inputs corresponding to completion of the one or more survey questions; and

storing, in the database, data indicative of the one or more further inputs in association with a randomly generated identifier and a user identifier.

8. The method according to claim 1 , wherein the keyboard application and web browser extension communicate via application programming interface, Application Programming Interface, calls.

9. The method according to claim 1 , wherein the keyboard application and web browser extension communicate via a shared storage on the mobile device.

10. The method according to claim 1 , wherein the keyboard application and web browser extension communicate via Application Programming Interface API calls to a server, wherein the server is coupled to the keyboard application and the web browser extension.

11. The method according to claim 1 , wherein locating the data includes forwarding, by the keyboard application, an Application Programming Interface API call to a server.

12. The method according to claim 1 , wherein locating the data includes performing a search of a local storage of the mobile device.

13. The method according to claim 1 , wherein the data is merchant data.

14. The method according to claim 13 , wherein the cookie allows a merchant associated with the merchant data to determine that a purchase has been made by the user.

15. The method according to claim 14 , further comprising receiving a reward issued by the merchant in response to the purchase made by the user.

16. The method according to claim 1 , wherein the data is merchant data comprising an active deal associated with the merchant, the associating the Graphical User Interface element with the data comprises displaying text indicating the active deal.

17. A computer-readable memory comprising instructions, that when performed by a processor of a mobile device, cause a keyboard application and web browser extension executing on the mobile device to perform a method comprising:

detecting, by a web browser extension associated with a web browser application executing on the mobile device, a Uniform Resource Locator for a website;

receiving, by a keyboard application executing on the mobile device, and from the web browser extension, the Uniform Resource Locator;

generating, by the keyboard application, a search query based on a domain name associated with the Uniform Resource Locator;

locating data based on the search query, wherein the data is associated with a record, the record comprising a record identifier;

associating, by the keyboard application, an element of a graphical user interface, Graphical User Interface, of the keyboard application, with the record identifier;

receiving, by the keyboard application, an input entered by the user, corresponding to selection of the element of the Graphical User Interface;

responsive to receiving the input:

generating, by the keyboard application and without user input, a unique tracking link comprising a Uniform Resource Locator and a randomly generated identifier associated with the selection of the Graphical User Interface element, the Uniform Resource Locator being for the website and which is associated with the located data; and

passing the unique tracking link to the web browser application executing on the mobile device to access the website;

storing, in a database, the unique tracking link in association with the record identifier and a user identifier; and

storing, by the web browser application while accessing the website, a cookie comprising the randomly generated identifier associated with the selection of the Graphical User Interface element.

18. A system comprising:

a computer-readable memory comprising instructions, that when performed by a processor of a mobile device, cause a keyboard application and web browser extension executing on the mobile device to perform a method comprising:

detecting, by a web browser extension associated with a web browser application executing on the mobile device, a Uniform Resource Locator for a website;

receiving, by a keyboard application executing on the mobile device, and from the web browser extension, the Uniform Resource Locator;

generating, by the keyboard application, a search query based on a domain name associated with the Uniform Resource Locator;

locating data based on the search query, wherein the data is associated with a record, the record comprising a record identifier;

associating, by the keyboard application, an element of a graphical user interface, Graphical User Interface, of the keyboard application, with the record identifier;

receiving, by the keyboard application, an input entered by the user, corresponding to selection of the element of the Graphical User Interface;

responsive to receiving the input:

generating, by the keyboard application and without user input, a unique tracking link comprising a Uniform Resource Locator and a randomly generated identifier associated with the selection of the Graphical User Interface element, the Uniform Resource Locator being for the website and which is associated with the located data; and

passing the unique tracking link to the web browser application executing on the mobile device to access the website;

storing, in a database, the unique tracking link in association with the record identifier and a user identifier; and

storing, by the web browser application while accessing the website, a cookie comprising the randomly generated identifier associated with the selection of the Graphical User Interface element;

a database comprising a plurality of records, each of the records comprising:

a record identifier;

data; and

a Uniform Resource Locator for a website associated with the data; and

a server communicatively coupled to the database and configured to locate the data in the database in response to receiving the Application Programming Interface call.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2023
From: GADD, MICHAEL; SIMPSON, AARON; LARTER, MATTHEW; BOUKHATEM, SHEMS EDDIE; CHIN, ROBYN
To: KINDRED SOUL LTD
Reel/Frame 065701/0426 →
CHANGE OF ADDRESS Recorded Sep 12, 2023
From: KINDRED SOUL LTD
To: KINDRED SOUL LTD
Reel/Frame 064907/0561 →
Continuity (5)
Continuation PCTGB2022050570 · Mar 3, 2022
Continuation 17236646 · Apr 21, 2021
Provisional Application 63239227 · Aug 31, 2021
Provisional Application 63156153 · Mar 3, 2021
Related Publication 20230393733A1 · Dec 7, 2023
References Cited (62)
US 8347398B1 · Weber · 2013 [cited by applicant]
US 8868451B2 · Greaves et al. · 2014 [cited by applicant]
US 9806942B2 · Saxena et al. · 2017 [cited by applicant]
US 10055103B1 · Ozuysal · 2018 [cited by examiner]
US 10228819B2 · Dostie et al. · 2019 [cited by applicant]
US 10423303B1 · Roach et al. · 2019 [cited by applicant]
US 10606477B1 · Donnici · 2020 [cited by examiner]
US 10824656B2 · Hwang · 2020 [cited by applicant]
US 10887201B2 · Park · 2021 [cited by applicant]
US 11068940B2 · Kim et al. · 2021 [cited by applicant]
US 11430000B1 · Depaolo et al. · 2022 [cited by applicant]
US 20010047347A1 · Perell et al. · 2001 [cited by applicant]
US 20050027670A1 · Petropoulos · 2005 [cited by applicant]
US 20050043939A1 · Trower et al. · 2005 [cited by applicant]
US 20060055780A1 · Zemer et al. · 2006 [cited by applicant]
US 20070011340A1 · Seidl et al. · 2007 [cited by applicant]
US 20080082905A1 · Martinez et al. · 2008 [cited by applicant]
US 20110099251A1 · Tsukada et al. · 2011 [cited by applicant]
US 20120197981A1 · Chan · 2012 [cited by applicant]
US 20130073388A1 · Heath · 2013 [cited by applicant]
US 20130205198A1 · Cohen · 2013 [cited by applicant]
US 20130227057A1 · Goldstein · 2013 [cited by examiner]
US 20150073892A1 · Brown et al. · 2015 [cited by applicant]
US 20150106181A1 · Kluth · 2015 [cited by applicant]
US 20150143269A1 · Liu et al. · 2015 [cited by applicant]
US 20150154660A1 · Weald et al. · 2015 [cited by applicant]
US 20160103876A1 · Bakir et al. · 2016 [cited by applicant]
US 20170032147A1 · Denner et al. · 2017 [cited by applicant]
US 20170054820A1 · Webber et al. · 2017 [cited by applicant]
US 20170193481A1 · Szeto et al. · 2017 [cited by applicant]
US 20180046637A1 · Koopman et al. · 2018 [cited by applicant]
US 20180293601A1 · Glazier · 2018 [cited by applicant]
US 20180293602A1 · Glazier et al. · 2018 [cited by applicant]
US 20180293603A1 · Glazier et al. · 2018 [cited by applicant]
US 20180315041A1 · Wynn · 2018 [cited by applicant]
US 20180322519A1 · Goecke et al. · 2018 [cited by applicant]
US 20190066156A1 · McMichael et al. · 2019 [cited by applicant]
US 20190347685A1 · Glazier et al. · 2019 [cited by applicant]
US 20200082423A1 · Glazier et al. · 2020 [cited by applicant]
US 20200242648A1 · Glazier · 2020 [cited by examiner]
US 20200364734A1 · Glazier et al. · 2020 [cited by applicant]
US 20210124630A1 · Chew · 2021 [cited by examiner]
US 20210168140A1 · Canfield et al. · 2021 [cited by applicant]
US 20210192003A1 · Kargaran · 2021 [cited by applicant]
US 20220284050A1 · Gadd et al. · 2022 [cited by applicant]
US 20220284063A1 · Gadd et al. · 2022 [cited by applicant]
US 20230052456A1 · Gadd et al. · 2023 [cited by applicant]
US 20230300183A1 · Craparo et al. · 2023 [cited by applicant]
KR 20060116042A · 2006 [cited by applicant]
WO 2014117244A1 · 2014 [cited by applicant]
WO 2017072589A2 · 2017 [cited by applicant]
WO 2017184212A1 · 2017 [cited by applicant]
WO 2018191030A1 · 2018 [cited by applicant]
Robert Heaton; “How does online tracking actually work?”; Nov. 20, 2017; robertheaton.com; pp. 1-15. [cited by applicant]
International Search report and Written Opinion dated Aug. 12, 2022 for PCT International Application No. PCT/GB2022/050570. [cited by applicant]
Anonymous, “Sharing Content with Intents” CodePath Android Cliffnotes, Aug. 25, 2014 (Aug. 25, 2014), pp. 1-3, XP055947268. [cited by applicant]
Anonymous: “javascript—chrome extension code to get current active tab url and detect any url update in it as well”—Stack Overflow, Feb. 28, 2019 (Feb. 28, 2019), pp. 1-2, XP055947269. [cited by applicant]
Notice of Allowance dated Nov. 26, 2021 for U.S. Appl. No. 17/236,646. [cited by applicant]
Non-Final Office Action dated Jun. 21, 2021 for U.S. Appl. No. 17/236,646. [cited by applicant]
Final Office Action dated Sep. 20, 2021 for U.S. Appl. No. 17/236,646. [cited by applicant]
Non-Final Office Action dated Aug. 17, 2022 for U.S. Appl. No. 17/560,780. [cited by applicant]
Non-Final Office Action dated May 22, 2023 for U.S. Appl. No. 17/980,466. [cited by applicant]