Nokia places floating profile

A method and system for marking a location with a mobile device, uploading location information from the marked location to a location based service, creating a web page for the location information, and adding descriptive content to the web page pertaining to the location.

BACKGROUND

The disclosed embodiments generally relate to user interfaces and, more particularly, to a service that stores, manages, aggregates, collaborates and shares user generated content, particularly with respect to maps and location based services.

2. Brief Description of Related Developments

Maps with static content are generally known. Users generally have the ability to navigate, search and plan, using these static map resources. It would be advantageous to be able to create a community based platform that enables a user to find, create, share and value location based information across web and mobile systems and devices.

SUMMARY

The aspects of the disclosed embodiments are directed to a method and system for marking a location with a mobile device, uploading location information from the marked location to a location based service, creating a web page for the location information, and adding descriptive content to the web page.

DETAILED DESCRIPTION OF THE EMBODIMENT(s)

FIG. 1illustrates one embodiment of a system100in which aspects of the disclosed embodiments can be applied. Although the disclosed embodiments will be described with reference to the embodiments shown in the drawings and described below, it should be understood that these could be embodied in many alternate forms. In addition, any suitable size, shape or type of elements or materials could be used.

The disclosed embodiments generally allow users to store, manage, aggregate, collaborate and share user generated content that is generally related to maps and location based services. The disclosed embodiments provide a location based service content model for web and mobile map users. Every location can be made into a “place”, where “places” comprise open containers that aggregate location specific content. Every “place” will be a website that can be viewed online, using a mobile device or other Internet enabled device. The aspects of the disclosed embodiments will allow on-the-spot guidance with respect to locations, as well as allow for pre- and post-planning. Places can link to other places to open room for semantic layers. The more places (data) there are, the better the semantic social layer can create additional value to the users.

In one embodiment, city and city guides can be used as top level entities, which are then broken down to domains, sub-domains and points of interest (“POI”). The city level can be used as a top down entry point for users. In alternate embodiments, and suitable location domain or level can be used as a top down entry point, such as for example, a country or nation. From the bottom up, individual points of interest can be used as the entry points, for example.

In one embodiment, the user information is stored in a floating profile. A floating profile is a roaming data container used to synchronize data between a places web service and a mobile terminal.

The aspects of the disclosed embodiments relate to the ability to be able to mark a geographical location with a device and upload the marked location to a service. In one embodiment, a web page (URL address) can be created for the geographical location, if one does not already exist, content added to the web page, and the web page shared with other users. In one embodiment other users can also share and add content to the web page. Content can also be aggregated from third party services and provided on the web page or limited to the web page. The content is generally pertinent to the marked geographical location. Content can include for example, user generated content, branded content, branded listings, ticketing engines, dynamic services, proprietary user generated content, third party content and collaborative content. In alternate embodiments, the content can include any suitable content that may form part of or be added to a website or webpage. In one embodiment the content can be shown and/or access by HTML files or hyperlinks, server side content, A-Branded content, reviews and ratings or tags to explore. One example of a places webpage is illustrated inFIG. 9.

The aspects of the disclosed embodiments allow the web page to be accessed from all types of devices, including for example, mobile communication devices and PC's. The devices will generally be internet enabled or allow access websites and webpages in accordance with the aspects of the disclosed embodiments. In one embodiment, the user interface for the mobile device is the same as or consistent with the user interface on a PC or such other device. This can provide a seamless experience between the mobile device and the PC.

In one embodiment, a user is able to create a “place” using a mobile device, by marking the geographical location with the device. This can include taking a picture of the location or using a positioning function of the device to mark the approximate location using geographical coordinates. In one embodiment, when a picture is taken, the geographical position of the device is also recorded, such as for example, by tagging the position mark to the picture. In one embodiment, GPS coordinates are used to mark the location and are tagged to the picture, for example. In alternate embodiments, any suitable method can be used to mark a geographical location.

As an example, the GPS coordinates that correspond to a certain location can be received from a Near Field Communication (“NFC”) tag associated with the location. A mobile device can include a NFC reader, which can read the coordinates from a suitable NFC transmitter or transceiver (tag). The location information can be moved, copied and/or read from the NFC tag to the mobile device, when for example the user takes a picture or otherwise chooses to “mark” the location. The location information can then be stored in conjunction with the picture (or other location identifier). For example, the user may associate a text tag, icon or other identifier with a marked location, rather than taking a picture of it. When the user access or retrieves the picture (or other location identifier), the location coordinates will also be made available. Similarly, if the coordinates are retrieved or accessed, the corresponding picture can be made available.

Referring toFIG. 2, in one embodiment, the picture and coordinates can be uploaded from the device202to a location-based service, or server208. “Nokia Places ™” is one example of such a location-based service. In one embodiment, the server208will have an interface which receives tagged content, extracts the coordinates and puts the tagged picture on the respective place on the map view. This may also be a trigger for starting to generate a web page of predefined format by fetching relevant information for the place. In one embodiment a trigger for this kind of service, such as a “My Places” service, may be selected by user using the user interface of the phone or particular device202. The places server208can comprises a maplet on top of the map server206ofFIG. 2. The places server208can be unplugged from the map application to work independently from the map application.

The location-based service208can create or cause a web page to be created for the marked location, if such a page does not presently exist. In one embodiment, the location is marked on a corresponding geographical map of the area or region. When the map is being reviewed, a user will be able to see a mark or link for the site and be directed to the web page.

Once the site is created other users and subscribers will have the ability to access the web page and view the content and other information. In one embodiment, the user and others will have the ability to add content to the web page, such as for example, pictures, images, video and comments depending upon the permissions granted to the places service. Users may access the site using a mobile device or PC, for example. It is a feature of the disclosed embodiments that the user interface is common to and for both types of devices. The disclosed embodiments create a community based platform that allows users to find, create, share and value location based information across web and mobile based devices and platforms.

Referring toFIG. 2, one example of a system incorporating aspects of the disclosed embodiments is illustrated. In one embodiment, a device202, such as for example a mobile terminal, is configured to be able to at least mark geographic locations, as well as access and download map service features. As shown in the example ofFIG. 2, a map212is displayed on the user interface214. Any suitable map service can be utilized to download map information. The mobile terminal202is generally configured to interface with a map server system206, a place server208and an identity management system210.

