The present disclosure relates to instant messaging and in particular to location related messaging between wireless mobile devices.
Instant messaging applications have provided the ability for communication between two or more users quickly between electronic devices. The use of instant messaging applications on mobile wireless devices, such as for example Blackberry Messenger™, has enabled users to connect and stay in contact with groups of people via deliver text, audio and video based messages no matter where they are. The inclusion of location identification capabilities in wireless mobile devices, using technologies such as Global Positioning System (GPS), have enabled information to be delivered to the devices based upon their location. Wireless mobile devices can determine their location with considerable accuracy but have primarily been limited to mapping and navigation applications. The advent of instant messaging and social networking applications have spawned an increased desire to be aware of the activities and locations of friends.
Accordingly, systems and methods that enable ad hoc congregation by using an instant messaging network between wireless mobile devices remain highly desirable.
Further features and advantages of the present disclosure will become apparent from the following detailed description, taken in combination with the appended drawings, in which:
a & 8b show a flow diagrams illustrating a shared meet-up location check-in on a wireless mobile device;
It will be noted that throughout the appended drawings, like features are identified by like reference numerals.
The details and particulars of these aspects of the technology will now be described below, by way of example, with reference to the attached drawings.
In accordance with an aspect of the present disclosure there is provided a method of facilitating ad-hoc congregation using an application executed by a processor on a wireless mobile device. The method comprising: determining a current position of the wireless mobile device; determining if the current position of the wireless mobile device is at a shared meet-up location; and sending a meet-up notification message via a wireless network to members defined by a group to identify that the wireless device is currently at the shared meet-up location.
In accordance with another aspect of the present disclosure there is provided a wireless mobile device comprising a positioning device for determining the position of the wireless mobile device; a wireless transceiver for communicating with a wireless network; a memory containing instructions for facilitating ad-hoc congregation using an application executed by a processor on a wireless mobile device; a processor coupled to the location device, wireless transceiver and the memory, the processor executing an application comprising: determining a current position of the wireless mobile device; determining if the current position of the wireless mobile device is at a shared meet-up location; and sending a meet-up notification message via a wireless network to members defined by a group to identify that the wireless device is currently at the shared meet-up location.
In accordance with yet another aspect of the present disclosure there is provided a computer readable memory containing instructions for facilitating ad-hoc congregation using an application executed by a processor on a wireless mobile device. The instructions when executed by the processor providing: determining a current position of the wireless mobile device; determining if the current position of the wireless mobile device is at a shared meet-up location; and sending a meet-up notification message via a wireless network to members defined by a group to identify that the wireless device is currently at the shared meet-up location.
This disclosure seeks to facilitate physical interactions among a collection of people who normally have sites of congregation such as the shopping mall, grocery store, coffee shop, neighbourhood playground. Occasionally, meet-ups at these sites are arranged. On other occasions, arrival at the site is unplanned. The term instant messaging is used in the disclosure and also includes a peer-to-peer messaging system. Instant messaging includes any type of real-time or near real-time communication applications utilizing direct communication between devices or utilizing one or more servers for facilitating communication. The disclosed technology enables congregation at designated sites in an ad-hoc manner based upon instant messaging communications. A group defining multiple members (or users), such as those defined in instant messaging applications, can designate meet-up sites defined by a geographic location. When members arrive at a designated meet-up site, this information can be shared with the members of the group enabling members to know who is at the designed meet-up site. Users can adjust their schedules and congregate there as well, knowing that this group desires social contact at the designated location.
As shown by way of example in
Although the present disclosure refers to 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 position-determining 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 wireless mobile device 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. Radiolocation techniques may also be used in conjunction with GPS in a hybrid positioning system. References herein to “GPS” are meant to include Assisted GPS and Aided GPS.
The mobile device 100 also includes an operating system 160 and software components 162 to 172 which are described in more detail below. The operating system 160 and the software components 162 to 172 that are executed by the main processor 110 are typically stored in a persistent store such as the flash memory 150, which may alternatively be a read-only memory (ROM) or similar storage element (not shown). Those skilled in the art will appreciate that portions of the operating system 160 and the software components 162 to 172, such as specific device applications, or parts thereof, may be temporarily loaded into a volatile store such as the RAM 152. Other software components can also be included, as is well known to those skilled in the art.
The subset of software applications that control basic device operations, including data and voice communication applications, may be installed on the mobile device 100 during its manufacture. Other software applications include a message application 162 that can be any suitable software program that allows a user of the mobile device 100 to send and receive electronic messages. Various alternatives exist for the message application 162 as is well known to those skilled in the art. Messages that have been sent or received by the user are typically stored in the flash memory 150 of the mobile device 100 or some other suitable storage element in the mobile device 100. In at least some embodiments, some of the sent and received messages may be stored remotely from the device 100 such as in a data store of an associated host system that the mobile device 100 communicates with.
The software applications can further comprise a device state module 166, a Personal Information Manager (PIM) 168, and other suitable modules (not shown). The device state module 166 provides persistence, i.e. the device state module 166 ensures that important device data is stored in persistent memory, such as the flash memory 150, so that the data is not lost when the mobile device 100 is turned off or loses power. The PIM 168 includes functionality for organizing and managing data items of interest to the user, such as, but not limited to, e-mail, contacts, calendar events, voice mails, appointments, and task items.
The mobile device 100 may also comprise a connect module 170, and an IT policy module 172. The connect module 170 implements the communication protocols that are required for the mobile device 100 to communicate with the wireless infrastructure and any host system, such as an enterprise system, that the mobile device 100 is authorized to interface with.
The connect module 170 includes a set of APIs that can be integrated with the mobile device 100 to allow the mobile device 100 to use any number of services associated with the enterprise system. The connect module 170 allows the mobile device 100 to establish an end-to-end secure, authenticated communication pipe with the host system. A subset of applications for which access is provided by the connect module 170 can be used to pass IT policy commands from the host system to the mobile device 100. This can be done in a wireless or wired manner. These instructions can then be passed to the IT policy module 172 to modify the configuration of the device 100.
Some examples of other software components 164 that may be executed by the operating system 160 may include, instant messaging application, social networking, mapping, internet browser, searching, calendar, address book and phone applications. It will be appreciated that the various applications may operate independently or may utilize features of other applications. For example, the phone application and messaging application may use the address book for contact details. The instant messaging application comprises or otherwise has access to an instant messaging (IM) message store, which is used to store instant messages and instant messaging sessions or conversations comprising one or more messages exchanged with a particular correspondent or contact. The instant messaging application comprises or otherwise has access to an IM contact list which may or may not be a subset of the contacts in the address book. The IM contact list comprises the contact with which the user of the mobile device 100 can engage in an instant messaging conversation.
Referring to
Additional information may be provided in respect of each member such as the length of time that the member has been at the location. Members that are within a defined proximity or tolerance may also be identified. For example members of the group that are nearby, for example ‘<1 km’, although not at the location, may be identified relative to the meet-up location. The members may also be identified with a confidence interval indicator identifying the accuracy of the GPS location information. The indicator may be a graphic indicator such as a color change, icon change or enhancement such as a range circle defining the accuracy level. Depending on the setting of the respective user device, users that are approaching the meet-up location may also provide an estimated time of arrival. The remaining group members may be identified as ‘Far away’ 506 or not present at the meet-up location. The messaging application may also be configured only to provide location updates when the device is within a defined range of a meet-up location such that locations of devices that are out of the range, for example ‘>1 km’ may only be present as not at the location. Alternatively, locations updates may be periodically provided by members, irrespective of their location relative to designated meet-up locations so that a user location may be regularly available.
For the meet-up location additional options 512 may be presented to the user or are selectable by the user either within the screen, as a pop-up, or a menu item, to perform actions in respect of the meet-up location. The options may include but not be limited to a manual ‘check-in’ if location services are not enabled on the device, providing an ‘estimated check-in’ to other members if the user intends to arrive at the meet-up, and options for manually leaving or ‘checking out’ of the meet-up location, or selectively displaying a user status at the location to members of the group.
a shows a flow diagram illustrating a shared meet-up location check-in on a wireless mobile device. Assuming one or more meet-up locations have been configured on a device, the device position is determined (802) through one or more position determination means, such as GPS, assisted GPS, and aided GPS or by network triangulation. The position determination method may be selected as the device approaches a meet-up location, where position determination that utilizes less power may be used first with lower accuracy, but higher power consumption, higher accuracy location techniques enabled as the proximity to the meet-up location increases. When it is determined that the device is at a meet-up location (804) a meet-up notification message is sent (806) via the wireless network to the messaging server for distribution to other devices or sent directly to members devices of the group.
b shows an alternative flow diagram illustrating a shared meet-up location check-in on a wireless mobile device. Assuming one or more meet-up locations have been configured on a device, the shared meet-up locations are determined at associated position coordinates defined (812). The meet-up locations may be stored in a data storage area (database) associated with the application or retrieved from another application or data storage area. Optionally tolerances or variables may be associated with the meet-up location such as a distance range associated with the location point, or lengths of time, initiating a timer, that a user must be at the meet-up point before a message is sent to other members (814). The device position is determined (816) through one or more position determination means, such as GPS, assisted GPS, and aided GPS or by network triangulation. The position determination method may be selected as the device approaches a meet-up location, where position determination that utilizes less power may be used first with lower accuracy, but higher power consumption, higher accuracy position techniques enabled as the proximity to the meet-up location increases. When it is determined that the device is within range of a meet-up location (YES at 818) a meet-up notification is sent to the messaging server for distribution to other devices (820). In a peer-to-peer instant messaging environment, notifications may be sent directly to other members without an intermediary server. The notification may be based upon a meet-up identifier, a position identifier and may also include members or groups to be notified. The server may alternatively perform a look-up to determine members and/or devices that should be notified. The notification may be sent as part of a message, a custom message format, or a data or file transfer protocol. If the device is not in range of a meet-up location (NO at 818) based on position alone or on one or more of the tolerance criteria not being met, the method continues with the device determining when the device is near a meet-up location.
The request may also include tolerance criteria associated with the meet-up location for determining when the meet-up location notifications are to be issued, how the meet-up location is to be displayed, etc. (others?). If the request is accepted by a member (YES at 1408) the member is added to the meet-up location and the other accepted members can be notified of their acceptance (1410). If a member does not accept the request (NO at 1408) the member is removed from the meet-up location (1412), but not necessarily the group. Depending on configuration, a user may not be required to accept the meet-up location request and any new meet-up location requests may be automatically sent and added to each member of a pre-defined group.
Although portions of the present technology are described in the context of an instant message application, the technology may be integrated to provide functionality in any number of applications such as e-mail messaging, text messaging, mapping, social networking application or general operating system or user interface of the device to present information related to meet-up status, meet-up entry or invitations to a member.
This new technology has been described in terms of specific implementations and configurations which are intended to be exemplary only. Persons of ordinary skill in the art will, having read this disclosure, readily appreciate that many obvious variations, refinements and modifications may be made without departing from the inventive concept(s) disclosed herein. The scope of the exclusive right sought by the Applicant(s) is therefore intended to be limited solely by the appended claims.