This is the first application filed for the present technology.
The present technology relates generally to mobile devices and, in particular, to creating place data using mobile devices.
Mobile devices or wireless communications devices may be used to create or save location-specific data for storing, sharing, uploading or for other uses. The location-specific data may be geo-tagged automatically using GPS coordinates, a WPS-determined location, user input, or other sources. Conventionally, the marking of a location requires inconvenient user input such as accessing a dropdown menu to send a location or save a location. More efficient and ergonomic techniques are therefore required to create place data.
Further features and advantages of the present technology will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
The present technology relates in general to techniques for creating place data in response to a trigger that is either explicit or implicit. Explicit triggers (e.g. voice commands, gestures, keys, key combinations) are recognized by the device as a command to create the new place in the database. Implicit triggers (capturing a photo or video, creating a voice memo, viewing a search result, viewing a map location, making a call, sending a text message, making a mobile payment, etc.) are inferred by the device as suggesting that the user may wish to create new place data for the place. Other implicit triggers may involve observing a context in which a user provides explicit triggers, extracting content from messages sent by the device, determining if the device is visiting a new geographical area, and recognizing a landmark in a photo or video captured using the device. Once place data is created, it may be stored, shared, and/or uploaded for further processing or use.
Accordingly, one aspect of the present technology is a method, performed by a mobile device, of creating place data. The method entails detecting an explicit or implicit place-marking trigger by the mobile device. In response to the trigger, the device determines current location data for a current location of the mobile device, determines if the current location corresponds to a place for which place data already exists in a place data store. If the place data store does not contain any place data corresponding to the current location, the device creates new place data for the place corresponding to the current location. If the place data store does contain some place data corresponding to the current location, the place data may be updated, corrected or supplemented. The device then transfers the new or updated place data to the place data store.
Another aspect of the present technology is a computer-readable medium comprising instructions in code which when loaded into a memory and executed by a processor of a mobile device cause the mobile device to computer-readable medium comprising instructions in code which when loaded into a memory and executed by a processor of a mobile device cause the mobile device to detect an explicit or implicit place-marking trigger by the mobile device, in response to the trigger, determine current location data for a current location of the mobile device, determine if the current location corresponds to a place for which place data already exists in a place data store, if the place data store does not contain any place data corresponding to the current location, create new place data for the place corresponding to the current location. If the place data store does contain some place data corresponding to the current location, the place data may be updated, corrected or supplemented. The device then transfers the new or updated place data to the place data store.
Another aspect of the present technology is a mobile device mobile device having a user interface for detecting an explicit or implicit place-marking trigger, a processor operatively coupled to the memory for causing, in response to the trigger, a position-determining subsystem to determine a current location of the mobile device, the processor being configured to determine if the current location corresponds to a place for which place data already exists in a place data store and, if the place data store does not contain any place data corresponding to the current location, to create new place data for the place corresponding to the current location and to transfer the place data to the place data store. If the place data store does contain some place data corresponding to the current location, the place data may be updated, corrected or supplemented and then transferred to the place data store.
The details and particulars of these aspects of the technology will now be described below, by way of example, with reference to the drawings.
As shown by way of example in
As depicted by way of example in
As depicted by way of example in
The mobile device 100 may optionally include one or more ports or sockets for wired connections, e.g. USB, HDMI, FireWire (IEEE 1394), etc. or for receiving non-volatile memory cards, e.g. SD (Secure Digital) card, miniSD card or microSD card.
For voice calls, the mobile device 100 includes a microphone 180, a speaker 182 and/or an earphone jack. Optionally, the device may include a speech-recognition subsystem for transforming voice input in the form of sound waves into an electrical signal. The electrical signal is then processed by a speech-recognition module (digital signal processor) to determine voice commands from the voice input. Voice commands may be used to initiate a call and to select the call recipient from an address book.
Optionally, the mobile device 100 includes a positioning subsystem such as a Global Positioning System (GPS) receiver 190 (e.g. in the form of a chip or chipset) for receiving GPS radio signals transmitted from one or more orbiting GPS satellites. References herein to “GPS” are meant to include Assisted GPS and Aided GPS. Although the present disclosure refers expressly to the “Global Positioning System”, it should be understood that this term and its abbreviation “GPS” are being used expansively to include any satellite-based navigation-signal broadcast system, and would therefore include other systems used around the world including the Beidou (COMPASS) system being developed by China, the multi-national Galileo system being developed by the European Union, in collaboration with China, Israel, India, Morocco, Saudi Arabia and South Korea, Russia's GLONASS system, India's proposed Regional Navigational Satellite System (IRNSS), and Japan's proposed QZSS regional system.
Another sort of positioning subsystem may be used as well, e.g. a radiolocation subsystem that determines its current location using radiolocation techniques, as will be elaborated below. In other words, the location of the device can be determined using triangulation of signals from in-range base towers, such as used for Wireless E911. Wireless Enhanced 911 services enable a cell phone or other wireless device to be located geographically using radiolocation techniques such as (i) angle of arrival (AOA) which entails locating the caller at the point where signals from two towers intersect; (ii) time difference of arrival (TDOA), which uses multilateration like GPS, except that the networks determine the time difference and therefore the distance from each tower; and (iii) location signature, which uses “fingerprinting” to store and recall patterns (such as multipath) which mobile phone signals exhibit at different locations in each cell. A Wi-Fi™ Positioning System (WPS) may also be used as a positioning subsystem. Radiolocation techniques and/or WPS may also be used in conjunction with GPS in a hybrid positioning system.
Optionally, the mobile device 100 may include a Wi-Fi™ transceiver 192, a Bluetooth® transceiver 194, and/or a near-field communications (NFC) chip. The mobile device 100 may also optionally include a transceiver for WiMax™ (IEEE 802.16), a transceiver for ZigBee® (IEEE 802.15.4-2003 or other wireless personal area networks), an infrared transceiver or an ultra-wideband transceiver.
Optionally, the mobile device may include other sensors like a digital compass 196 and/or a tilt sensor or accelerometer 198.
The mobile device 100 as shown by way of example in
As shown in
From the foregoing, it should be understood that place data may be created in response to explicit or implicit triggers. This data may then be stored locally in a memory of the mobile device and/or uploaded and stored to an external place data store, e.g. a centralized places database or a distributed database (server cluster, server farm, cloud storage, etc.)
Creating place data, for the purposes of this disclosure, means creating place-related data for a place for which place data is currently nonexistent in the place data store. Creating place data may also include creating new data for an already existent place.
For the purposes of this disclosure, place data (or place-related data) is data, e.g. computer-readable code, that represents place-related information or place-related content that describes a place. The place-related content and information may be text, maps, photos, video, audio files, or other data. The place-related information and content is thus a multi-faceted description of the place. One element of this description is the location of the place, which may be characterized by location data, such as for example location coordinates, a street address, etc. Thus, the place data encompasses the location data for the place but may also include other data describing the place.
The place-marking trigger may be an explicit trigger or an implicit trigger. The trigger causes the device to create new place or to output a suggestion to the user to create new place data for the place corresponding to the trigger. The place corresponding to the trigger is, in most embodiments, the place where the device is physically located when the trigger is detected as determined by a position-determining subsystem on the device such as, for example, a GNSS (GPS) receiver, WPS subsystem, cell signal radiolocation subsystem, etc.
The term “explicit trigger” means an input received by the device via a user input device (keypad, keyboard, touch-screen, jog pad, etc.). An explicit trigger is predefined or predetermined user input that the device is programmed to recognize as a user command to mark a new place. Examples of explicit triggers are a voice command (e.g. “Mark this place”), a gesture (e.g. an X), a dedicated key (hotkey), and a combination or sequence of keys (e.g. P-L-C, SHIFT P-L-C, Alt-P, etc.). In one embodiment, the mobile device may be configured via device configuration parameters or settings to enable the user to define implicit and explicit triggers. In one embodiment, the mobile device may provide a configuration screen where the user can configure the trigger(s) for marking the place. Each of the marked places implicitly/explicitly should contain the metadata that links to the action (user input or user activity) that triggers the creation of the place. In one specific embodiment, the different triggers can be denoted in the list of marked places by different icons. Clicking on an item in the list will open the place detail view with the option for the user to access the content (photo, video, voice memo, text message, phone call, etc) of the corresponding activity that triggers the implicit place creation.
The term “implicit trigger” means a data condition that is detectable by the device that determines when prescribed data satisfies a criterion (or criteria) and causes the device to automatically create new place data or automatically suggest to the user that the user may wish to create new place data. Unlike explicit triggers, implicit triggers are inferred by the device from the user's activity (e.g. usage patterns, context, and/or behaviour). Examples of implicit triggers include taking a picture, creating a video, creating a voice memo, placing or receiving a phone call, placing or receiving a phone call to or from a specific person, sending or receiving a text message, sending or receiving a text message to and from a specific person, initiating a chat session, performing a location-based search, viewing a search result, and touching a location on a map. Depending on the context and usage patterns, this user activity may be inferred to constitute an implied request to create new place data.
Implicit triggers may be configured based on attributes of the user's activity: the number of photos taken, the length of the phone call, the length of the voice memo, the time spent consulting a website of a search result, etc. In some applications, the attributes of the user's activity may be determined based on metadata.
Implicit triggers may be refined or honed by enabling the device to learn how the user acts in various situations or circumstances. The device may employ an artificial learning (Al) algorithm to learn how the user acts in various situations, thus developing over time a corpus of data representing usage patterns or behaviour. For example, the mobile device may learn that the user tends to create places when traveling during daytime/business hours but never on the weekends or holidays (or vice versa). The time and/or location may also be factors in whether an activity should give rise to an implicit trigger. For example, unusually frequented locations on holidays (e.g. Christmas, Easter, etc.) may be inferred to be special and thus potentially worthwhile creating as new places or suggesting as new places to for the user to create.
The mobile device may learn user behaviour by observing circumstances in which explicit triggers are received. For example, the device may learn that the user frequently creates (using an explicit trigger) a new place in certain contexts, environments, locations, times, or when certain behaviours or activity are exhibited (such as using certain applications, consulting certain web sites, interacting with social networks, etc.). Some examples of these types of implicit triggers are visiting a new city, a new province or state, a new country, spending more than a predetermined time in a geographical location, or taking more than a predetermined number of photos at a location. Other implicit triggers may be based on extracting content or inferring user impressions from messages, posts, etc. (e.g. from e-mails, SMS, MMS, IM, tweets, Facebook® posts, etc.). The content of these messages may suggest that the location is interesting, remarkable or memorable to the user and thus worth creating as a new place (e.g. “I love this place!”, “This beach is awesome!”, etc.).
Detection of the implicit trigger may also occur after the device has departed the location. In other words, detection of the implicit trigger may occur at the place to be created or at another location. For example, after a day of sightseeing, the user may send photos to family or friends or may upload photos to a social networking site like Facebook® or to a photo-sharing site like Flickr®. The mobile device may then detect that the location visited earlier that day may be a place worthwhile creating as a new place. The place may be identified by consulting the location metadata for the photo that has been sent, shared or uploaded.
Some specific examples are now presented to illustrate the use of explicit and implicit triggers for creating new place data.
In one example implementation, the place-marking trigger is a signal from a digital camera on the mobile device 100 that a digital photograph (or sequence of photos or a video) has been taken using the digital camera on the mobile device.
If the user provides affirmative input to create the new place, then the mobile device creates new place data for the place “Leaning Tower of Pisa” (or the place “Pisa”). Alternatively, as noted above, the implicit trigger may be the taking of more than a predetermined number of photos within a predetermined period of time or within a predetermined radius. Alternatively, the implicit trigger may be a photo taken in a geographical location that the user has not visited within a prescribed period of time. The device may recognize that the user is traveling in Italy for the first time. If the user stops at a destination for more than a predetermined period of time (e.g. more than 5 minutes, 10 minutes, 30 minutes, or other user-configurable amount of time.) and then takes a picture, creates a video, creates a voice memo, the device may infer that the place has significance or meaning to the user and thus creates a place. Creating a place may automatically create the data or it may prompt the user to confirm that the place is to be created. As another alternative, the device infers that the place should be created if two or more actions are taken, e.g. take a photo and then e-mail the photo.
In another implementation, the place-marking trigger requires that multiple signals be received from the digital camera indicating that multiple digital photographs have been taken at the same location. The mobile device determines if a number of photographs exceeds a predetermined minimum number of photographs and, if so, the mobile device then creates new place data, i.e. only if the number of photographs exceeds the minimum number. For example, the trigger may have a threshold requiring that a minimum number of photographs be taken at the same location. Taking a photo at the same location means that the photos are taken within a predetermined radius or distance, within a geo-fenced area, within the boundaries of a predetermined geographical entity (city, county, state, country, etc.) or of the same landmark or object. For example, the trigger may require that at least two photos be taken, or at least three photos be taken, etc. The number of photos may be set by the user in a settings and options page. As noted above, the trigger may be the recording of a video.
Creating the place data may be done automatically and without user input or user intervention in response to the trigger. Alternatively, creating the place data may comprise presenting a prompt (e.g. displaying a query onscreen) and receiving user input (e.g. touch input or voice input) in response to the prompt to confirm that place data is indeed to be created. The mobile device may be user-configured in an options and setting page to automatically create the new place data in response to the trigger or to prompt the user to confirm that new place data is to be created.
In another implementation, the place-marking trigger is a voice command comprising a predetermined word or phrase, e.g. “Mark this place”, “Create Data for this Place”, “Save this Place”, etc.
In another implementation, as illustrated by way of example in
The gesture may be a gesture performed using a cursor or pointer recognizable by the user interface in conjunction with the processor, a touch gesture recognizable by a touch-sensitive user interface in conjunction with the processor, or a contactless three-dimensional gesture recognizable by a contactless gesture recognition subsystem, etc.
Other place-marking triggers may be utilized to signify that place-related data for a place should be created and stored. These triggers may include: connection to a Wi-Fi™ router or hotspot; NFC pairing with another NFC transceiver, Bluetooth® pairing with another device, checking in to an establishment or POI in a social network application. A mobile credit card or debit card transaction to a point of sale (POS) terminal may also be an implicit trigger. In a variant, repeated transactions at the same POS can implicitly trigger the creation of place data, suggesting that the restaurant, shop, hotel, movie theatre, etc. is a meaningful place to the user. A travel application or a calendar application may be mined to obtain destination information which can be another trigger for a place.
In other embodiments, co-triggers (requiring two or more triggers to be received simultaneously or within a predetermined period of time of one another or in a predetermined sequence) may also be utilized. For example, the co-triggers may be a voice command received after the camera on the device has taken a photo and while the device is still displaying a camera application interface onscreen.
Identifying the place corresponding to the location may in some embodiments require that the mobile device identify nearby places and obtain user input selecting one of the nearby places. For example, a user of the mobile device may trigger the creation of new place data e.g. by taking a photograph, performing a gesture or speaking a voice command when in the middle of a city where there may be multiple potential places of interest. For example, there may be multiple landmarks of Points of Interest (POIs) nearby and it may not be apparent which one is relevant to the user. In other words, there may be restaurants, hotels, cafes, car rental agencies, subway or metro stations, etc., any one of which may be the place that has special meaning or importance to the user. The device must determine which of these potential places is of interest to the user. The granularity of the place is also variable. For example, a user may wish to define a new place at a country or nation level, a state or province level, a city, town or municipality level, a district or borough level, a neighbourhood level, an intersection level, a street address level, or even an apartment, room or suite level, etc.
Accordingly, the method of creating place data may optionally entail further steps of identifying nearby places (as potential place candidates), displaying a list of the nearby places (potential place candidates), receiving user input identifying a selected place (i.e. selecting one of the places), and creating the new place data for the selected place. Instead of a list, the nearby places that are potential place candidates may be displayed on a map or presented in any other suitable fashion.
As illustrated by way of example in
In another optional embodiment, the mobile device may provide a function to consolidate two discrete places for which there are two distinct place data entries in the place data store into a single consolidated place. Similarly, another optional feature enables the user to split or divide a place into two or more places. For example, a user may visit a city and wish to create a generic place entry for that city. On subsequent visits, the user may wish to divide the place into neighbourhoods or to split off a favourite landmark, point of interest, hotel, restaurant, etc.
Although
Once the new place data for the new place has been created in the place database, the mobile device user can do various things with that data. The data may be used by other applications on the device, shared with other users, or uploaded to a server for further processing or use.
Any of the methods disclosed herein may be implemented in hardware, software, firmware or any combination thereof. Where implemented as software, the method steps, acts or operations may be programmed or coded as computer-readable instructions and recorded electronically, magnetically or optically on a fixed or non-transitory computer-readable medium, computer-readable memory, machine-readable memory or computer program product. In other words, the computer-readable memory or computer-readable medium comprises instructions in code which when loaded into a memory and executed on a processor of a computing device cause the computing device to perform one or more of the foregoing method(s).
A computer-readable medium can be any means that contain, store, communicate, propagate or transport the program for use by or in connection with the instruction execution system, apparatus or device. The computer-readable medium may be electronic, magnetic, optical, electromagnetic, infrared or any semiconductor system or device. For example, computer executable code to perform the methods disclosed herein may be tangibly recorded on a computer-readable medium including, but not limited to, a floppy-disk, a CD-ROM, a DVD, RAM, ROM, EPROM, Flash Memory or any suitable memory card, etc. The method may also be implemented in hardware. A hardware implementation might employ discrete logic circuits having logic gates for implementing logic functions on data signals, an application-specific integrated circuit (ASIC) having appropriate combinational logic gates, a programmable gate array (PGA), a field programmable gate array (FPGA), etc.
This invention has been described in terms of specific embodiments, implementations and configurations which are intended to be exemplary only. Persons of ordinary skill in the art will appreciate, having read this disclosure, that many obvious variations, modifications and refinements may be made without departing from the inventive concept(s) presented herein. The scope of the exclusive right sought by the Applicant(s) is therefore intended to be limited solely by the appended claims.