The map server system206generally comprises a map download service for mobile devices and terminals and provides, for example, map and search services. The places server208generally comprises an HTTP directory that is used to store user profile information in the network. The user profile information is provided by the floating profile204, which moves, or transfers data and information, between the mobile terminal202and the server208. The server208can store user profile information in a database or directory, such as a SQL database or LDAP directory, at a later stage. The server system208is generally responsible for the floating profile204version control, modification, mergers and managing version conflicts. The server system208can also serve as an authentication proxy for the mobile terminal and forward client authentication requests to the identify management system210. The aspects of the disclosed embodiments generally provide for a single profile and single log-in/sign on for interaction with all areas of the service and devices.

In one embodiment, the identity management system210generally comprises a server that is used as a primary mobile terminal (MT) user authentication server. The identity management server210receives both mobile terminal202and web client authentication requests from the places server208over a secure connection. In one embodiment, the identity management system210can be referred to as a Nokia Consumer Identity Management System (NCIM).

The floating profile204can comprise a compressed XML container that enables the transport of geocoded and user community profile information over a connection, such as a low bandwidth connection for example. The XML format for storing information in the floating profile204allow for flexible extension of the floating profile204. The floating profile204addresses community profile information synchronization between community web services, such as the places server208, and the mobile terminal202and is generally responsible for automatic synchronization, version control and conflict resolution without user interaction. The synchronization protocol is scaleable, fault tolerant and robust, being able to work over unreliable low bandwidth networks with a user base of several millions. All synchronization events can be atomic, so that if synchronization is interrupted, the floating profile204(server) can perform an automatic rollback.

In one embodiment, an XML format is used due to web 2.0 service compatibility reasons and because it enables dynamic adding of new use fields. In alternate embodiments any suitable format can be used for storing information in the floating profile204. The geocoded information can be stored in keyhole Mark-Up Language (KML) to provide compatibility with potential 3rdparty service providers and services. The floating profile204can also include version and time stamp information for version control and compatibility. Version history and modifications can be stored into a version control repository. The server repository will be able to roll back in time and restore older versions of the floating profile in the event that modifications need to be cancelled or recovered. The floating profile204allows the synchronization of data between the mobile device and the community, which generally comprises the places server208. Since the mobile terminal202may not be connected to the web and the places server 100% of the time, the floating profile204provides the ability to mark a location, and/or add content, and upload this information from the terminal202to the places server208at a later time. The upload can occur in the background according to a synchronization protocol, and synchronisation can be transparent to the user.

In one embodiment, the floating profile204travels or transfer data between the mobile terminal202and the places server208. If data in either the mobile terminal202or places server208is changed, the data is synchronised at a suitable point in time. There can be automatic conflict resolution in the floating profile, where the protocol is transparent to the user. In one embodiment, the places service208can be configured to manage the size, form and other dimensions of data presented, mainly in the form of a single web page.

In one embodiment, the mobile terminal202, which can comprise a handheld terminal, or client, will generally incorporate a directory access client (HTTP) that is used to retrieve and deposit a user's floating profile204into a places directory208. The mobile terminal202can include local storage for the floating profile204and a simple native user interface214for profile management. For security reasons, mobile terminal client authentication should be carried out over a secure connection.

The format for the floating profile204will generally include data such as, for example, placemarks, descriptive HTML in placemarks, routes, ground overlays and network links. Other information such as user profiling tags, version control and history information can also be included. Although XML language is indicated as the format for the storage of information in the floating profile204, any suitable format can be used that allows the management of the display of three-dimensional geospatial data in application programs. The selected file format should be able to display geographic data in a map browser. For example, KML has a tag-based structure with names and attributes used for specific display purposes.

The floating profile client204is generally a polymorphic Symbian dll encapsulating all connectivity, storage and KML parsing functionality in one engine component, providing a package of functionality ready to be used from various applications. The dll can be linked against or loaded dynamically on-demand.

In one embodiment, there can be two instances of the floating profile204, a terminal resident profile and a community resident profile. This can be beneficial when a user needs to access his profile information from anywhere at any time. However, the mobile device202is not always connected to the internet. With two instances of the floating profile204, the user can view and edit profile information locally without a data connection. Once a data connection becomes available, the modifications can be relayed to the relevant community, in this example the places server208. In one embodiment, the modifications are relayed transparently in the background once and when the data connection is established. Normal web users can access the community resident profile directly. Any changes made to the community resident profile can be relayed to the terminal resident profile when the connection to the terminal202becomes available.

The server system can be configured to offer to different entities, a platform to provide localized or personalized content, or advertisements, to the webpages based on the location and/or other attraction. In one embodiment, the server system can provide interfaces to be filled in by interested entities. For example, when the place page is created, selected entities, as determined by the service system or provider, can offer content that is unique to their service(s) on that page. When a location is rendered, the web content that is unique to the entity or entities will be available and visible on the page. The entities can tailor the available content to specific locations and maximize the visibility of the content to the user. In one embodiment, the server system can also collect usage information of the pages. This can include for example the number of visits or “hits” on a page, as well as the number of times a particular link is accessed. In alternate embodiments, any suitable statistics can be collected for analysis. Based on the usage the service system may provide the entities the statistics information and data. The usage can be a trigger for others to buy a presence in the popular pages.

In one embodiment, service providers or advertisers can identify locations or areas, such as by a set of given coordinates or coordinate groups, with which there advertisements should be associated. When a match is detected between the coordinates of a placed created or marked by a user, and the coordinates provided by an advertiser(s), the corresponding web page will automatically include or have added to it, the corresponding advertiser(s) content. For example, in one embodiment, an advertiser registers with the places server208. The registration can include profile information and an indication of target categories of locations, or specific locations, with which they would like their advertisements or other content to appear. When a user creates or marks a place, and that information is transmitted to the places server208, a comparison will be made between the location information provided by the user and the location information of each advertiser in the places server208. When a match is detected, the content of each advertiser can be added to the web place or web site that is created for the marked location.

