Exemplary arrangements relate generally to applications on computing devices, and more particularly to a processor-implemented method, computing system and computer program for creating a hyperlink and invoking a search.
Computers and mobile communications devices, for example cellular telephones, tablets, smartphones, smart watches and the like, have become a very popular means of accessing information sources and resources of all types for many daily activities, and for communicating with others for both business and personal purposes. In most populated regions, such digital devices provide individuals with virtually constant access to information and communications via the Internet.
Mobile telephones (also known as cellular telephones or smartphones) have the ability to connect to the internet either through a cellular network by conventional cellular technology, or through a local network utilizing ‘Wi-Fi’, and as such have become a particularly useful and widespread example of this. Mobile telephones are small enough to be easily carried virtually anywhere, and have evolved to provide a myriad of mobile device application programs or “apps” that allow users to perform various tasks in addition to telephony and connectivity to the Internet.
However, as a compromise in favor of mobility and ease of handling, mobile telephones suffer from the drawback that the display is very small. It is therefore not practical to use multiple apps simultaneously the way one can on a computer, where the display is large enough that windows generated by different applications can display data, interfaces etc. adjacent to other windows. The size of the display in a mobile telephone lends itself to displaying only one app's interface at a time. For the same reason, mobile telephones necessarily have very small keyboards for data entry, which makes typing difficult for many users. In many cases mobile telephones provide the keyboard as part of the touch-screen display, which further reduces the amount of display area available for app interfaces and data.
Because the keyboard is so small, any process that can reduce the amount of typing required by the user to perform a task is considered to be advantageous. It reduces both the time spent by the user performing tasks, and the user's frustration level with the inevitable typographical errors attendant to the small size of the keyboard.
Also, because the display area is so small and is practically able to provide only one app's interface at a time for use by the user, any process that can facilitate toggling between the interfaces of different apps is advantageous.
It would accordingly be advantageous to equip a mobile device with a process that reduces the amount of typing required by the user, thus reducing the time taken to perform a task on the mobile device and opportunities for errors. It would further be advantageous to reduce or eliminate the steps required to toggle between different apps that are being used to perform related tasks.
In accordance with an aspect of exemplary arrangements, there is provided a processor-implemented method of creating a hyperlink from a text messaging text entry field in a text messaging app on a user's mobile device, the method comprising assigning within the messaging app one or more keyboard characters as control characters, also referred to herein as control indicators or indicators, respectively designating a start of a text search string and an end of a text search string, also referred to herein as search string text; enabling the user to enter text including the control characters into the text messaging app text entry field; and upon the user activating a send command to send a text message that includes the start and end control characters defining the bounds of a search text string, displaying the search string as a hyperlinked text in the message thread selectable to invoke a search outside of the text messaging app.
In an exemplary embodiment, for invoking a search, the method comprises automatically initiating a search by presenting the search text string to a search engine interface to return results based on the search, in the event that a user selects the hyperlinked search string text in the message of the message thread.
In accordance with another aspect of exemplary arrangements, there is provided a computing system, also referred to herein as a computing device, comprising processing structure configured to create a hyperlink from a text messaging text entry field in a text messaging app operating on the computing system by assigning within the messaging app one or more keyboard characters as control characters respectively designating a start of a text search string and an end of a text search string; enabling the user to enter text including the control characters into the text messaging app text entry field; and upon the user activating a send command to send a text message that includes the start and end control characters defining the bounds of a search text string, displaying the search string as a hyperlinked text in the message thread selectable to invoke a search outside of the text messaging app.
In another exemplary embodiment, the processing structure is further configured to initiate a search by, in response to a user selecting the hyperlinked search string text in the message of the message thread, automatically presenting the search text string to a search engine interface to return results based on the search of the search text string.
In accordance with another aspect of exemplary arrangements, there is provided a non-transitory processor-readable medium embodying a computer program for creating a hyperlink from a text messaging text entry field in a text messaging app on a user's mobile device, the computer program comprising processor-readable code or instructions for assigning within the messaging app one or more keyboard characters as control characters respectively designating a start of a text search string and an end of a text search string; processor-readable code for enabling the user to enter text including the control characters into the text messaging app text entry field; and processor-readable code for, upon the user activating a send command to send a text message that includes the start and end control characters defining the bounds of a search text string, displaying the search string as a hyperlinked text in the message thread selectable to invoke a search outside of the text messaging app.
In exemplary embodiments, the computer program comprises processor-readable code for automatically initiating a search by presenting the search text string to a search engine interface to return results based on the search in the event that a user selects the hyperlinked search string text in the message of the message thread.
According to another aspect of exemplary arrangements, there is provided a processor-implemented method of creating a hyperlink from a text string in a text entry application on a user's computing device, the method comprising assigning within the application one or more keyboard characters as control characters respectively designating a start of a text search string and an end of a text search string; enabling the user to enter text including the control characters into the text entry application; and upon the user indicating the completion of entry of a text bracketed by the control characters into the text entry application defining the bounds of a search string text, displaying the search string text as a hyperlinked text in the application selectable to invoke a search outside of the text entry application.
In another exemplary embodiment, the computing device is a mobile computing device. In exemplary embodiments, the application is a text messaging application. In other exemplary embodiments, the application is one or more of: a word processing application, a spread sheeting application, and a presentation application. However, these embodiments are merely exemplary and the exemplary application may be any communications application or text entry application that is operative to allow users to communicate or enter data via text entry, video, audio, or any other communications method or data entry method.
In another exemplary embodiment, the method is for invoking a search and comprises automatically initiating a search by presenting the search text string to a search engine interface to return results based on the search, in the event that a user selects the hyperlinked search string text in the application.
In another exemplary embodiment, initiating a search by presenting the search text string to a search engine interface to return results based on the search comprises copying the search text string within the message, invoking a browser, also referred to herein as a web browser application, and causing the browser to initiate the search by presenting the search text string to a search engine interface to return results based on the search of the search text string. However, it should be understood that presenting the search string text to a search engine interface or a web browser application may, as shown in the exemplary embodiments discussed herein, include any method of transmitting the search string text to the web browser application or search engine interface.
In another exemplary embodiment, causing the browser to initiate the search by presenting the search text string to a search engine interface to return results based on the search of the search text string comprises opening a search engine user interface in the browser, pasting the search text string into a search field of the search engine user interface, and initiating the search to return results based on the search of the search text string.
In another exemplary embodiment, causing the browser to initiate the search to return results based on the search of the search text string comprises pasting the search text string into an address bar of the browser; and causing the browser to programmatically initiate the search using the search text string in the address bar of the browser.
In another exemplary embodiment, initiating a search by presenting the search text string to a search engine interface to return results based on the search comprises automatically constructing and sending a programmatic call to a search engine application programming interface (API); and receiving and displaying search results received from the API.
In accordance with another aspect of exemplary arrangements, there is provided a computing system comprising processing structure configured to create a hyperlink from a text string in a text entry application operating on the computing system by assigning within the application one or more keyboard characters as control characters respectively designating a start of a text search string and an end of a text search string; enabling the user to enter text including the control characters into the text entry application; and upon the user indicating the completion of entry of a text bracketed by the control characters into the text entry application defining the bounds of a search string text, displaying the search string text as a hyperlinked text in the application selectable to invoke a search outside of the text entry application.
In accordance with another aspect of exemplary arrangements, there is provided a non-transitory processor-readable medium embodying a computer program for creating a hyperlink from a text string in a text entry application on a user's computing device, the computer program comprising processor-readable code for assigning within the application one or more keyboard characters as control characters respectively designating a start of a text search string and an end of a text search string; processor-readable code for enabling the user to enter text including the control characters into the text entry application; and processor-readable code for, upon the user indicating the completion of entry of a text bracketed by the control characters into the text entry application defining the bounds of a search text string, displaying the search string as a hyperlinked text in the application selectable to invoke a search outside of the text entry application.
The drawings illustrate by way of example the exemplary arrangements described herein.
The exemplary arrangements will be described in the context of performing related tasks on a mobile device such as a “smartphone” by toggling between a text messaging program, for example an SMS app, and a web browser application or a search engine. However, the exemplary arrangements are applicable to toggling between other applications, preferably but not exclusively applications being run on the smaller form-factor of a mobile device, so as to enable selectively invoking searches and displaying their results as will be described.
In the exemplary arrangements the search engine is accessed via an Internet-enabled browser, also referred to herein as a web browser application. However, it will be appreciated that the exemplary arrangements may be applied in like manner to accessing searches from other types of apps such as other applications stored on the processor readable medium, or accessible from or to the processor readable medium. Therefore, it will be appreciated that the method of the exemplary arrangements can be implemented in any digital communications or text entry environment offering an audio or visual interface capable of outputting or displaying the selected text search string as a hyperlink and communicating with a web browser application or a search engine. As used herein, the term web browser application includes any application or software that can use the Internet. The term web browser application includes mobile device applications or software that include a search engine as part thereof. The term web browser application includes any application or software that can use the internet and that includes an API for directly receiving programmatic calls to invoke searches. The term web browser application includes any application or software is operative to invoke a search by a URL Search Query. For example, entities that have websites that operate on a web browser application, such as YouTube™, have mobile device applications that include software instructions to perform the same operations and search functions as their website. The term web browser application further includes separate web browser applications outside of the text entry application. For example, if a user selects a hyperlink in the text entry application or other communications application, a web search of the search string text is initiated in a separate or external web browser application that is included in the memory of the mobile device, such as the mobile device applications of Safari™ or Google Chrome™, for example. As another example of a separate web browser application and its operations, in the Apple iMessage™ application, when a user sends a hyperlink, the hyperlink is displayed in the message thread or message window. When a user selects the hyperlink in the message thread, the Apple iMessage™ application toggles to the Safari™ application to view the hyperlink. The term web browser application includes in-app web browsers or built in web browsers that are included in the software instructions of the text entry application or communications application. For example, if a user selects a hyperlink within the text entry application, the text entry application toggles to an in-app web browser to display the webpage that includes the results of the web search of the search string text. Examples of such in-app web browser applications include the in-app browsers of the mobile device applications of Instagram™, Facebook Messenger™, or LinkedIn™, for example. As another example of an in-app browser or a built in browser, is the messaging application Kik™, when a user sends a hyperlink to another user, the hyperlink shows up in the message thread as a hyperlink. When a user subsequently selects the hyperlink in the message thread, the Kik™ application toggles to its own built in web browser application to view the results of the hyperlink. The term web browser application further includes pop-up web browser applications. For example, in communications applications including software instructions for a pop-up web browser application, if the user selects the hyperlink in the text entry application, the text entry application opens a pop-up window corresponding to the user selected hyperlink in front of the user interface of the communications application. The results of the web search initiated by user selection of the hyperlink are displayed in the pop-up window that is arranged in front of the user interface of the message thread of the text entry application or communications application. Examples of such pop-up web browser applications are included in the mobile device applications of WhatsApp™ and YouTube™, for example. The term web browser application further includes external mobile applications stored in the memory of the mobile device or accessible from or to the mobile device, also referred to herein as other mobile applications. For example, if a user selects the hyperlink in the text entry application and the hyperlink includes an indication of a specific search engine corresponding to a search engine included in an external or other mobile device applications stored in the memory of the mobile device or accessible from or to the mobile device, the application according to the exemplary embodiments causes the external/other mobile device application to open and run, and to initiate and perform the web search of the search string text through the search engine of the external/other mobile device application. The external/other mobile device application is operative to display the results of the web search of the search string text in a display page, or user interface of the external/other mobile device application, or the results may be received and displayed in the user interface of the application according to the exemplary arrangements. Examples of such external or other mobile device applications include, as previously discussed, the YouTube™ mobile device application. Still further, the term web browser application includes web browser applications stored on or accessible from or to the user's mobile device that are operative to run or operate a text entry application or communications application. For example, the web browser applications such as the mobile device applications Safari™ or Google Chrome™ are operative to run websites. Such websites may have communications applications including, for example, a text entry application, a messaging application, a video communications application, or an audio communications application as part thereof, for example, Facebook Messenger™ or Zoom™. If a user selects a hyperlink displayed in such a communications application running on a web browser application, the application according to the exemplary embodiment is operative to cause the web search of the search string text to be initiated within the web browser application running the website, and the results are displayed in a tab or window of the web browser application running the website. For example, when a user is using Facebook.com on their laptop or mobile phone, and the website is running on a web browser application such as Safari™ or Google Chrome™, if the user selects a hyperlink that has been posted to a social media feed on the Facebook.com website, the web browser application that the website is running on is operative to open a new web browser tab or new web browser window to view the results corresponding to the hyperlink. A further example would include Facebook Messenger™ that is accessible on the Facebook.com website that is being run on a web browser application such as Safari™. In Facebook Messenger™, if a user sends another user a hyperlink in a message thread of Facebook Messenger™, if the user clicks or otherwise selects the hyperlink, the web browser application running the Facebook.com website is operative to open a new browser tab or new window to display results corresponding to the hyperlink. However, it should be understood that the term web browser application includes any application or software that can use the internet, and that the term web browser application includes all web applications, progressive web applications, websites, mobile applications, desktop applications, or any other application or software that can use the internet, or uses the internet to function and to update data. It should further be understood that a web browser application included as part of the communications application or text entry application, in-app web browser applications, pop-up browser applications, or web browser applications included in an external or other application stored in the memory of the mobile device, or accessible from or to the mobile device, may all be classified or defined as a separate web browser applications outside of the text entry application or communications application. These web browser applications may be classified as separate web browser applications because they are typically structured as additions to the software code of the text entry application or communications application. It should further be understood that all of these web browser locations as defined herein encompass embodiments classified as being included in the software code of the communications application or text entry application, as well as embodiments classified as being additions to the software code of the communications application or text entry application.
In exemplary embodiments, the processes described herein are implemented on mobile devices such as exemplary mobile system 1000 shown in
In exemplary embodiments, the exemplary wired communications interface 1018 is a USB (Universal Serial Bus) that can receive an external USB cable 1019 for enabling data communications with remote processing structure 3000 via one of its own USB ports in its communications interface such that data can be received by and sent to remote processing structure 3000. In an alternative exemplary embodiment, wired communications interface 1018 is configured to operate according to a different form-factor and/or protocol, such as Lightning™, Thunderbolt™, Firewire™ or some other wired interface. In exemplary arrangements, however, communications between mobile system 1000 and remote processing structure 3000 is encrypted and conveyed via a wireless connection through communications network 2000 such as the Internet including a Wi-Fi base station in communication with Wi-Fi transceiver 1028. Of course, it should be understood that these wired and wireless communications connections are merely exemplary, and in other embodiments, other communications connections may be used.
In the exemplary embodiments, the exemplary mobile system 1000 performs processing steps described herein in response to the exemplary central processor 1016 executing one or more sequences of one or more instructions contained in a memory, such as the memory 1014. Such instructions may be read into the memory 1014 from another computer readable medium, such as but not limited to a hard disk or a removable media drive. One or more processors in a multi-processing arrangement may also be employed to execute the sequences of instructions contained in memory 1014. In alternative exemplary embodiments, hard-wired circuitry may be used in place of or in combination with software instructions. Thus, embodiments are not limited to any specific combination of hardware circuitry and software.
The exemplary mobile system 1000 includes at least one computer readable medium or memory for storing instructions programmed according to the teachings of the exemplary embodiments and for containing data structures, tables, records, or other data described herein. Examples of computer readable media include but are not limited to PROMs (EPROM, EEPROM, flash EPROM), DRAM, SRAM, SDRAM, or any other magnetic medium or compact discs, hard disks, floppy disks, tape, magneto-optical disks or any other processor-readable medium. Of course, it should be understood that these various computer readable media are merely exemplary, and in other embodiments, other computer readable media may be used.
Stored on any one or on a combination of computer readable media, the exemplary arrangements include software for controlling the mobile system 1000, for driving a device or devices for implementing the exemplary embodiments, and for enabling the mobile system 1000 to interact with a human user. Such software may include, for example, but is not limited to, device drivers, operating systems, development tools, and/or applications software. Such computer readable media further includes, for example, the computer program product of the exemplary arrangements, or aspects thereof, for performing all or a portion (if processing is distributed) of the processing performed in implementing aspects of the exemplary arrangements. Of course, this software is merely exemplary, and in other embodiments, other software may be used. In further exemplary embodiments, the central processor 1016 may be in operative connection with an artificial intelligence or machine learning device that is operative to improve and facilitate efficiency of the exemplary methods, operations, systems, arrangements and embodiments described herein.
The computer code devices of the exemplary arrangements may be any interpretable or executable code mechanism, including but not limited to scripts, interpretable programs, dynamic link libraries (DLLs), Java classes, and complete executable programs. Moreover, parts of the processing of the exemplary embodiments may be distributed for better performance, reliability, and/or cost. Of course, these computer code devices and arrangements are merely exemplary, and in other embodiments, other computer code devices and arrangements may be used.
The exemplary computer readable medium for providing instructions to an exemplary central processor 1016 may take many forms, for example, including but not limited to, non-volatile media, volatile media, and transmission media. Non-volatile media includes, for example, optical, magnetic disks, and magneto-optical disks, such as a hard disk or a removable media drive. Volatile media includes dynamic memory, such as the memory 1014. Transmission media includes physical cables or wires, but may also take the form of acoustic or light waves, such as those generated during radio wave or infrared data communications, for example Bluetooth™, Wi-Fi™, Near Field Communications (NFC), and the like. Of course, these forms of computer readable mediums are exemplary, and in other embodiments, other computer readable mediums may be used.
In exemplary arrangements, various forms of computer readable media may be involved in carrying out one or more sequences of one or more instructions to exemplary central processor 1016 for execution. For example, the instructions may initially be carried on a magnetic disk of another remote computer. The other remote computer can load the instructions for implementing all or a portion of the exemplary embodiments remotely into a dynamic memory and send the instructions over a communication line using a modem. A modem local to the mobile system 1000 may receive the data on the communication line and use an infrared transmitter to convert the data to an infrared signal. An infrared detector coupled to a bus can receive the data carried in the infrared signal and place the data on the bus. The bus carries the data to the memory 1014, from which the central processor 1016 retrieves and executes the instructions. The instructions received by the memory 1014 may optionally be stored on an external or selectively connectable storage device either before or after execution by central processor 1016. Of course, it should be understood that these methods of transmitting the processor executable instructions to memory 1014 to be executed by central processor 1016 are merely exemplary, and in other embodiments, other methods of transmitting the instructions to memory 1014 may be used.
It will be understood that additional components of the exemplary embodiments, such as status lights and audible indicators, though not shown in the drawings, may also be connected to central processor 1016 for use in operation of mobile system 1000.
While the exemplary mobile system 1000 is a single mobile device in this embodiment, mobile system 1000 may alternatively be implemented as multiple mobile devices in close-range communication with one another (such as but not limited to a wired USB or other connection or alternatively as a wireless Wi-Fi, Bluetooth, NFC, Zigbee, ANT, IEEE 802.15.4, or Z-Wave connection, for example). For example, mobile system 1000 may include a smartphone and a wrist-mountable computing device, each having respective microcontrollers that work in concert via the wired or wireless connection to achieve a desired result as described herein. The exemplary mobile system 1000 may alternatively be implemented in the form of a laptop computing device either alone or in combination with another device, a head-mountable computing device such as a Google Glass™ device either alone or in combination with another device, or a tablet or alternatively some other suitable system that can be carried with a user during typical daily activities. However, it should be understood that these forms of implementing the application according to the exemplary embodiments are by way of example only, and in other embodiments, other forms of implementing the application according to the exemplary embodiments may be used.
It will be understood that it is not necessary that all mobile system 1000s need be used in an overall system such as is described herein or be of the exact same construction. In one exemplary embodiment, a subject may make use of his or her own smartphone, which may employ an operating system from Android™, Apple™, Blackberry™ or some other producer, provisioned as described herein.
In this exemplary embodiment, the exemplary mobile device (not shown) is pre-programmed with an operating system package, as is well known, which typically includes at least one browser and at least one text messaging app. Alternatively or additionally, a text messaging app and/or browser app can be loaded onto the mobile device in conventional fashion. As used herein “text messaging” includes SMS, instant messaging, e-mail and all other platforms or programs or applications or websites that send text in an editable format.
In the exemplary arrangements, one or more keyboard characters 14, 16 may be assigned as control characters, also referred to herein as indicators, respectively designating the start and end of a text search string 18 in the text messaging text entry field 12. For example, a first indicator may designate a start of search string text and a second indicator may designate an end of search string text. The control characters 14, 16 are preferably individual characters that are not normally used in a text message, or a string of characters that would rarely, if ever, appear together in a word or sentence in the relevant language (e.g. ‘xx’ in English). In exemplary embodiments, a pound sign ‘#’ (more recently known as a “hash tag”) is assigned as the text search string start character 14 and a period ‘.’ is assigned as the text search string end character 16. However, this arrangement is merely exemplary, and in other embodiments, other arrangements may be used. For example, the control characters may be any arrangement of characters commonly displayed on a keyboard that are user selected and assignable to correspond to the indicators 14 and 16. While the control indicators 14 and 16 are described herein in terms of keyboard characters or keys, it should be understood that the control characters 14 and 16 may be spoken words or spoken indicators corresponding to the control indicators, audible indicators such as a buzzer or beep or other sounds, indicators provided via manual or mechanical gestures by the user or other devices, motion sensed by an appropriate motion sensor or camera included in the mobile system 1000 or accessible to the mobile system 1000, indicators provided via light sensing by an appropriate light sensor or camera included in the mobile system 1000 or accessible to the mobile system 1000, control indicators present in text input into the at least one input device via pasting the text including the search string text and indicators bounding the search string text, control indicators present in a video or audio or other data or media file including the search string text bounded by the control indicators, or any combination thereof. It should further be understood that the memory 1014 is operative to store necessary instructions executable by central processor 1016 to permit central processor 1016 to analyze the different types and forms of inputs to the at least one input device in order to recognize input control indicators and input search string text. Of course, these examples of control indicators are merely exemplary, and in other embodiments, other data, motions, sounds, graphics, or media may correspond to the control indicators.
In exemplary arrangements, the exemplary app is programmed to recognize the text following ‘#’ or other control indicator and preceding ‘.’ or other control indicator as a search string. The exemplary search string text may be any user selected and/or user arranged text, data, media, content, or indicia. As used herein, the term indicia may include, but is not limited to, any visual representation, text, data, media, or digital content. The exemplary search string text, for example, may be displayed in a different font, color or style to reflect its character as a search string in the messaging text entry field 12. The exemplary start and end control characters/indicators 14, 16 may be the same text or keyboard character or other form of indicator, although the exemplary coding capable of recognizing the bounds of the text search string in this instance might be somewhat more involved.
During use of the text messaging application configured according to the exemplary arrangements, the user enters (or selects) a recipient and then enters data into the text messaging text entry field 12. It will be appreciated that, as described below, the exemplary embodiments envisage all manners of entering text into a field, including without limitation data entry through the keyboard (typing), pasting text from a text buffer, entering data vocally using a voice recognition app, using a gesture or otherwise. However, these text entry methods are exemplary, and in other embodiments, other text or data entry methods may be used. For example, the search string text or data and the control indicators may be input to the at least one input device through a video recording or audio recording or live video or live audio that the microphone 1034 of the mobile system 1000 is operative to receive and/or that the camera is operative to capture and analyze, or an application is operative to recognize. The memory 1014 further includes instructions executable by the central processor 1016 to analyze the video or audio received through the microphone 1034 and/or camera, or application and to recognize data corresponding to the indicators 14 and 16 and to recognize the data or text between the indicators 14 and 16 as corresponding to the search string text. For example, the exemplary camera may be able to record or receive input data of a user mimicking handwriting on a device or any other gesture by the user, and the memory 1014 includes processor readable instructions executable by the central processor 1016 to recognize certain gestures to be associated with input of control indicators and other gestures or noises as corresponding to input of search string text input after input of a gesture corresponding to the start indicator and preceding an input corresponding to the end indicator. In other exemplary arrangements, the search string text and control characters may be input to the at least one input device through an audio recording or through live audio data that the microphone 1034 is operative to receive. The memory 1014 may further include instructions executable by the central processor 1016 to analyze the input audio recording or live audio data to recognize data corresponding to the indicators 14 and 16 and to recognize the data between the indicators 14 and 16 as corresponding to the search string text. In still further exemplary embodiments, the search string text and control indicators may be included in text pasted into a text entry field of the text entry application or included in a data or media file input into the text entry field of the text entry application, or otherwise entered into the at least one input device. The memory 1014 further includes instructions executable by the central processor 1016 operative to analyze the text pasted into the text entry field or the data or media files inserted into the text entry field for recognition of the data corresponding to the indicators 14 and 16 and to recognize the data included between the indicators 14 and 16 as corresponding to the search string text. It will be apparent from the descriptions of the exemplary embodiments provided herein that the control indicators and the search string text may be input into the at least one input device through any combination of input methods. That is, the control indicators and the search string text may be input into the at least one input device through any combination of but not limited to manual text entry, voice entry, live video entry, recorded video entry, live audio entry, recorded audio entry, entry via manual selection such as highlighting text already displayed through the screen or other methods of manual selection, entry via motion or gestures, entry via light signaling, entry via pasting copied text or data, and entry via a data or media file.
In exemplary arrangements, once the message with the search string, following ‘#’ and preceding ‘.’, or other control indicators, is sent by the user touching (or in the case of a physical keyboard, pressing, or other input methods as described above) the ‘send’ key 20, or other indication of ‘send’ or completion of entry, the search string is automatically displayed as a hyperlink 19 amongst the other words of the message in the message thread appearing in the exemplary message conversation window 22, as shown in
In the exemplary arrangements, to initialize the system, the user may be requested to enter the URL of a search engine or web browser application, preferably when the user first installs the app including the exemplary arrangements, and may be asked to specify a default browser. The “preferences” options preferably allow the user to change these at any time. The user is then ready to start using the application according to the exemplary embodiments. However, the user may additionally select preferences corresponding to options such that when a hyperlink is selected by the user, the web search is initiated and performed through an external or other application in operative connection with the mobile system 1000 or stored thereon. For example, if the search string text includes an indication of the external or other application or of a search engine included as part of the external or other application on the user's mobile system 1000, selecting such a preference will cause the processor 1016 to run the search of the search string text in the external or other application. For example, if the search string text includes an indication of a YouTube™ mobile device application, and the mobile system 1000 is in operative connection with the YouTube™ application or the YouTube™ application is stored thereon, selection of the hyperlink will cause the processor 1016 to complete the web search in the YouTube™ application. It should be understood that this is merely exemplary, and in other embodiments, other arrangements may be used. It should further be understood that the preferences listed herein are nonlimiting, and the exemplary embodiments may provide the user with additional preferences for personalization and customization of the manner in which the methods, operations, and processes described in the exemplary embodiments are performed.
The exemplary search routine begins as the user clicks the hyperlinked search string 19 in the message thread of the messaging app 22 (see
This exemplary search routine and method of presenting the search string text to the web application browser can be represented as:
In the exemplary embodiments the app is thus programmed to, merely upon the user clicking the “hyperlinked” search string 19 displayed in the message in the text messaging app conversation window 22 as shown in
This exemplary routine reduces the number of keystrokes and display actions required to be performed by the user, facilitating the search while reducing the time required to enter the text search string (eliminating the redundancy of entering the search string twice), and by automatically toggling between apps to perform the search using the selected search string. This is particularly useful for the novice user, who may be unaccustomed to finding and switching back and forth between apps, but even skilled users will experience a time savings and reduced rate of typographical errors in the transposition of the search string from a text-based app to a search engine.
In exemplary embodiments the exemplary browser, also referred to herein as web browser application, optionally provides a “Back to SMS” button 34, also referred to herein as a toggle button, shown in
In exemplary embodiments, each new browser tab invoked by the app of the exemplary arrangement may be linked to the corresponding text search string 18 that was typed into the text messaging app text field 12, moved to the conversation thread in the window 22 when sent to the recipient where the text search string 19 is preferably identified as a link, and clicked to generate that particular search. These links can be stored in a buffer, such that for every text search string 19 there is one associated browser tab. In these exemplary embodiments, if the user clicks the same text search string 19 again in the conversation window 22 of the text messaging program, the device toggles to the existing tab for the text search string 19 by default, to reduce processing time and downloading latency. However, if the tab associated with that text search string 19 had been closed by the user, the process described above can simply repeat and a new tab will be opened to perform the search again using the sent text search string.
The exemplary embodiments provide opportunities for monetization, much the way that search engines do. Companies can purchase keywords, for example used at specific geo-locations, at specific time intervals to generate sponsored links or sponsored content, which are stored in a database by a system administrator. Each time a search is performed by the app of the exemplary embodiments, any keyword associated with a sponsor in the administrator database initiates a subroutine that returns a hyperlink to a URL designated by the sponsor in preference to the hyperlinks returned by the search. For example, the sponsored links may appear above the list of hyperlinks returned, or may be distinguished in some way from the results returned by the search, in the same manner as search engines currently do.
For example, rather than displaying the search engine results page directly, the app can programmatically receive the search results, scrub the hits returned by the search engine, and automatically generate an HTML page similar to what the search engine would have provided by emulating it, so as to list sponsored links at the top of the list of hits and display the search engine results as secondary hyperlinks after the sponsored hyperlinks. This may be done, for example, by adding the following steps after or upon initiating the browser search:
In an alternate exemplary embodiment, instead of recognizing the text following the start control character 14 and preceding the end control character 16 as a search string and utilizing the search field of a search engine, an app for performing the exemplary embodiment could be coded to recognize the text following the start control character 14 and preceding the end control character 16 as including an indication of a URL and a search text string. In this alternative exemplary embodiment, when the ‘send’ button is clicked by the user instead of or in addition to displaying the search text string as a hyperlink in the message in the message thread, the app may open a new tab in the browser and paste the URL into the address bar in order to proceed directly to the specified search engine web site at that URL and to initiate the search using that search engine for the search text. This would allow the user to specify or indicate a search engine on an ad hoc basis (or to specify another kind of website or platform or external or other application that can accept arguments in a URL query). For example, a user may enter “Google Pizza Place” in between the start and end control characters, and the search may be automatically commenced once the hyperlinked text is selected, by the application having parsed or analyzed the text and recognized Google as being a website that can be identified by URL as https://www.google.ca, or another URL corresponding to Google™, and the search text as “Pizza Place”. The exemplary application may maintain a table of popular search engine or website names (Google™, Yahoo™, Bing™ etc.) and their associated URLs for this purpose. The application accordingly would launch a new tab in the browser once the hyperlink was selected, and would construct and paste “https://www.google.ca/search?&q=pizza+place” or similar into the address bar thereby to both navigate to the Google™ search website stored in the table and to cause the Google™ search website to conduct the search using search text “Pizza Place” as query arguments. In other exemplary embodiments, the text “Google Pizza Place” would be hyperlinked. In still other exemplary embodiments, just the text “Pizza Place” would be hyperlinked in the message thread, with the word “Google” being treated more programmatically as described above but kept from being displayed once the search text string has been hyperlinked. It should be understood that other methods of parsing and analyzing the search string text and implementing the exemplary embodiments described herein may be used.
Similarly, a user may enter “Yahoo Pizza Place” in between the start and end control characters, and the search may be automatically commenced by the application parsing or analyzing the search text and recognizing Yahoo™ as being a website that can be identified by URL as https://ca.search.yahoo.com/search, or any URL corresponding to Yahoo, and the search text as “Pizza Place”. The exemplary application accordingly would launch a new tab in the browser and would construct and paste “https://ca.search.yahoo.com/search?p=Pizza+Place” or similar into the address bar thereby to both navigate to the Yahoo search website and to cause the Yahoo™ search website to conduct the search using search text “Pizza Place”. It should be understood that other data, indicia, or content may be input between the start and end control indicators. The application according to the exemplary embodiments is operative to analyze such data, indicia, or content using instructions stored on the memory 1014 executable by central processor 1016, other software, or artificial intelligence devices in operative connection with the mobile system 1000. The central processor 1016 is further operative to invoke a web search corresponding to the data, indicia, or content in response to such instructions, other software, or artificial intelligence devices. For example, a user may input as the search string text, an emoji such as a pizza emoji or drinks emoji, or any emoji available to the user, and to cause the search engine or a web browser application to conduct the search corresponding to such emoji.
Similarly, the exemplary application may further recognize the word “Place” or synonyms thereof, or an emoji depicting a map or other emoji, in the search text “Google Pizza Place”, or in a search string text including “Google ‘pizza emoji’ and ‘map emoji’”, or in a search string text including “Google ‘drinks emoji’ and ‘map emoji’”, and the search may be automatically commenced by the application according to the exemplary embodiments recognizing Google™ as being a website that can be identified by URL but also that, because the word “Place” or “map emoji” was in the search text that a specific sub-type of search—for example a search for nearby places using, Apple Maps™ or Google Maps™—as the most appropriate search to automatically conduct. In the case of Google Maps™, the application would accordingly launch a new tab in the browser and would both construct and paste “https://www.google.ca/maps/search/pizza+place/@43.6314022,−79.3941305”, or similar URL based on the data, indicia, or content including an indication of search engine and location entered in the search string text, or adjacent the search string text into the address bar. Thereby, to navigate to the Google Maps™ search website and to cause the Google Maps™ search website to conduct the search using the search text “Pizza Place” or “‘pizza emoji’ and ‘map emoji’” and information about the current location of the device on which the application is running (referring to the @43.631 . . . -79.394 . . . appended to the example URL above). The exemplary application may maintain a table of multiple sub-types associated with particular keywords such as “Place”, “Location” or particular emojis such as “map emoji”, “pizza emoji”, “drinks emoji” or any other emoji available to the user, either in association with each search engine or by itself allowing for selection of the search engine and/or subtype of search. In exemplary arrangements, the user may be able to set such subtype searches by assigning certain keywords or emojis to correspond to certain search criteria, or to alter the subtype tables in the preferences section of the application according to the exemplary embodiments. Other sub-types, such as those relating to time or other factors relating to the type of search results intended may be maintained in association with each search engine or by themselves. These could permit a user to select the search engine and/or a subtype of search which is maintained in connection with other keywords, such as the word “seen” in the search text string “Have you seen Rihanna's hair lately?” to trigger an image search from Google™ rather than a search through all content, or the word “play” in the search text string “Gerald Clayton can really play the blues.” to trigger a video search from Google™ rather than a search through all content. It should be understood that such subtype searches may be performed alternatively by inputting emojis into the text entry application rather than words. Alternatively, or in some combination, in exemplary embodiments, the application is triggered to insert location information into the search query according to indications in the search text string itself. For example “Let's grab #pizza near me.” would cause the application on the sender's device to, triggered from the “near me” portion or a synonym thereof or an emoji corresponding to “near me”, insert geo-location information corresponding to the sender's current location. On the other hand “Let's grab #pizza near you.” would cause the application on the sender's device to, triggered from the “near you” portion or a synonym thereof or emoji corresponding to “near you”, put in a placeholder in the location information variable/argument of the search query, so that the application on the receiver's device could insert the receiver device's location information only once the message was received at the receiver's device. The receiving user could click the hyperlink and have the search query conducted using the receiving device's geo-location information. In the event the original receiver responds to the original message from the original sender, such geo-location information could automatically be sent back to the original sender to update the placeholder in the search query hyperlinked on the original sender's device with the original receiver's device geo-location information, thereby to enable the original sender to click the hyperlink and conduct his or her own search for pizza places that are actually near to the original receiver. Restrictions on location privacy, whether user-selected or legislated, should be factored in implementations of this aspect of the exemplary arrangements. However, it should be understood that these methods and processes are merely exemplary, and in other arrangements, other methods and processes may be used.
In exemplary embodiments, the actual location information may be gleaned from a global positioning system in operative connection with, or of the device or devices themselves, or be automatically inserted by the search website using network data information corresponding to the device-server communications. For example, the geolocation information may be automatically determined by either the senders or the receiver's device in operative connection with the global positioning system (GPS), and the location information may be embedded into or indicated in the search string text, thereby selection of the hyperlink is operative to invoke the search of the search string text based on the location embedded or indicated in the search string text and to return results corresponding to areas within a set proximity of the embedded or indicated location. However, other methods of collecting location information may be used, such as location information determined by external or other applications stored on the mobile device. Of course these methods of collecting and implementing location information are merely exemplary, and in other embodiments, other methods of collecting and implementing location information may be used.
In other exemplary embodiments, in the event that the user, upon entering such a search string bracketed with control characters causing the search text string to be hyperlinked, decides to delete or otherwise edit the search text string prior to sending the message or otherwise confirming the search text string, the application may permit this even though it had already hyperlinked the text. For example, the user could press the delete button after having entered the end control character to backtrack through the search string. Once the exemplary application recognizes this action (deletion of the end control character), it will automatically display the entire search string (minus any of the actual search text string that has additionally been deleted) inclusive of (per the example above) the “Google” text preceding the “Pizza Place” text, thereby providing the user with fuller control over editing or deleting the entire search text string. For example, in a scenario whereby the search text string is hyperlinked and displays as follows “Let's find some Pizza Place John”, the user pressing delete through the word “John” to edit the text to be “Let's find some Pizza Place Joh” and then “Let's find some Pizza Place”, will have displayed to him/her with an additional delete action (that effectively deletes the end control character): “Let's find some Google Pizza Place” (the end control character now removed and thus the hyperlinking removed) which the user may ultimately see fit to change to something like: “Let's find some Yahoo Pizza Joint” which would be displayed after the end control character was re-entered as “Let's find some Pizza Joint” but, as described above, with an HTML query to the Yahoo search engine and with a different search text string. In this way, the user is provided with a convenient interface for both creating the hyperlinks as described as well as editing them. However, in the messaging application scenario, once the message is sent it would generally not be editable again by either the sender or the receiver. It should be understood from the description of the exemplary embodiments described herein that the application according to the exemplary embodiments may include instructions in the memory 1014 operative to cause the central processor 1016 to parse or analyze the search string text for an indication of a specific recipient of the text message, or message including the search string text bounded by the control indicators. For example, prior to selecting an intended recipient, the search string text “Let's find some Pizza Place John” is input into the at least one input device. The central processor 1016 according to the exemplary application may operatively communicate with a contacts application or contact stored in the memory 1014 of the mobile device and the central processor 1016 may further cause the input search string text and control characters to be sent as a hyperlink to the contact corresponding to “John”. The “John” portion of the search string text may be treated more programmatically as described above, similar to the treatment of “Google” in the search string text, and “John” would not be displayed as part of the hyperlink sent to the intended recipient. However, these methods and processes for analyzing the search string text for an indication of a specific recipient are merely exemplary, and in other embodiments, other methods and processes for analyzing the search string text for an indication of a specific recipient may be used.
In exemplary embodiments, the user who has entered the text may be automatically navigated to a browser per the search text string and any other arguments, once he or she has pressed the Send button. In this way, the sender simultaneously sends the message to the intended receiver and triggers the search for the sender at the same time. Once the message is received at its destination, being hyperlinked, the search can also be triggered by the receiving person on the receiver person's device as described. As will be understood, the generation of a search query that can be used identically by both the sender and the receiver in this way will increase the likelihood that the same search query will be conducted more than once. This could have implications for advertising “click” revenue, but may also have implications for data mining by the search engine which may be able to infer a conversation between two or more devices making the exact same queries of the search engine.
To further this, in exemplary embodiments the search query generated as described above from a given search text string is supplemented with a search query identifier in the HTML. For example, the application generates the following search query: “https://www.google.ca/search?&q=pizza+place” or similar and may also be configured to append a unique search identifier argument to the query by combining the MAC address of the sender device, a timestamp, or some other differentiator that can distinguish the query from other, unrelated, searchers' similar queries. For example, the search query may be augmented automatically by the sender's device to be https://www.google.ca/search?&q=pizza+place&SID=14ac2954378 or similar with the “SID=14ac2954378” portion referring to a search ID variable/argument (automatically generated by the application) that the search engine can parse as an argument to the search. While such a search ID variable/argument would not be part of the search string text the search itself would be based on, should the same query come to the search engine from another device the search engine would be able to infer sender and receiver devices through the common search ID and search text string itself. It is unlikely that a search engine could infer such a relationship from just the search text string since very many unrelated people may be simultaneously searching for the same thing (a pizza place, for example, or information about a new Grammy winner just awarded). In this way, provided search queries are conducted, the search engine could infer relationships between querying devices (and their users), without having to have any direct access to the telecommunications networks upon which the devices are transmitting and receiving their messages. In a similar manner, outside of the text messaging application, such a search ID could be used to infer relationships between querying devices on which copies of an original document (such as a Word document) containing such a search query has been saved. Furthermore, information about the messaging or other application could be sent along with the query as an argument thereby to enable the search engine to be aware that the search query came through ultimately from that application, and was not entered manually by a user at the search engine user interface through the browser.
Variations are possible. For example, in alternative exemplary embodiments, a user interface element such as a button or gesture recognition etc. enables a user to toggle between a search text mode and a query mode so the user can choose whether the search is to automatically occur upon pressing Send, or whether actual clicking of the hyperlink is required.
In one exemplary embodiment, the end control character 16 can be a space. In this exemplary embodiment, a start control character, for example a hash tag (#), can be used to designate the start of the search string. As long as no spaces are used in the search string 18, the app coding could identify all words following the start control character 14 (with no spaces between words) and preceding the next space as the search string to be displayed as a hyperlink 19 in the conversation thread window 22 and copied and pasted into the search bar when the hyperlink 19 is clicked. Although, depending on the search being requested, there can be some ambiguity in this exemplary embodiment, some search engines are sufficiently advanced as to recognize and parse the words in a search string, in many cases, even if the words are pasted into the search field with no spaces in between words. Thus, the effectiveness of this exemplary embodiment may depend on the particular search requested and the robustness of the search engine. It is recognized that other applications, such as Twitter and other social media applications, “hashtagging” using #for tracking and identifying buzzwords and the trends they identify is very common. As such, while the start control character could be a hash tag and the end control character a space, it may be useful to reduce any confusion for users who are familiar with and using such other applications, by providing the disclosed functionality using a different start control character than a hashtag, when applying the exemplary arrangements to these applications.
In an alternative exemplary embodiment, a new function can be created on the keyboard or in the text messaging app that can be triggered on and off by a button, gesture, command or voice command, sensed motion or sensed light, etc., to add a special feature to the text being entered, either visible or latent, to invoke the method of the exemplary embodiments. For example, as a start control character 14 the function can be engaged to identify the text entered while engaged to be a search string, and then disengaged to mark the end of the search string. This enables the app's programming to identify which text or words to copy into the text buffer as a search string. Similarly a button having a functionality unique to the exemplary embodiments, such as a “HYPER Text” button which the user engages in order to identify that the words or text which follow until the button is disengaged are to be designated as a hyperlink 19 and to be copied and presented to the search engine, would obviate the need for a user to type actual start and end control characters 14 and 16 to bracket the search text when the search text is being entered. As well, the “HYPER Text” button can be selected by the user to hyperlink a section of text the user had already entered. For example the user may have entered “Let's grab pizza near me”, and may realize they would like to hyperlink “pizza near me” as to utilize the searchable hyperlink functionality of the exemplary embodiment, therefore the user may highlight the text “pizza near me” and select the “HYPER Text” button, and the first and second indicators will be added respectively to the start and end of the text “pizza near me”, thus creating a hyperlink of the text. The HYPER Text button may also be used to remove an already hyperlinked text as well, by the user highlighting an already hyperlinked text, and selecting the HYPER Text button, which in this example would remove the first and second indicators bracketing the search string text, therefore making the highlighted hyperlinked text plain text.
For example, in this exemplary embodiment, the user pressing the “HYPER Text” button would put the app in a condition to insert a start control character and the user pressing that button again would insert an end control character, provided some search text had been inserted. In the event that no search text was inserted, then the app might remove the already-inserted start control character and would not insert an end control character when the “HYPER Text” button was pressed again to disengage. It should be understood that, in other exemplary alternative embodiments, the action of the user pressing the button corresponding to “HYPER text” may be replaced with the user speaking into the microphone 1034 of the mobile system 1000 the words “start hyperlink” to correspond to the first control indicator, and the user then may speak the words “end hyperlink” to correspond to the second control indicator. In this exemplary embodiment, the application according to the exemplary embodiments is operative to recognize via operations, performed by the central processor 1016 in response to instructions included on the memory 1014, that the text spoken into the microphone 1034 in between the spoken words “start hyperlink” and “end hyperlink” corresponds to the search string text to be searched. It should be further understood that the control indicators and search string text may be input through video, motion, light, or other types of signals which the mobile device 1000 and associated or included components can be configured to recognize as data corresponding indicators and search string text, as previously described.
Because in exemplary embodiments involving a “HYPER Text” button or similar tool for invoking a search text mode a user would not have to manually type control characters, such control characters could themselves be kept invisible to a user, with a different kind of visual indication being provided to the user in the form of an underline and/or color and/or some other cue of the actual search text. For example, the control characters could be formed and treated similarly to tags in a markup language (such as the underlying text
“<HT_BUTTON_ON> Mission Impossible Movie
<HT_BUTTON_OFF>” being displayed as “MISSION IMPOSSIBLE MOVIE” or “Mission Impossible Movie” or “Mission Impossible Movie” where the search text itself is “Mission Impossible Movie”. In exemplary embodiments, a user can choose how search text is to be displayed on his or her device. However, it should be understood that the hyperlink may be displayed as the search string text by itself, the search string text bounded by the control indicators, or other data, media, indicia, or content. Of course, these ways in which the hyperlink may be displayed are merely exemplary, and in other embodiments, other ways of displaying the hyperlink may be used.
While in the exemplary embodiments described above, a default browser is opened and the browser is automatically directed to navigate to the URL of the selected search engine to enter the search string into the search field of the resultant HTML page for the search engine, alternative exemplary methods and processes of presenting the search string text to the search engine interface or the web browser application are possible. For example, in the event that the default browser to be opened has an address bar that is configured to function both as a URL-entry field and as a search-string entry field, the search may be invoked via the browser address bar by the app automatically invoking the browser with instructions to enter the search string from the text message into the address bar of the browser when the user clicks the hyperlinked text in the conversation thread thereby to invoke the search. The entry of the search string into the address bar causes the browser to programmatically initiate the search by the browser formulating the programmatic call to an API (Application Programming Interface) of the search engine (such as Google™) or alternatively by itself automatically retrieving the search engine user interface search page, pasting what is in its address bar into the search field and initiating the search.
While, in exemplary embodiments described above, a browser is opened when a user clicks the hyperlinked text in the text message, alternative exemplary arrangements are possible for presenting the search string text to the web browser application. For example, presenting the search string text to the web browser application may be achieved by the messaging app being configured to structure search requests programmatically itself thereby to make calls to a search engine server directly via HTTP rather than having to open an actual browser, and to itself receive the search results for display by the messaging app. Such programmatic access to search results may be done by the messaging app automatically constructing and sending calls to one or more of many APIs (Application Programming Interfaces) of a search provider, such as Google™ This may be done by simply mimicking the HTTP “GET” command that a straightforward search engine user interface might automatically construct employing text entered into a search field as GET command arguments, or by understanding a slightly more complex (though well understood) process such as by constructing a JSON (JavaScript Object Notation) or XML (eXtensible Markup Language) call to a more sophisticated search engine API. This alternative exemplary arrangement of presenting the search string text to the web browser application may be useful in the event that the messaging app (or whichever app is configured with the method of the exemplary arrangements, to structure text to be searched as hyperlinks) is itself configured to display such search results in-line with the text message itself, rather than within the browser app, or to filter or format the search request or the search results in some appropriate way. For example, clicking the hyperlinked text may not only invoke a programmatic search, but allow toggling between viewing the text messages with hyperlinks, and the text messages with hyperlinks in addition to the search results themselves, allowing a user to toggle between seeing the search results fully or partially displayed within the conversation itself, or simply seeing the selectable hyperlinks which, when selected, reveal the in-line search results. Variations of this exemplary arrangement are possible.
While the exemplary embodiments disclosed herein are well-suited to applications being operated on mobile devices, and particularly for messaging applications on mobile devices, it will be understood that the principals described herein may be employed in messaging applications running on other kinds of devices, such as but not limited to desktop computers, laptop computers, and/or in other kinds of applications involving text entry in which automatic hyperlinking of search text bracketed with control characters for the purpose of enabling a viewer of a document or other collection of text to invoke searches may be useful. For example, bracketing search text with control characters as described above in a word processing application such as Microsoft Word™, or a spread sheeting application such as Microsoft Excel™, or in a presentation application such as Microsoft PowerPoint™, and so forth, may be useful. In such alternative exemplary embodiments, rather than the user pressing “Send” as one might do for a messaging application, the process of converting the entered text bracketed by control characters to a hyperlink could be activated by the user taking some other activating action indicating the end of a search string with control characters, such as the user entering a space after the end control character (i.e. in embodiments above, the ‘.’ following the search text preceded by a ‘#’). A subsequent viewer of the document, such as the author or another person, would be able to select the automatically-created hyperlink thereby to invoke the search in one or more of the manners described herein. It should further be understood that any application, communications application software, or user interface may be configured with or modified to apply the methods, operations, and processes of the exemplary embodiments described herein. For example, the methods, operations, and processes of the exemplary embodiments may be applied to or used to modify, as previously described, but not limited to, word processors such as Microsoft Word™ and Google Word™, Excel applications such as Microsoft Excel™ and Google Excel™, presentation applications such as Microsoft PowerPoint™ and Google PowerPoint™, PDF applications, note applications such as Microsoft One Note™ and Evernote™, enterprise software suites such as Microsoft Office Suite™, Google Suite™, Google Docs™, Microsoft 365™, text messaging applications, SMS messaging applications, instant messaging applications such as WhatsApp™, Facebook Messenger™, Telegram™, WeChat™, Viber™, messaging applications such as Apple iMessage™, Google Messages™, Samsung Messages™, email applications such as Gmail™, Hotmail™, Yahoo Mail™, Apple Mail™, enterprise email accounts, Microsoft Outlook™, chat applications such as chats on websites or chatbots, website forums or forum applications such as Reddit™ or Quora™, blogs such as Wordpress™, Tumbler™, Blogger™, Medium™, Wix Blog™, social media applications or websites such as Facebook™, Instagram™, LinkedIn™, Snapchat™, TikTok™, Twitter™, chat rooms, dating apps such as Tinder™, Bumble™, Hinge™, Plenty of Fish™, Match™, Badoo™, videogame chats such as Twitch™, Discord™, Call of Duty™, World of Warcraft™, Fortnite™, enterprise chat applications such as Slack™ Microsoft Teams™, Facebook Messenger™ for Business, WhatsApp™ for Business, Google Chat™, website builders such as Wix™, Squarespace™, Shopify™ Wordpress™, user profile pages for such websites, applications, and software, audio applications for audio communication, streaming, players, or recording such as Bumble Voice Chat™, Bumble Voice Note™, Hinge Voice Chat™, Hinge Voice Note™ WhatsApp Voice Call™, WhatsApp Voice Note™, podcast recording, audio players, Spotify™, TikTok™, Facebook Messenger Voice Chat™, Twitch™, Discord™ phone/voice calls, voice streaming, voice recordings, voicemail, voice note applications, live multiplayer video gaming, video applications for video communication, streaming, players, or recording such as FaceTime™, TikTok™, WhatsApp Video Call™, Skype™ Google Duo™, Instagram Stories™, Instagram Videos™, Instagram Live Stream/TV™, Instagram Reel™, Instagram Video Chat™, Zoom™, Snapchat™, Snapchat Video Call™, Snapchat video Sharing™, Bumble Video Chat™, Hinge Video Chat™, Twitch™, Discord™, YouTube™, Vlog Recordings™, podcast recordings with video, video calls, Facebook Messenger Video Chat™, video streaming, broadcast TV, video notes, and House Party™, calendar applications and calendar websites such as Google Calendar™ Apple Calendar™, Outlook Calendar™, productivity and project management applications such as Asana™, Monday™, as well as survey and fillable forms applications and websites.
From the various exemplary embodiments, having been thus described in detail by way of example, it will be apparent to those skilled in the art that variations and modifications may be made without departing from the scope of the exemplary embodiments and exemplary arrangements described herein. The exemplary embodiments include all such variations and modifications as fall within the scope of the appended claims. Thus, the exemplary embodiments described herein achieve improved operation, eliminate difficulties encountered in the use of prior devices and systems, and attain the useful results described herein. In the foregoing description, certain terms have been used for brevity, clarity and understanding. However, no unnecessary limitations are to be implied therefrom because such terms are used for descriptive purposes and are intended to be broadly construed. Moreover, the descriptions and illustrations herein are by way of examples and the inventive features are not limited to the features shown and described. Further, in the following claims, any feature described as a means for performing a function or operation shall be construed as encompassing any means known to those skilled in the art as being capable of carrying out the recited function or operation and shall not be deemed limited to the particular means shown or described for performing the recited function or operation in the foregoing description or in equivalents thereof. It should be understood that features and/or relationships associated with one embodiment can be combined with features and/or relationships from another embodiment. That is, various features and/or relationships from various embodiments can be combined in further embodiments. The inventive scope of the disclosure is not limited to only the embodiments shown or described herein. The term “non-transitory” with regard to a computer readable medium is intended to exclude only the subject matter of a transitory signal, per se, where the medium itself is transitory. The term “non-transitory” is not intended to exclude any other form of computer readable media, including but not limited to, media comprising data that is only temporarily stored or stored in a transitory fashion. Should the law change to allow computer readable medium itself to be transitory signals, then this exclusion is no longer valid or binding. Having described the features, discoveries, and principles of the exemplary embodiments, the manner in which they are constructed and operated, and the advantages and useful results attained, the new and useful structures, devices, elements, arrangements, parts, combinations, systems, equipment, operations, methods, processes, and relationships are set forth in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
CA 2939395 | Aug 2016 | CA | national |
This application is a continuation in part application of U.S. patent application Ser. No. 16/039,462 filed on Jul. 19, 2018, which claims priority to Canadian Patent Application No. 2,939,395 filed on Aug. 15, 2016 entitled “METHOD AND DEVICE FOR INVOKING A SEARCH FROM A TEXT MESSAGE”, the contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
8433719 | Choc | Apr 2013 | B1 |
20050262121 | Cesare | Nov 2005 | A1 |
20150347532 | Shaw | Dec 2015 | A1 |
20160006856 | Bruno | Jan 2016 | A1 |
20160011758 | Dornbush | Jan 2016 | A1 |
20160328206 | Nakaoka | Nov 2016 | A1 |
20170193087 | Savliwala | Jul 2017 | A1 |
Number | Date | Country | |
---|---|---|---|
20200401645 A1 | Dec 2020 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CA2017/050966 | Aug 2017 | US |
Child | 16039462 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16039462 | Jul 2018 | US |
Child | 17011660 | US |