The floating profile204allows data transfer between the mobile terminal202and the places server208to be minimized. In one embodiment, the modifications to the floating profile204will contain only a delta of the modified data between versions. This data can be sent in a compressed format to further minimize traffic requirements. The floating profile204will also queue all concurrent modifications before sending the modified data. The queued modifications can then be bundled and sent simultaneously. This can minimize the number of actual synchronization times.

In one embodiment, data synchronization with the floating profile204can be encapsulated in an HTTP connection. An HTTP connection allows the data to pass through firewalls and other internet devices, providing better connectivity and quality.

In a situation where the terminal resident profile and the community resident profile have been modified simultaneously, a conflict can occur. In one embodiment, the floating profile204(server) will automatically execute a profile merge between the two versions, item by item. The merged profile can then be sent back to the mobile terminal202. In the situation where the same data fields inside the same single object are modified, on both the terminal resident profile and the community resident profile, the floating profile204(server) can apply an opportunistic lossless merge based on object timestamps, where the latter modification applies. In one embodiment, the floating profile204(server) can resolve the merge transparently and without user interaction. In alternate embodiments, any suitable conflict resolution process can be applied.

It should be noted that other applications can also use the dll unless it is specifically prevented. If needed, third party applications can be blocked from using it by checking vendor identification of the using process.

Configuration information for the component is given from outside in form of a Symbian resource structure. Configurable data includes URLs for the places server208and the forms needed to authenticate, commit profile etc.

In one embodiment the downloaded KML files are stored in a subfolder of the private folder of the application, using for example, the floating places engine. For each separate user an “own” subfolder named after the subscriber identity is used. User credentials can be stored in a separate file in the same directory, together with a password in encrypted form. Using the application's “private” folder makes the file storage secure by default. Symbian platform security prevents unauthorized applications from accessing the files. In alternate embodiments, any suitable secure file storage facility or system can be utilised.

The compressed KML file is decompressed to a temporary file before parsing the data. The file is stored directly in the application's private folder and named with the subscriber identity as the extension. The drive to be used can be configured in the resources utility of the application or device. By default, in one embodiment, the C drive will be used for both KML and temporary files. If the space taken by the uncompressed KML exceeds pre-determined or desirable limits, a memory card or other storage facility can be used as well.

In one embodiment, to prevent separate users from accessing other people's profiles, user identification is made by querying the SIM serial number. When the SIM card is changed, the floating profile of the previous user is not shown to the latter, so he/she has to create or download his/her own profile. When the identity changes, the cached KML files are left in the phone to be available for the next user, but any earlier temporary files are removed to save space.

A KML parser supporting only the required tags can be used, using the default Symbian XML SAX parser as a basis. In alternate embodiments a completely custom-made parser can be used that is more efficient and flexible for this limited purpose.

As the KML file is parsed, a run time DOM model is generated. In the first phase of implementation all data is stored in DOM. As the count of POIs can become very high, memory consumption will eventually grow to unacceptable levels. Therefore, only a minimal set of information from the tags is stored in the model at first, the rest is retrieved on-demand from the file.

The policy of storing runtime data in memory is largely defined by the user interface specification, which defines what information is needed to be shown at a “top” level of the user interface. The detailed information can be retrieved in advance based on the current context before actually used, and is available with minimal delays. This on-demand loading with other more sophisticated features requires a custom KML parser to be developed.

In one embodiment, the mobile terminal202authenticates itself with NCIM credentials to the places server208using basic access authentication as defined by RFC 1945 or XXX, for example. In alternate embodiments, any suitable authentication processes can be used. The places server208functions as authentication proxy for the NCIM web authentication and user credential management service.

All authentication requests can be encrypted, using for example, transport layer security (TLS) (HTTPS). In alternate embodiments, any suitable encryption scheme or cryptographic protocol can be utilized. The authorized state of a particular client will be maintained using a session, which will require the client to save a cookie on the first authorization request and to keep it for the rest of the corresponding client-server communication session. Each action, such as authentication, profile update, etc., will have its own URL, that the application is aware of.

In one embodiment, the mobile terminal202may use the update floating profile functionality to download a newer version of the floating profile204from the places server208. In one embodiment, the following pre-conditions can apply:The user is successfully authenticated;The mobile terminal202has NOT made any changes to the floating profile204.

The update is done using a protocol as follows:The mobile terminal202makes a HTTP-request to the places server208with protocol versioning;The places server returns a hash value of the current Floating Profile version;The mobile terminal202compares the hash value to its current Floating Profile;If hash value has changed, the mobile terminal202pulls a new version of Floating Profile from the places server.

The MCU Tag List is a compressed file or text index that contains 1000 most used service tag names for POI's. This index is used by “Add Tag” UI control as source of predicting text feed for tags. The MCU Tag List is language specific. The file may be updated over the network by the places service.

The mobile terminal202may use the Update Tag List functionality to download a newer version of the MCU Tag List from the places server208. The following pre-conditions can apply:The mobile terminal202has NOT updated the MCU Tag List recently (e.g. for 30 days).

The update is done using the following protocol:The mobile terminal202makes the HTTP-request to the places server208with protocol version and language code.The mobile terminal202pulls a new version of MCU Tag List from places server208.

The mobile terminal202may use Commit Floating Profile functionality to upload a newer version of the Floating Profile to the places server208. The following pre-conditions can apply:User is successfully authenticated;The mobile terminal202has made changes to Floating Profile.

The commit is done using the following protocol:The mobile terminal202makes a HTTP-request to the places server208with a timestamp.The places server208returns the value of current Floating Profile timestamp.The mobile terminal202compares the received timestamp to its current Floating Profile.If timestamp has changed, the mobile terminal202pushes a new version of Floating Profile to the place server208The mobile terminal202performs Update Floating Profile in case the server208has performed a profile merge.

The KML Queue is a data storage in the mobile terminal202that contains pending KML and XML objects. Each time a user posts a tag, review or event, this is stored KML Queue. The pending objects in the database (if any) are sent to the places server208during normal floating profile synchronization.

The mobile terminal202may use Commit KML Queue functionality to upload pending tags, reviews and events to the places server208. The following pre-conditions can apply:User is successfully authenticated.The mobile terminal202has pending objects in KML Queue.

The commit is done using the following protocol:The mobile terminal202pushes the pending XML objects to the places server208via HTTP protocol. All KLM Queue objects should contain a language code and time zone information for future use.

In one embodiment, the NCIM210, also known as the Security Assertion Markup Language (SAML/WEBSSO) interface, provides a mechanism to authenticate, implement single login and logout for consumers using Web browser and provide information of the consumer to the service provider. This interface is documented in NCOM—SAML/WEBSSO—Interface Specification, the disclosure of which is incorporated herein by reference in its entirety. In one embodiment, a single profile and account is provided for all interactions. This provides for a single sign-on to the floating profile204and places server208.

FIG. 3illustrates one example of a use case including aspects of the disclosed embodiments. In one aspect, the disclosed embodiments provide a single service with two windows, where location data and content is synchronized between the user mobile device302and the desktop device304. The windows, or user interface, to the location-based service of the disclosed embodiments will include the user's mobile device302browser and a desktop browser on the computing or desktop device304.

The mobile terminal302is used to capture a desired location. In this example, “capture” refers to marking the geographic location using the terminal302. This can involve setting a position mark or capturing an image in conjunction with the position mark. In one embodiment, each marked location is assigned a Universal or Unique Place identifier (“UPI”). This allows each location that is marked to be uniquely identified and easily searched for and located within the places website. The position mark or location is uploaded to the places server208where a location page is created or information on the location or place is retrieved. The user can seek to create a new location web page or seek guidance or information from an existing web page. In another aspect, the user can make use of the online world using device304to retrieve information on places already stored in the system as well as share information. For example, in one embodiment, the locations or places are “pre-seeded”. The user can look up a location and obtain information related to the location. With pre-seeded locations, the user interfaces are pre-defined and content related to the place is added. Thus, when a user marks a location, information and content related to the location is automatically retrieved and returned to the user.

In one embodiment, a guidance mode of the mobile terminal302allows the user to select or mark a site as a geographical location. Once the location is marked, the user can connect to the places server208ofFIG. 2and request data and information on the location. If a web page has not previously been established for the location, the user can select to create a new page for the location. Once the page is created, the user can add content to the web page from the mobile terminal, for example. The content can be synchronized with the user's profile from the floating profile204that is resident in the places server208. The user can also choose to publish the content in community pages.

In one embodiment the user can utilize the online window of device304to access information about places and download or synchronize this information with the mobile device302. For example, a user wishes to plan a trip or visit. In one embodiment, the user utilizes a desktop browser of device304to access the places server208. The user can find new places on the places web server using the desktop browser of device304and send them to the mobile terminal302. Depending on the content stored in the places server208, the user may be able to view information about places to visit, hotels, restaurants and transportation, for example. This information can be saved locally and also sent to the user's mobile terminal304.

In one embodiment, the mobile terminal302can be used to locate places of interest. The user interface of the mobile terminal302will generally be the same or consistent with the user interface of the device304, so that features can be viewed and accessed in similar fashions.

One example of a method incorporating aspects of the disclosed embodiments is illustrated with respect toFIG. 4. A user identifies402a place of interest and initiates a query404to determine whether the place has a web page in the places server208ofFIG. 2associated with it. If the web page does exist, the content associated with the web page can be requested from the associated server and the page delivered or rendered406to the mobile terminal. In one embodiment, identifying402the location means the user marks the location and opens a browser on the device. The browser opens to the places website and renders the page corresponding to the site of the marked location. If a web page for the location does not exist, the location can be bookmarked408and a web page created through predefined interfaces. Information related to the location is then published for others to view. The data relating to the location in the mobile device is synchronized412with the places server208.

The disclosed embodiments can also provide for accessing an outside service to retrieve images related to a location. For example, in one embodiment, a user marks a place of interest. A request is transmitted, using for example the mobile terminal202, to the places server208. The places server208can then request or retrieve associated images or multi-media content from an online service provider, such as for example Twango™ or Flicker™. This can allow the user to browse and see images related to the location. The places server208can also request and render content related to the place of interest from other 3rdparty content providers.

If a URL does not exist, meaning a web page for the location has not been created, the user can bookmark the location. In one embodiment bookmarking the location can include adding landmarks or favorites into the floating profile that are resident in the mobile terminal. The URL is generated and the location domain is updated. This can be done whether or not the mobile terminal is connected to the internet at the time. For example, referring toFIG. 4, the user can publish410the location data and any associated content, which can later be synchronized412with the user's profile resident in the places server.

In one embodiment when the URL for a place does not exist, an interface to a communities application in the map server206ofFIG. 2can be activated. Information can be collected from the communities application that is related to the location. In one embodiment, the information will have a URL address that is associated with the place of interest. The information can be collected and posted to the web page that is created for the place of interest. Other content, such as third-party content or branded content, can be searched for and posted to the web page if a match is detected. Branded content can include advertisements, which can allow for advertisement opportunities according to conventions of media sellers with respect to newly marked and created “places” web pages. Thus, as a page such as that shown with respect toFIG. 9is created, content can be seeded and unified to develop the page.

In one embodiment, the user can create tags, reviews or events that can be stored in the mobile terminal and then posted to the mobile during the next data upload or synchronization. The places server208is configured to be able to host thousands of reviews for a single object, which are not mobile terminal resident. In one embodiment, reviews and other user generated content are only stored on the places server208ofFIG. 2. In alternate embodiments, the user generated content can be stored in any suitable location or facility. A mobile-oriented light HTML section of the places web-site can also be stored on the server. If an identification of an object is provided, the user can browse reviews submitted by others. An application on the mobile terminal will launch a web-browser providing the URL of the web-site section and pass the object ID parameter to it in order to see the reviews.

The aspects of the disclosed embodiments can also allow a user to create and generates routes that include points of interest. A user can create a route and then also publish the route to the places server208so that others can view the route, and any comments thereto.

In one embodiment, a user can mark a general location with a device, such as a mobile communication device. Alternatively, the information related to the marked location can be transmitted to or uploaded to the device. As the user nears or is at the location, a notification can be provided to the user to indicate their proximity to the location. In one embodiment, the notification can be in the form of a text message or email to the device. The location of the user can be monitored in any suitable manner.

The aspects of the disclosed embodiments also provide for a common user interface when accessing the places server208ofFIG. 2, whether it be via the mobile terminal302ofFIG. 3or the desktop browser of device304. It is a feature of the disclosed embodiment that places on the web or on the mobile can be accessed from a single intuitive user interface.

One example of such a user interface is shown inFIG. 5A. As shown inFIG. 5A, the user interface500generally comprises a location bar502, a browse and search bar504, a guide panel506, a map panel508and an events panel510. These elements are generally exemplary and are not intended to encompass all elements that might be included in the user interface of the disclosed embodiments. In one embodiment, the bars or regions are expandable and may be changed in size, shape and configuration, depending upon the desired panel configuration.

The location bar502will generally provide the user with the ability to select and search information by location. Locations can include for example, countries, cities and districts that the user can select and search. The browse and search bar504will generally allow the user to select, search and obtain further levels of detail and information on places of interest with respect to item(s) selected on the location bar502.

FIG. 5Billustrates one example of a location bar520and browse and search bar530. As shown inFIG. 5B, the location bar region520includes selection options related to different geographic locations. The locations range from broad criteria, such as “Europe” to more narrower criteria, such as “Helsinki”. In this manner the user can adapt the scope of a search. In this example the location options include Europe, Finland and Helsinki. In one embodiment a selection of one of the items in the location bar can provide a drop down menu522, that can include one or more related locations. The drop down menu522can provide further levels of detail or granularity, or alternatives, related to the selected location item. Thus, when a user makes a selection of one of the objects in the location bar520, additional levels of related subject matter will appear in a drop down style menu. For example, the user selects the “Helsinki” city option. A drop down list522of other cities is presented. The main city that is presented in the location bar520can be highlighted to appear in a more significant fashion relative to the other list items. In this example, the word “Helsinki” is made to appear larger relative to the other city names in the list522to indicate it is the selected menu item. In alternate embodiments, the option for selection of an additional menu item can be presented via any suitable indication.

In one embodiment, the items in the list522can be highlighted to indicate some level of significance relative to the other items on the list. In the example shown inFIG. 5B, the size of the text of each entry is suggestive of the relative importance of the entry. In alternate embodiments any suitable indicator can be used to indicate importance, including for example, highlighting or bolding of the text or entry. The location bar520can also be configured to allow searching by browsing, searching and filtering (stations, tags and text). A search field524can be provided to allow for free form searching. The location bar520allows the user to initiate a search via the location bar.

The browse and search bar or region530allows the user to be able to select and obtain information on places or areas of interest related to the selected location. Different icons, such as icon532can be provided that when selected, provide information or links to information on the selected subject of interest. Thus, icon532, being related to “Eat & Drink” can provide a menu of such establishments. The menu could be a drop down menu as in522, with more significant or closer establishments being highlighted.

In one embodiment, the panels502,504,506,508and510ofFIG. 5Aare context sensitive. For example, referring toFIG. 5C, selecting different panels provides different views into the same content. When a panel is selected, such as Guide Panel542, the panel can automatically expand to show more views and details into the content. The other panels, while remaining open or visible, can be correspondingly or proportionately reduced in size. By remaining open, the other panels, in a reduced configuration, can provide an overview to the underlying views. As shown inFIG. 5C, the guide panel542is selected. The guide panel542is expanded in size while panels544and546are reduced in size.FIG. 5Dillustrates an example where the selected panel, in this case map panel552is expanded. The guide panel550and events panel554are still present, although reduced relative to the map panel552. This allows the user to focus on a single panel, but still maintain a quick view to the other panels.

The information displayed in the guide panel542will generally relate to the selections made from the bars502and504. For example, referring toFIG. 5B, the user selects “Helsinki” in bar520. Then the user selects the “eat & drink” icon532in bar530. The guide panel542ofFIG. 5Cwill then display or present information corresponding to the “eat & drink” selection with reference to locations in Helsinki. This information can include links to eating and drinking establishments as shown in E10ofFIG. 5E.

In one embodiment, initially or when selected, one of the three panels is expanded, being in focus and providing the most detailed view. The other two panels remain open, always providing an overview to the other panel's views, based at least in part on the selections made in bars502and504. This enables multiple content sources to be visible in a limited user interface. The panels generally provide for categorization of the information. As shown inFIG. 5E, the panels can also include categorization of content sources and information within the panel. The different categories can be identified by tabs, such as tab E14. This type of categorization allows the end user to go from one content source to another in each category without having to scroll. The tabs can be arranged in any suitable manner.

With reference toFIG. 5E, the user selects a location from the location bar520and then the area of interest from bar530. Corresponding links are presented in the Guide panel E10, Map panel E11and Events panel E12. In this example, the user has selected the “Eat & Drink” object532. The Guide panel E10presents links to eating and drinking establishments corresponding to the selected location(s). The map panel E11presents map and location information related to eating and drinking establishments. The events panel E12will present eating and drinking event related information. The aspects of the disclosed embodiments allow for multiple content sources to be visible in a limited user interface. The different content sources can be viewed without the need to scroll through different menus and categories. More detailed information can be presented under tabs, such as tabs E06and E08.

As shown inFIG. 5E, in the guide panel E10, the tabs allow a user to go from one content source to another in each category without having to scroll down. For example, in the guide panel E10, tabs E14, E24and E34provide content related to different types of eating and drinking establishments, when the “eat & drink” icon532is selected above. As shown inFIG. 5E, the selected object532is represented in the guide panel E10as object E01. This allows the user to identify the particular selection. In this example, the user has also selected the “Going Out and Entertainment” category icon, which is redisplayed in the guide panel E10as object E02. Sponsored link, such as link E44, may have an individual space or tab. The tabs can be presented in any suitable order. In one embodiment, the tabs can be arranged in alphabetical order. In an alternative embodiment, the tabs can be arranged in a “smart” manner, where the tabs are rearranged or preferably displayed with each use to present the most used or viewed categories, which can also be determined by keyword use. Content partners can be granted more preferable positions. Advertisers may be able to purchase real estate on the user interface for display if advertising information in the different categories and panels. In one embodiment, the user can choose or pre-select the types of content and categories that are to be presented.

The aspects of the disclosed embodiments can also provide for advertising, and in particular targeted advertising related to places. For example, in one embodiment, a user marks a location with a device. When the device browser is opened and connects with the places server208ofFIG. 2, a check can be made to determine if there are any advertisements related to the particular site. In one embodiment, the related advertisements can be connected and located by the universal place identifier.

In one embodiment, users can provide feedback related to locations and related advertisers. For example, if a user takes advantage of an advertisement, such as by patronizing the advertiser, the user can then provide feedback that will be posted in connection with the marked location and advertisement. The feedback can be positive or negative, or any suitable comments. In one embodiment, if positive reviews and comments are received, the advertisement can be automatically repositioned, reformatted or resized, relative to its current display on the website, so as to attract more attention. Similarly, an advertisement that receives negative reviews can be diminished so as to focus less attention on the advertisement or content. In one embodiment, the places server208can include a ranking module that monitors reviews and rankings, and controls the placement and size of advertising and content on the site. In alternate embodiments, a ranking module can be a separate plug-in to the system200.

The aspects of the disclosed embodiments provide for content placement on the user interface in a manner that provides for multiple content sources to be visible in a limited user interface. Referring toFIG. 5E, in one embodiment, content is categorized, with each category E04, E06, E08of content area being displayed in respective areas on the user interface. The categories E02, E04, E06are generally related to the icons E00in the browse and search bar530ofFIG. 5. When one or more of the icons E00in the browse and search bar530are selected or activated, one or more corresponding content category regions can be displayed on the user interface. In the example shown inFIG. 5E, the icons E01and E02have been selected from the browse and search bar530. In one embodiment, the selected icons E01and E02can be re-presented or displayed in the guide region E10of the user interface. Although three content category regions are shown inFIG. 5E, E04, E06and E08, in alternate embodiments, any suitable number of content regions can be displayed. It is a feature of the disclosed embodiments to make or enable multiple content sources to be visible, even when there is limited display area on the user interface of the corresponding device.

In one embodiment, the content corresponding to each category region E04-E08is accessible via an activatable tab associated with each content area. For example, inFIG. 5E, category E04relates to establishments. In category E04, three tabs are provided, E14, E24and E34, each corresponding to establishment content area, such as restaurants or eating guides. When a tab is selected, the content area is made available to the user. Although only three tabs are shown in the category E04ofFIG. 5E, in alternate embodiments any suitable number of tabs can be provided. It is a feature of the disclosed embodiments to enable users to go from one content source to another without the need to scroll down. The tabs can be positioned in a fashion to be easily perceptible to the user. The arrangement or order of the tabs can be in any suitable fashion, such as alphabetical for example. In one embodiment, tabs, or other suitable selection mechanism, can be presented in an order that corresponds to past use or estimation based upon the user's preferences. For example, in every use, tabs can be arranged in an order based on most viewed, keyword or category. In alternate embodiments, the tabs can be arranged in any suitable fashion.

When a tab is selected, content E46related to the selected content area E26is made available to the user. The user can browse the content E46in the content area E26in any suitable fashion, such as for example, scrolling a list. In order to view additional information related to a specific content item in the list of content E46, the user can select a specific content item in any suitable fashion.

In one embodiment, certain content can be presented in a more noticeable fashion relative to other content on the same page. For example, as shown inFIG. 5E, the content area E44associated with the category E04is presented in a fashion to be more noticeable to the user. In this example, the content area E44is larger than other content areas and includes a link to a sponsor and descriptive content. In alternate embodiments, the content area E44can be distinguished in any suitable fashion and provide any desired content. In one embodiment, the content of area E44might be related to a content category that is based on sites most visited or keywords most used, or driven to a content sponsor.

In one embodiment, the user can customize the content that is presented. For example, a user can pre-set the types and sources of content that are presented in different category areas. The user can also choose content they prefer as well as delete tabs corresponding to content that is not desired or not of interest.

Referring toFIG. 5F, a process incorporating features of the disclosed embodiments is illustrated. In this example, a user of a device, such as a mobile communication device, has captured F502a location. This can include marking the geographical coordinates with a suitable function in the device. In one embodiment, a user may have a map application active on the device, and mark the location directly on the map. Generally, it is not required to mark an exact location, as the aspects of the disclosed embodiments allow a location to marked or pinpointed within a certain tolerance or range. Once the location is marked, the user may initiate a query F504for information on the marked location. In one embodiment, the query is automatically generated. As soon as the location is marked, and the device browser connects with the places server, and the query is generated. In one embodiment, the query can be user initiated. When the location is marked, the user can be prompted to initiate a query or can select to initiate the query for information on the marked location.

Once the device connects with the places server, the location information is transmitted and a check F506is made to determine whether a URL address or webpage for the marked location has previously been established. In accordance with the disclosed embodiments, each location or place will have a unique URL or web page.

If the URL exists, the web page will be rendered to the device and the user will be able to view F508the page and the content associated therewith. If the web page does not exist, the page will need to be created. In one embodiment, an interface or link to a community site will be established F510. This can be a link to a site that includes information or content pertaining to the location. Information and data related to the marked location will be collected and a URL will be established F512for the marked location.

The aspects of the disclosed embodiments will also allow a user to mark locations along a route, store the marked locations, and later download the stored data and obtain further information on the locations and the route. For example, a user sees a point of interest, but does not wish to or have the time to visit the particular location. Referring toFIG. 5G, using the device, such as a GPS enabled mobile terminal, the user marks G502the location. The marked location can be stored G504as a bookmark in the device. In one embodiment, the user can store G504any number of such bookmarks. If the user does not wish to immediately initiate G506a query on the location, the user can select to defer such a request to the places server. When the user has bookmarked G504all desired locations, the user can initiate G506a query to the places server. The query G506can be automatically or user generated. When a network connection G508is established, the bookmarked information associated with the query can be transferred to the places server208. In one embodiment, the floating profile engine204ofFIG. 2is used to establish the connection G508, login and transfer G510the bookmarked location information to the Places Server208. The Places Server208will determine G512whether a URL exists for each of the bookmarked locations. If a URL does exist, the information can be retrieved and returned G516to the user. In one embodiment, the information can be returned in the form of a route or trip that includes navigation, points of interest, and other relevant information related to the bookmarked locations. The user can have the opportunity to publish the route or trip information for others to link to via the places server208. For example, in one embodiment, the routing information can be linked to a specific location as “other points of interest” that can or might be visited. This will allow others to take advantage of the community aspects of the location and places server.

If a URL for one or more of the locations has not been established, the user will have an opportunity to create G518a URL and have the URL published G520as described herein. The URL information can then be transferred G516to the user in any one of the manners described herein.

Referring toFIG. 1, the system of the disclosed embodiments can generally include an input device104, output device106, process module122, applications module180, and storage/memory182. The components described herein are merely exemplary and are not intended to encompass all components that can be included in the system100. The input device104is configured to allow a user to input data and commands to the system or device100. The output device106is configured to allow information and data to be presented to the user via a user interface of the device100. The process module122is generally configured to execute the processes and methods of the disclosed embodiments. The application process controller132can be configured to interface with the applications module180and execute applications processes with respects to the other modules of the system100. The communication module134is configured to allow the device to send communications and messages, such as text messages, chat messages and email. The communications module134is also configured to receive communications from other devices and systems.

The applications module180can include any one of a variety of applications that may be installed, configured or accessible by the device100. In one embodiment, the system100comprises a mobile communication device. The mobile communication device can be Internet enabled. The input device104can also include a camera or such other image capturing system. The applications of the device may include, but are not limited to, data acquisition (e.g. image, video and sound) and multimedia players (e.g. video and music players). In alternate embodiments, the system100can include other suitable devices and applications for capturing and storing images and transferring the images to the places engine137.

While the input device104and output device106are shown as separate devices, in one embodiment, the input device104and output device106can be combined and be part of, and form, the user interface102. The user interface102can be used to display information pertaining to multi-media content as will be described below.

In one embodiment, the user interface of the disclosed embodiments can be implemented on or in a device that includes a touch screen display or a proximity screen device. In alternate embodiments, the aspects of the user interface disclosed herein could be embodied on any suitable device that will display information and allow the selection and activation of applications or system content. The terms “select” and “touch” are generally described herein with respect to a touch screen-display. However, in alternate embodiments, the terms are intended to encompass the required user action with respect to other input devices. For example, with respect to a proximity screen device, it is not necessary for the user to make direct contact in order to select an object or other information. Thus, the above noted terms are intended to encompass that a user only needs to be within the proximity of the device to carry out the desired function.

Similarly, the scope of the intended devices is not limited to single touch or contact devices. Multi-touch devices, where contact by one or more fingers or other pointing devices can navigate on and about the screen are also intended to be encompassed by the disclosed embodiments. Non-touch devices are also intended to be encompassed by the disclosed embodiments. Non-touch devices include, but are not limited to, devices without touch or proximity screens, where navigation on the display and menus of the various applications is performed through, for example, keys110of the system or through voice commands via voice recognition features of the system.

Some examples of devices on which aspects of the disclosed embodiments can be practiced are illustrated with respect toFIGS. 6A and 6B. The devices are merely exemplary and are not intended to encompass all possible devices or all aspects of devices on which the disclosed embodiments can be practiced. In one embodiment, the device comprises a GPS enabled mobile terminal, such as a GPS enabled smart phone. The Nokia™ N95 series of terminal is one such example. As shown inFIG. 6A, in one embodiment, the terminal or mobile communications device600may have a keypad610as an input device and a display620for an output device. The keypad610may include any suitable user input devices such as, for example, a multi-function/scroll key630, soft keys631,632, a call key633, an end call key634and alphanumeric keys635. In one embodiment, the device600includes an image capture device such as a camera621as a further input device. The display620may be any suitable display, such as for example, a touch screen display or graphical user interface. The display may be integral to the device600or the display may be a peripheral display connected or coupled to the device600. A pointing device, such as for example, a stylus, pen or simply the user's finger may be used in conjunction with the display620for menu selection and other input and commands. In alternate embodiments any suitable pointing or touch device may be used. In other alternate embodiments, the display may be a conventional display. The device600may also include other suitable features such as, for example a loud speaker, tactile feedback devices or connectivity port. The mobile communications device may have a processor618connected to the display for processing user inputs and displaying information on the display620. A memory602may be connected to the processor618for storing any suitable information, data, settings and/or applications associated with the mobile communications device600.

In the embodiment where the device600comprises a mobile communications device, the device can be adapted for communication in a telecommunication system, such as that shown inFIG. 7. In such a system, various telecommunications services such as cellular voice calls, worldwide web/wireless application protocol (www/wap) browsing, cellular video calls, data calls, facsimile transmissions, data transmissions, music transmissions, still image transmission, video transmissions, electronic message transmissions and electronic commerce may be performed between the mobile terminal700and other devices, such as another mobile terminal706, a line telephone732, a personal computer751and/or an internet server122. In one embodiment the system is configured to enable any one or combination of chat messaging, instant messaging, text messaging and/or electronic mail. It is to be noted that for different embodiments of the mobile terminal700and in different situations, some of the telecommunications services indicated above may or may not be available. The aspects of the disclosed embodiments are not limited to any particular set of services in this respect.

The mobile terminals700,706may be connected to a mobile telecommunications network77through radio frequency (RF) links702,708via base stations704,709. The mobile telecommunications network710may be in compliance with any commercially available mobile telecommunications standard such as for example global system for mobile communications (GSM), universal mobile telecommunication system (UMTS), digital advanced mobile phone service (D-AMPS), code division multiple access 2000 (CDMA2000), wideband code division multiple access (WCDMA), wireless local area network (WLAN), freedom of mobile multimedia access (FOMA) and time division-synchronous code division multiple access (TD-SCDMA).

The mobile telecommunications network710may be operatively connected to a wide area network720, which may be the Internet or a part thereof. An Internet server722has data storage724and is connected to the wide area network720, as is an Internet client computer726. The server722may host a worldwide web/wireless application protocol server capable of serving worldwide web/wireless application protocol content to the mobile terminal700.

A public switched telephone network (PSTN)730may be connected to the mobile telecommunications network710in a familiar manner. Various telephone terminals, including the stationary telephone732, may be connected to the public switched telephone network730.

The mobile terminal700is also capable of communicating locally via a local link701or751to one or more local devices703or750. The local links701or751may be any suitable type of link with a limited range, such as for example Bluetooth, a Universal Serial Bus (USB) link, a wireless Universal Serial Bus (WUSB) link, an IEEE 802.11 wireless local area network (WLAN) link, an RS-232 serial link, etc. The local devices703can, for example, be various sensors that can communicate measurement values to the mobile terminal700over the local link701. The above examples are not intended to be limiting, and any suitable type of link may be utilized. The local devices703may be antennas and supporting equipment forming a wireless local area network implementing Worldwide Interoperability for Microwave Access (WIMAX, IEEE 802.16), WiFi (IEEE 802.11x) or other communication protocols. The wireless local area network may be connected to the Internet. The mobile terminal700may thus have multi-radio capability for connecting wirelessly using mobile communications network710, wireless local area network or both. Communication with the mobile telecommunications network710may also be implemented using WiFi, Worldwide Interoperability for Microwave Access, or any other suitable protocols, and such communication may utilize unlicensed portions of the radio spectrum (e.g. unlicensed mobile access (UMA)). In one embodiment, the navigation module122ofFIG. 1can include a communications module that is configured to interact with the system described with respect toFIG. 7.

Although the above embodiments are described as being implemented on and with a mobile communication device, it will be understood that the disclosed embodiments can be practiced on any suitable device incorporating a display, processor, memory and supporting software or hardware. In one embodiment, the system100ofFIG. 1may be for example, a personal digital assistant (PDA) style device600′ illustrated inFIG. 6B. The personal digital assistant600′ may have a keypad610′, a touch screen display620′, camera621′ and a pointing device650for use on the touch screen display620′. In still other alternate embodiments, the device may be a personal computer, a tablet computer, touch pad device, Internet tablet, a laptop or desktop computer, a mobile terminal, a cellular/mobile phone, a multimedia device, a personal communicator, a television or television set top box, a digital video/versatile disk (DVD) or High Definition player or any other suitable device capable of containing for example a display114shown inFIG. 1, and supported electronics such as the processor618and memory602ofFIG. 6A.

The user interface102ofFIG. 1can also include menu systems124coupled to the processing module122for allowing user input and commands. The processing module122provides for the control of certain processes of the system100including, but not limited to the controls for marking locations, uploading location information, adding content to locations and downloading location based services. The menu system124can provide for the selection of different tools and application options related to the applications or programs running on the system100in accordance with the disclosed embodiments. In one embodiment, the menu system124may provide for carrying out the aspects of the disclosed embodiments. In the embodiments disclosed herein, the process module122receives certain inputs, such as for example, signals, transmissions, instructions or commands related to the functions of the system100, such as messages and notifications. Depending on the inputs, the process module122interprets the commands and directs the process control132to execute the commands accordingly in conjunction with the other modules, such as floating profile engine136, places engine137, maps engine138and location engine140. The floating profile engine136can be configured to execute the processes related to the floating profile204described with reference toFIG. 2. The places engine137can be configured to execute the processes related to the places server208. The maps engine138can be configured to execute the processes related to the map server206. The location engine140can be used to store, retrieve and provide location coordinate data for locations.

Referring again toFIG. 1, the display114of the system100can comprise any suitable display, such as noted earlier, a touch screen display, proximity screen device or graphical user interface. In one embodiment, the display114can be integral to the system100. In alternate embodiments the display may be a peripheral display connected or coupled to the system100. A pointing device, such as for example, a stylus, pen or simply the user's finger may be used with the display114. In alternate embodiments any suitable pointing device may be used. In other alternate embodiments, the display may be any suitable display, such as for example a flat display114that is typically made of an liquid crystal display (LCD) with optional back lighting, such as a thin film transistor (TFT) matrix capable of displaying color images. A touch screen may be used instead of a conventional liquid crystal display.

The disclosed embodiments may also include software and computer programs incorporating the process steps and instructions described above that are executed in different computers.FIG. 8is a block diagram of one embodiment of a typical apparatus800incorporating features that may be used to practice aspects of the invention. The apparatus800can include computer readable program code means for carrying out and executing the process steps described herein. In one embodiment the computer readable program code is stored in a memory of the device. In alternate embodiments the computer readable program code can be stored in memory or memory medium that is external to the apparatus800. The memory can be direct coupled or wireless coupled to the apparatus800. As shown, a computer system802may be linked to another computer system804, such that the computers802and804are capable of sending information to each other and receiving information from each other. In one embodiment, computer system802could include a server computer adapted to communicate with a network806. Computer systems802and804can be linked together in any conventional manner including, for example, a modem, wireless, hard wire connection, or fiber optic link. Generally, information can be made available to both computer systems802and804using a communication protocol typically sent over a communication channel or through a dial-up connection on an integrated services digital network (ISDN) line or other such communication channel or link. In one embodiment, the communication channel comprises a suitable broad-band communication channel. Computers802and804are generally adapted to utilize program storage devices embodying machine-readable program source code, which is adapted to cause the computers802and804to perform the method steps and processes disclosed herein. The program storage devices incorporating aspects of the invention may be devised, made and used as a component of a machine utilizing optics, magnetic properties and/or electronics to perform the procedures and methods disclosed herein. In alternate embodiments, the program storage devices may include magnetic media, such as a diskette, disk, memory stick or computer hard drive, which is readable and executable by a computer. In other alternate embodiments, the program storage devices could include optical disks, read-only-memory (“ROM”) floppy disks and semiconductor materials and chips.

Computer systems802and804may also include a microprocessor for executing stored programs. Computer802may include a data storage device808on its program storage device for the storage of information and data. The computer program or software incorporating the processes and method steps incorporating aspects of the invention may be stored in one or more computers802and804on an otherwise conventional program storage device. In one embodiment, computers802and804may include a user interface810, and/or a display interface812from which aspects of the invention can be accessed. The user interface810and the display interface812, which in one embodiment can comprise a single interface, can be adapted to allow the input of queries and commands to the system, as well as present the results of the commands and queries.

It is noted that the embodiments described herein can be used individually or in any combination thereof. It should be understood that the foregoing description is only illustrative of the embodiments. Various alternatives and modifications can be devised by those skilled in the art without departing from the embodiments. Accordingly, the present embodiments are intended to embrace all such alternatives, modifications and variances that fall within the scope of the appended claims.