Abstract:
Traditional map-based user interfaces generate disruptive and frustrating user experiences during location-based content exploration because once a user clicks on a preview info window overlaying the map to view its full content, the user is navigated away from the map into a new window disruptively. If the user wishes to go back to the map to explore the vicinity of the preview info window, another context switch involving window closing and navigating the user interface back to the map needs to occur. The present invention defines software methods for map-based user interfaces to provide end-to-end in-situ exploration and management of location-based content. Specifically, the present invention defines methods that enable both the preview and the full location-based content to be continuously explored, edited, and administered all within the map-based context to generate much more fluid, compact, and integrated user experiences for location-based content viewers, designers, and administrators.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present invention claims priority from U.S. Provisional Patent Application No. 61/545,169 filed on Oct. 9, 2011 entitled “In-Situ Exploration of Point-Of-Interest Content for Map-Based User Interface” which is expressly incorporated in its entirety herein. 
     
    
     REFERENCES CITED 
       [0002]    U.S. Pat. No. 7,779,360, Aug. 17, 2010, Matthew Jones et al, MAP user interface US20090027418 A1, Jul. 24, 2007, Nimit H. Maru et al, Map-based interfaces for storing and locating information about geographical 
         [0003]    U.S. Pat. No. 6,883,146, Apr. 19, 2005, Prasad V. Prabhu et al, Picture database graphical user interface utilizing map-based metaphors for efficient browsing and retrieving of pictures 
         [0004]    U.S. Pat. No. 5,790,121, Aug. 4, 1998, Peter Sklar et al, Clustering user interface 
       STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
       [0005]    Not Applicable 
       REFERENCE TO SEQUENCE LISTING, A TABLE, OR A COMPUTER PROGRAM LISTING COMPACT DISK APPENDIX 
       [0006]    Not Applicable 
       FIELD OF THE INVENTION 
       [0007]    The present invention relates generally to methods for map-based user interfaces, and more particularly, to the exploration, browsing, editing, and administration of map-based content shown by map-based user interfaces. 
       BACKGROUND OF THE INVENTION 
       [0008]    For the purposes of this document, the term “in-situ” is used herein to mean “at the same position and context”. The term “in-situ preview content-browsing window” is used herein to mean “popup info-window” for map-based user interfaces. The word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any aspect or design described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other aspects or designs. The terms “user interface” and “web page” are deemed synonymous. 
         [0009]    Map markers are small and expressive icons anchored to specific locations on the map surface and map-based user interfaces use them as hyperlinks for linking location-based content on the map surface. When a user clicks on a particular map marker, a small in-situ info window herein referred to as the in-situ preview content-browsing window, showing a preview version of the location-based content associated with anchored position of the map marker opens inside the map-based user interface. In particular, the in-situ preview content-browsing window opens and overlays on the map surface near the clicked map marker. The preview content-browsing window is in-situ because the opening of the preview content-browsing window occurs at the same position as the clicked map marker and does not change the user&#39;s perceived map-based context. 
         [0010]    In order to let the user explore further detail related to the location-based content, at least one hyperlink is usually embedded in the preview version of the location-based content shown inside the in-situ preview content-browsing window. When a user clicks on such a hyperlink the user is navigated away from the map-based context and into a new window displaying the full version of the location-based content. 
         [0011]    While the above usage scenario is typical, the user experience it generates is far from optimal. In particular, when a user clicks on a hyperlink in the in-situ preview content-browsing window and the full-view content opens in a new window, the user&#39;s perceived context is switched from one being map-based to one unrelated to the map. If a user wishes to go back to the map to explore the vicinity of the clicked map marker, another context switch involving the user closing the new window and navigating the user interface back to the original map needs to occur. Since a context-switch not only carries a computational penalty but a perceptual burden as well, map-based user interfaces that trigger frequent context switches during a user&#39;s location-based content exploration often generate frustrating and disorienting user experiences. 
         [0012]    The present invention defines methods that enable map-based user interfaces to provide end-to-end in-situ exploration and management of location-based content. Specifically, when a user wishes to explore the full location-based content via clicking or some other gestures on the in-situ preview content-browsing window, the in-situ preview content-browsing window itself expands into an in-situ full-view content-browsing window overlaying the map surface to display the full location-based content without leaving the map context. In particular, the expansion of an in-situ preview content-browsing window into an in-situ full-view content-browsing window involves transition effects to aid the visual continuity and to reinforce the user&#39;s perceived map-based context being preserved during the visual transformation between the in-situ preview and full-view content-browsing windows. Furthermore, the in-situ expanded full-view content-browsing window is sized such that it leaves gaps on its four sides relative to the map-based user interface window such that the background map still shows through the gaps. 
         [0013]    These gaps on the sides of the in-situ full-view content-browsing window are important as they further reinforce the user&#39;s perception that the in-situ full-view content-browsing window simply overlays the map surface and as such the map-based context is being retained during the full location-based content exploration. These gaps on the sides of the in-situ full-view content-browsing window are also important because they provide a way for the user to interact with the map background even with the in-situ full-view content-browsing window displayed on top of the map surface. 
         [0014]    When a user clicks on the background map surface, the in-situ full-view content-browsing window collapses back into the in-situ preview content-browsing window with its loaded content restored back to the preview version. Like the in-situ preview content-browsing window expansion process, the collapse of the full-view content-browsing window back to the in-situ preview content-browsing window is aided by transition effects to generate visual cues for relating the in-situ full-view and the in-situ preview content-browsing windows. 
         [0015]    Pushing the in-situ content exploration concept further, the present invention defines methods for a guest user to login as a designer such that he can edit the location-based content using in-situ preview and full-view content-editing windows. An in-situ preview content-editing window has similar geometry as an in-situ preview content-browsing window but it provides content-editing capabilities instead of just content-browsing capabilities. Similarly, an in-situ full-view content-editing window has similar geometry as an in-situ full-view content-browsing window but it also provides content-editing capabilities instead of just content-browsing capabilities. Because the in-situ preview content-editing window has a smaller geometry than the in-situ full-view content-editing window, it may offer a subset of the full-view content-editing window&#39;s editing features. However, both the in-situ preview and full-view content-editing windows are capable of editing both the preview and the full-view versions of the location-based content. 
         [0016]    Both the in-situ preview and full-view content-editing windows provide a fluid, context-switching-free content editing experience that closely parallels most rich text editing environments allowing a user to edit rich text in-situ. 
         [0017]    Pushing the in-situ content exploration concept further still, the present invention also defines methods for a guest user to login as an administrator such that he can monitor and administer content-change requests for publication from all users using the map surface as a dashboard. In particular, an administrator can explore the location-based content by using the same in-situ preview and full-view content-browsing windows a normal guest user can, but an administrator also has the added capability to actively un-publish any published location-based content from any user should the administrator observe any impropriety associated with the published location-based content. 
         [0018]    Moreover, the map-based user interface of the present invention provides content-change alerts to the administrator, and the administrator can then leverage the in-situ preview and full-view content-browsing windows as tools for inspecting the content-change requests for publication. Furthermore, the map-based user interface of the present invention also provides the administrator with accept and reject capabilities for the location-based content-change requests from all users. 
       SUMMARY OF THE INVENTION 
       [0019]    In a mainstream map-based user interface, when a user clicks on a map marker, an in-situ preview content-browsing window associated with the map marker opens to show a preview version of the location-based content near the map marker, but when a user wishes to explore the full version of the location-based content by clicking on a hyperlink inside the in-situ preview content-browsing window, the user is navigated away from the map-based context and into a new window displaying the full version of the location-based content, and as such, a visual context switch occurs and the flow of the location-based content exploration on the map surface becomes disruptive and frustrating. 
         [0020]    The present invention defines software methods for enabling an end-to-end in-situ user experience for the browsing, editing, and administration of location-based content in a map-based user interface. By applying the present invention, the user experience of location-based content exploration on a map-based user interface becomes seamless, fluid, compact and integrated regardless of whether the user intends to browse, edit, or administer the location-based content on the map surface. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWING 
         [0021]      FIG. 1  illustrates a systems view of a user interacting with an exemplary client-server map-based application of the present invention involving a browser and a web server. 
           [0022]      FIG. 2  further illustrates a systems view of the exemplary system of  FIG. 1  where subsystems relevant to the present invention within the browser and the web server are described. 
           [0023]      FIG. 3  illustrates the map-based user interface enabling a guest user to explore a map surface with four map markers placed on it. 
           [0024]      FIG. 4  illustrates the map-based user interface enabling the guest user to open an in-situ preview content-browsing window aided by animation by clicking on one of the four map markers. 
           [0025]      FIG. 5  and  FIG. 6  illustrate the map-based user interface expanding the in-situ preview content-browsing window into the in-situ full-view content-browsing window aided by animation. 
           [0026]      FIG. 7  illustrates the map-based user interface enabling the guest user to browse the expanded in-situ full-view content-browsing window overlaying the map surface. 
           [0027]      FIG. 8  illustrates the map-based user interface enabling the guest user to log in as a designer and explore the designer-created map markers. 
           [0028]      FIG. 9  illustrates the map-based user interface enabling the designer to switch between Browse and Edit modes and change his identity to a guest through respective sets of menu options. 
           [0029]      FIG. 10  illustrates the map-based user interface enabling the designer to open an in-situ preview content-editing window by clicking on a map marker while in Edit mode. 
           [0030]      FIG. 11  illustrates the map-based user interface enabling the designer to interact with an expanded in-situ full-view content-editing window overlaying the map surface. 
           [0031]      FIG. 12  illustrates the map-based user interface enabling the designer to make content changes and publish the changed content through the in-situ full-view content-editing window. 
           [0032]      FIG. 13  illustrates the map-based user interface enabling the designer to treat the map surface as a user interface of a map-based file system for location-based content. 
           [0033]      FIG. 14  illustrates the map-based user interface providing a popup menu for the designer to create a new map marker on the map surface. 
           [0034]      FIG. 15  illustrates the map-based user interface providing a popup menu for the designer to delete or adjust the location of an existing map marker on the map surface. 
           [0035]      FIG. 16  illustrates the map-based user interface providing a popup menu for the designer to specify keywords that are tagged onto the selected map marker on the map surface. 
           [0036]      FIG. 17  illustrates the map-based user interface providing a popup menu for the designer to select a clustered map marker in a map marker cluster to browse its associated location-based content. 
           [0037]      FIG. 18  illustrates the map-based user interface providing a paging mechanism as a way for the designer to select the target location-based content to be loaded in the in-situ preview content-editing window when the designer clicks on the map marker cluster. 
           [0038]      FIG. 19  illustrates the map-based user interface providing a paging mechanism as a way for the designer or guest user to select the target location-based content to be loaded in the in-situ preview content-browsing window when the user clicks on the map marker cluster. 
           [0039]      FIG. 20  illustrates the map-based user interface enabling the guest user to log in as an administrator to monitor and control the integrity of the map markers and their associated location-based content published by all users. 
           [0040]      FIG. 21  illustrates the map-based user interface enabling the administrator to switch between Monitor and Administer modes, and change his identity to any designer through respective sets of menu options. 
           [0041]      FIG. 22  illustrates the map-based user interface enabling the administrator to receive a content-change request as a visual alert on a map marker and inspect its associated location-based content in an in-situ preview content-browsing window to decide whether to accept or reject the content-change request for publication. 
           [0042]      FIG. 23  illustrates the map-based user interface enabling the administrator to inspect the location-based content associated with the content-change request in an in-situ full-view content-browsing window to decide whether to accept or reject the content-change request for publication. 
           [0043]      FIG. 24  illustrates the map-based user interface enabling the administrator to receive a content-change alert on a map marker cluster and inspect the location-based content associated with the clustered map marker generating the alert in an in-situ preview content-browsing window to decide whether to accept or reject the content-change request for publication. 
           [0044]      FIG. 25  illustrates a flowchart describing the map-based user interface&#39;s processing steps for providing map-based in-situ content exploration. 
           [0045]      FIG. 26  illustrates the map-based user interface state diagram of the present invention and its associated capability differences provided to different user types. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0046]    The present invention is described with reference to the drawings, where like reference numerals are used to refer to like elements throughout. 
         [0047]    Leveraging the figures below, the following paragraphs provide detailed description to the present invention.  FIG. 1  illustrates a block diagram that describes a user  13  interacting with an exemplary mapping system  12  that includes a browser  11  and a web server  10 . In particular, a user  13  accesses the present invention through the web browser  11  as a map-based service supporting full end-to-end in-situ content exploration and management. 
         [0048]      FIG. 2  illustrates a block diagram of the exemplary mapping system of  FIG. 1  where relevant sub-blocks in the map browser  11  and the web server  10  of the mapping system  12  are described. In particular, within the web server  10 , the database  14  illustrates the database management system used by the web server  10  for storing, indexing, and retrieving map markers and location-based content on a map surface. On the browser side, the JavaScript  15  sub-block illustrates the JavaScript execution engine of the map browser  11  where the user interface of the in-situ content exploration and management is implemented. The DOM  16  illustrates the HTML Document Object Model for the web page in the map browser  11 , and in particular, all map markers and the in-situ preview and the full-view content-browsing windows are implemented as DOM elements. For example a content-browsing window can be implemented by an HTML IFRAME element. The map-based user interface  17  describes the HTML user interface presented to the user  13  for visualization and interaction. 
         [0049]    Note that without going through any login procedure, the user  13  interacts with the map browser  11  as a guest user to browse and explore the location-based content stored in the database  14 . In addition, the user  13  can login as a designer through the map browser  11  to create, edit, and publish location-based content stored in the database  14 . Furthermore, the user  13  can login as an administrator through the map browser  11  to administer content-change requests for publication of location-based content created by any designer. 
         [0050]      FIG. 3  illustrates the map-based user interface  17  being expanded in detail as the browser window  18 . Inside the browser window  18 , the top-left shows the current user label  25  displaying the default guest user. To the left of the user label  25  is a login button  24  and when the guest user clicks it a login dialog box  26  will appear. After entering the proper username and password credentials through the dialog box  26 , the guest user can switch his user identity into either a designer or an administrator. 
         [0051]    Still referring to  FIG. 3 , the background of the browser window  18  displays a geographical map  19 , herein referred to as the map  19 , at a zoom level controlled by the zoom control  28 . On the surface of the map  19  are four exemplary map markers  20 ,  21 ,  22 , and  23 . The placements of the map markers  20 ,  21 ,  22 , and  23  are purposeful as their locations relative to the background map indicate where the map markers&#39; respectively associated location-based content is relevant in the physical real world. At the top right of the browser window  18  is a search box  27  where a physical address and content keyword information can be typed in and searched by the user. For example, if “Sydney, Australia” is typed into the search box  27  and the Search button is clicked, the center of the map surface  19  will be shifted towards Sydney of Australia and its zoom level will be adjusted to more properly show the details of the Sydney city. If “restaurant” is typed into the search box  27 , the current map surface  19  will be populated with map markers associated with location-based content relevant to restaurants in Sydney. 
         [0052]      FIG. 4  illustrates the opening and displaying of an in-situ preview content-browsing window via animation after a user clicks on a map marker. In particular,  FIG. 4  illustrates the opening and displaying of the in-situ preview content-browsing window  29  after a user clicks on the map marker  22 . The map marker  22  becomes highlighted with a thick border and the in-situ preview content-browsing window  29  opens via animation and displays the location-based content  30  as a graphical object. In particular, the outline animator  31  generates the animation sequence that starts from a zero-size geometry located at the map marker  22  and ends as the geometry of the in-situ preview content-browsing window  29 . The location-based content  30  also serves as a hyperlink for expanding the in-situ preview content-browsing window into an in-situ full-view content-browsing window. The animation effect generated by the outline animator  31  is referred to as outline-animation because only the salient approximation of the image or graphics of the display objects is animated in order to achieve a display high frame-rate. 
         [0053]    Still referring to  FIG. 4 , the in-situ preview content-browsing window  29  typically serves a preview or overview purpose and as such its geometric size is usually small relative to the size of the browser window  18 . However, even though an in-situ preview content-browsing window only occupies a small screen space, it nonetheless may display outside the browser window  18  and as such it may appear partially clipped. To remedy the clipped in-situ preview content-browsing window problem, the browser window  18  may scroll the entire map  19  and the in-situ preview content-browsing window  29  together until either the in-situ preview content-browsing window  29  is no longer clipped or the in-situ preview content-browsing window  29  is already centered relative to its containing browser window  18 . In the case of  FIG. 4 , the in-situ preview content-browsing window  29  and the map surface  19  are shifted to the bottom left together such that the in-situ preview content-browsing window  29  is approximately centered relative to the browser window  18 . 
         [0054]      FIG. 5  and  FIG. 6  illustrate the transition effect provided by the outline animator  31  during an animated expansion sequence that starts from the geometry of the in-situ preview content-browsing window  29  in  FIG. 4  and ends as the geometry of the in-situ full-view content-browsing window  29  in  FIG. 7 . The outline animator  31  is described as “simulated” because only its appearance needs to approximate that of the in-situ preview content-browsing window  29  as the outline animator  31  is optimized for generating a smooth transition effect for the transformation between display objects. However, if the redisplay of the display objects is fast enough, the outline animator  31  can be discarded in favor of a design that animates the expansion and collapsing of the display objects directly. In particular, if the redisplay of the two versions of the content-browsing window  29  is fast enough, then both the animation sequence in  FIG. 4  and in  FIG. 5  can be achieved by successively scaling the content-browsing window  29  directly. 
         [0055]    Still referring to  FIG. 5  and  FIG. 6 , the transition effect generated by the outline animator  31  is triggered after the user clicks on the embedded location-based content  30  or clicks on the window frame of the in-situ preview content-browsing window  29 . In particular, the outline animator  31  in  FIG. 5  represents the first frame of the animation sequence while the outline animator  31  in  FIG. 6  represents the last frame of the animation sequence. The number of interpolated frames between the first and the last frame in the animation sequence is configurable but as long as more than two interpolated frames are present the animation will substantially aid the perceptual correlation between the in-situ preview content-browsing window  29  in  FIG. 4  and the in-situ full-view content-browsing window  29  in  FIG. 7 . 
         [0056]    It is important to note that while  FIG. 4 ,  FIG. 5 , and  FIG. 6  only illustrate the animation involved in the expansion of the in-situ preview and full-view content-browsing window  29 , the current invention stipulates that all expansion and collapsing of the preview and full-view content windows for browsing or editing be animated. 
         [0057]    Still referring to  FIG. 5  and  FIG. 6 , note that in an exemplary implementation of the present invention, the outline animator  31  may successively adjust its background transparency or apply other transition techniques to generate a smoother transition effect that visually connects the in-situ preview and full-view versions of the content-browsing window  29 . The smoother the transition effect generated by the outline animator  31 , the stronger the visual cue suggesting that the full-view content-browsing window  29  of  FIG. 7  originates all the way from the map marker  22  and thereby reinforcing its in-situ expanding qualities. 
         [0058]      FIG. 7  illustrates the guest user viewing the result of expanding the in-situ preview content-browsing window  29 . The expansion transition effect of the in-situ preview content-browsing window  29  of  FIG. 4  ends with the final geometry of the in-situ full-view window  29  being centered relative to the browser window  18  with adequate side gaps  32 ,  33 ,  34  and  35  between the other edges of the in-situ full-view content-browsing window  29  and the inner edges of the browser window  18 . These side gaps are important as they reinforce the perceptual context being retained via the layering of the in-situ full-view content-browsing window  29  on top of the map surface  19 . 
         [0059]    It is important to note that an alternative in-situ window expansion may apply a  1 -stage transition instead of the 2-stage transition previously described. In particular, with a  1 -stage window expansion design, the preview content-browsing window  29  of  FIG. 4  is skipped entirely and the transition effect starts at the map marker  22  with the content-browsing window  29  being a zero size window and ends with the content-browsing window  29  being the full-view content-browsing window  29  as in  FIG. 7 . 
         [0060]    Still referring to  FIG. 7 , if the geometry of the browser window  18  is resized down, the gaps  32 ,  33 ,  34 , and  35  need to be maintained and as such the geometry of the in-situ full-view content-browsing window  29  also needs to be resized down. In order to maintain the in-situ full-view content-browsing window  29 &#39;s usability when it is resized down it may be necessary to create scrollbars vertically and horizontally to provide a way for the user to browse the full location-based content  30  when it is partially clipped. Alternatively, the in-situ full-view content-browsing window  29  can be configured to scale down the overall size of its location-based content  30  when both its own geometry and the browser window  18 &#39;s geometry are resized down. In addition, the gaps  32 ,  33 ,  34 , and  35  may be scaled down proportionately when the outer browser window  18  is resized down significantly in order to maximize the usable content space of the in-situ full-view content-browsing window  29 . 
         [0061]    Still referring to  FIG. 7 , if the outer browser window  18  is resized up, the gaps  32 ,  33 ,  34 , and  35  still need to be maintained but can also be relaxed if the geometry of in-situ full-view content-browsing window  29  has reached its configured maximum width and height. Moreover, depending on its configuration, the in-situ full-view content-browsing window  29  may scale up the overall size of its location-based content  30  till a preset maximum scale factor is reached when both the in-situ full-view content-browsing window  29 &#39;s and the browser window  18 &#39;s geometry are resized up. 
         [0062]      FIG. 8  illustrates the user  13  having logged into the map window  18  as a designer through the login dialog box  26  so that he can create, modify, and publish location-based content. In particular, the user label  25  shows the current user as a Designer. In addition, a dropdown menu control  36  is provided next to the user label  25  to let the designer switch identities between a designer and a guest user to explore either the designer-specific or the general map markers and their associated location-based content on the map surface  19 . Furthermore, the mode label  37  shows that the browser window  18  currently lets the designer explore the map in the browse mode, and a dropdown menu control  38  is provided next to the mode label  37  to let the designer switch into edit mode or back into browse mode. When the browser window  18  is set in the designer-browse mode as in  FIG. 8 , only the map markers  20  and  22  created by the current designer are displayed on the map surface  19 . To visually indicate the map markers are designer-created, the browser window  18  changed the look of the map marker icon from an inverted triangle into a star shape. 
         [0063]      FIG. 9  illustrates the operations of the dropdown menu control  36  and  38  in more detail, and in particular,  FIG. 9  illustrates the opening of the dropdown menus  39  and  40  corresponding to the dropdown menu controls  36  and  38  respectively. Moreover, the dropdown menu  39  allows the logged-in designer to switch back as a guest user to explore map markers and location-based content published by all users. The dropdown menu  40  allows the logged-in designer to switch between browse and edit modes. Similar to  FIG. 8 ,  FIG. 9  shows the designer setting the browser window  18  in the designer-browse mode, and as such, only the map markers  20  and  22  created by the current designer are displayed on the map surface  19 . 
         [0064]      FIG. 10  illustrates the designer switching the browser window  18  from the browse mode to the edit mode as indicated by the mode label  37 . Moreover, the designer also clicked on the map marker  22  of  FIG. 9  to open an in-situ preview content-editing window  41 . Since the browser window  18  now operates in edit mode instead of browse mode, instead of opening an in-situ preview content-browsing window, the browser window  18  now opens and displays an in-situ preview content-editing window  41  that is fully interactive and functional near the clicked map marker  22 . Since the in-situ preview content-editing window  41 &#39;s geometry is scaled down, it can only provide a subset of the editing features compared to a full-window editor for editing the location-based content  30  associated with the map marker  22 . 
         [0065]    Still referring to  FIG. 10 , the purpose of the in-situ preview content-editing window  41  is two-fold. First, the in-situ preview content-editing window  41  provides the designer with a quick and non-intrusive way to confirm the displayed location-based content is what the designer intends to view and edit without requiring the user to pay the computational delay and visual burden of opening a full-window editor. Second, the in-situ preview content-editing window  41  provides the designer with a light-weight method to access simple and frequently-used editing features of a full-window editor. Examples of simple and frequently used editing features include adjusting the geometry and changing the text of location-based content. Because the in-situ preview content-editing window  41  is fully interactive and functional, a set of editing tools on the tool panel  42  is provided to the designer for making changes to the location-based content  30 . Similarly, a menu bar  43  is provided in the preview content-editing window  41  to enable the designer to make menu-driven changes to the location-based content  30 . In particular, a save button  44  is provided in the menu bar  43  for the designer to save the changed location-based content  30  to the database  14  of the web server  10 . 
         [0066]      FIG. 11  illustrates the designer expanding the in-situ preview content-editing window  41  of  FIG. 10  into the in-situ full-view content-editing window  41  for editing the location-based content  30 . The user interface gesture to trigger the expansion of the in-situ preview content-editing window  41  into the in-situ full-view content-editing window  41  can be the designer clicking on the map marker  22  of  FIG. 10  or the designer clicking on the window frame of the in-situ preview content-editing window  41 , or the designer going through some other interactive gestures on the content of the content-editing window  41 . 
         [0067]    Still referring to  FIG. 11 , when compared to the in-situ preview content-editing window  41  of  FIG. 10 , the in-situ full-view content-editing window  41  is allocated much more window space and being a full editing window it provides a full set of editing tools  42  for editing the location-based content  30 . Also, compared to the scaled down location-based content  30  of  FIG. 10 , the in-situ full-view content-editing window  41  attempts to show the location-based content  30  at a scale factor of 1 unless the containing browser window  18  is resized down. 
         [0068]    Still referring to  FIG. 11 , the gaps  50 ,  51 ,  52 , and  53  need to be maintained between the outer edges of the in-situ full-view content-editing window  41  and the inner edges of the containing browser window  18  similar to the gaps  32 ,  33 ,  34 , and  35  for the full-view content-browsing window  29  of  FIG. 7 . As a result, if the containing browser window  18  is resized down, the geometry of the in-situ full-view content-editing window  41  also needs to be resized down which will force the scaling-down of the location-based content  30  unless the full-view content-editing window  41  is configured to always display the full location-based content  30  without scaling, in which case horizontal and vertical scrollbars will be added to the full-view content-editing window  41  to prevent the location-based content  30  from visually overflowing the full-view content-editing window  41 . 
         [0069]    Still referring to  FIG. 11 , compared to the menu bar  43  of  FIG. 10 , a full set of menu options is provided in the full-view content-editing window  41 . In particular, besides the save button  44 , a publish menu  45  with a full-view menu option  46  and a preview menu option  47  are provided to let the designer publish the location-based content  30  either as a full-view version or a preview version. These two menu options enable the designer to submit the published content as a content-change request for publication to a location-based content administrator. In addition, a keywords menu  48  allows the designer to specify the keywords in the input field  49 . The specified keywords will be tagged with the location-based content  30  when it is saved into the database  14  of the web server  10 , and in particular, the keyword “Hotel” is entered into the input field  49 . The tagged keywords will assist the searching and retrieval of the location-based content  30  from the database  14  when the user  13  specifies closely matched keywords in the search box  27 . 
         [0070]    It is important to note that an alternative in-situ content-editing window expansion may apply a 1-stage transition instead of the 2-stage transition previously described. In particular, with a 1-stage content-editing window expansion design, the preview content-editing window  41  of  FIG. 10  is skipped entirely and the transition effect starts at the map marker  22  with the content-editing window  41  being a zero size window and ends with the content-editing window  41  being the full-view content-editing window  41  as shown in  FIG. 11 . 
         [0071]      FIG. 12  illustrates the designer having changed the location-based content  30  to make it look more like a hotel through the full-view content-editing window  41 . Moreover, the designer has submitted a content-change request for publication through the full-view menu option  46  of the publish menu  45  of  FIG. 11 . As a way to indicate the status of the content-change request, the label of the publish menu  45  has changed to “Publish (FV pending)” to indicate the fact that an outstanding content-change request for the designer is in progress with “FV” indicating it&#39;s a full-view content-change request. In addition, the label for the Keywords menu  48  has been changed to “Keywords: Hotel” to indicate the fact that the keyword “Hotel” has been tagged with the location-based content  30 . 
         [0072]      FIG. 13  to  FIG. 19  illustrate how the use of the map markers placed on the map surface inside the browser window  18  together with the zoom control  28  and map marker clustering effectively transforms the map browser  18  into a map-based file system user interface for managing map markers and their associated location-based content. In particular, if a designer wishes to find all the location-based content he has created, he can simply zoom out far enough to visualize significant portions of the planet Earth using the zoom control  28  such that all the map markers created by him all come into view as shown in  FIG. 13 . Specifically, compared to  FIG. 8  where only the Australian continent and the two map markers  20  and  22  are displayed in the browser window  18 , the browser window  18  shown in  FIG. 13  shows the entire continent of Asia plus the continent of Australia and the three designer-created map markers  20 ,  22 , and  54 . If the map surface  19  in the browser window  18  is zoomed out further such that all the world&#39;s continents are shown then all the map markers created by the designer on the planet Earth will be shown. 
         [0073]    Besides searching for locations, it is important to note that the search box  27  also serves the keyword-search function for location-based content associated with map markers on the map surface. For example, if the designer enters “Asia hotel” into the search box  27  and clicks the Search button, the map surface  19  will be adjusted to show the Asia region only. Moreover, the map markers created by the designer falling within the local Asia region will be filtered such that only those with the associated location-based content relevant to the “hotel” keyword will be shown. The implementation of the map-based keyword search function can be implemented by the JavaScript  15  of the browser  11  or by the database  14  of the web server  10 . 
         [0074]      FIG. 14  illustrates the browser window  18  providing the designer with a way to create a new map marker at a designated location. In particular, when the designer right-clicks on the map surface  19 , the context menu  55  is opened with the “New marker” menu option  56 , and when the designer chooses it, an input field  57  is displayed to enable the designer to enter the designated location for the new marker.  FIG. 14  shows that the designer entered “Hong Kong” in the input field  57  and hit the OK button, and a new map-marker  58  located at Hong Kong is created on the map surface  19 . Note that the map-marker  58  will acquire a default name of “Hong Kong”. The naming of the map-marker  58  can also be achieved directly by specially formatted string entered in the input box  57 . For example, a “Hong Kong (HK1)” string entered in the input box  57  can be interpreted as a command for creating a new marker at the location Hong Kong with a map marker named “HK1”. 
         [0075]      FIG. 15  illustrates the browser window  18  providing the designer with a way to delete and adjust the location of a selected map marker. In particular, when the designer right-clicks on the map marker  58 , the context menu  59  is opened with the “Delete marker” menu option  60  and the “Adjust location” menu option  61 . If the designer chooses the menu option  60 , the selected map marker  58  will be deleted from the map surface  19 . If the designer chooses the menu option  61 , the input field  57  will be displayed to enable the designer to enter the new location for the selected map marker  58 .  FIG. 15  shows that designer entered “Kowloon” in the input field  57  and after the designer clicks the OK button, the map-marker  58  will be adjusted to locate at Kowloon on the map surface  19 . Note that the map-marker  58  will also be renamed to “Kowloon” by default. 
         [0076]      FIG. 16  illustrates the browser window  18  providing the designer with a way to tag keywords directly onto a selected map marker. In particular, when the designer right-clicks on the map marker  58 , the context menu  59  is opened with the “Keywords” menu option  62  and if the designer chooses it, the input field  57  will be displayed to enable the designer to enter keywords that will be tagged with the selected map marker  58 . The tagged keywords will be saved into the database  14  of the web server  10  and will be used to assist the search for map markers should closely-matched keywords be entered into the search box  27 . 
         [0077]      FIG. 16  shows that the designer entered “accommodation” in the input field  57  and after the designer clicks the OK button, the keyword “accommodation” can be entered into search box  27  and all map markers except the map-marker  58  will be filtered from the map surface  19 . It is important to note that the map marker keywords entered through the menu option  62  and the location-based content keywords entered through the input box  49  of  FIG. 11  are saved and treated separately by the database  14 , but when a keyword is entered into the search box  27 , the database  14  will compute and utilize the keywords of the associated location-based content in addition to those directly tagged to the map markers to produce the resulting map markers to be shown on the map surface  19 . 
         [0078]    At any zoom level as controlled by the zoom control  28 , map markers may overlap each other and makes the ones completely obscured at the bottom inaccessible.  FIG. 17  illustrates the user-interface features provided by the browser window  18  to expose obscured map markers. In particular, when two or more map markers are very closely located on the map surface  19 , they are clustered together by the browser window  18  as one map marker called a map marker cluster. The map marker cluster  63  is such an example and note that the map marker cluster  63  has a label “2” to indicate that it clusters two map markers. When the designer clicks on the map marker cluster  63 , instead of directly opening the preview content-editing window  41 , the browser window  18  highlights the map marker cluster  63  and provides a context menu  64  with the “Open . . . ” menu options where each menu option corresponds to a respectively clustered map marker. In particular, the “Open Beijing1” menu option  65  and the “Open Beijing2” menu option  66  are provided, indicating that there are two clustered map markers at the location of the map marker cluster  63 , with one associated with the clustered map marker named “Beijing1” and the other associated with clustered map marker named “Beijing2”. For  FIG. 17 , the designer selects the “Open Beijing1” menu option  65 . 
         [0079]    Furthermore, when the in-situ preview and full-view content-editing window opens for a map marker cluster, a paging-mechanism is provided in the content-editing windows to enable the designer to select the location-based content related to a target clustered map marker to edit. As an example,  FIG. 18  shows that when the in-situ preview content-editing window  41  opens for the map marker cluster  63 , the in-situ preview content-editing window  41  loads the “Beijing1” location-based content  68  and a paging control  67  is provided in the in-situ preview content-editing window  41  to enable the designer to select and open either the location-based content associated with the clustered map marker “Beijing1” or the clustered map marker named “Beijing2”. Note that the paging control  67  is also provided in the full-view location-based content editing window  41  should the preview content-editing window  41  of  FIG. 18  be expanded. 
         [0080]    More generally, when the in-situ preview and full-view content-browsing windows open for a map marker cluster for a designer or a guest user, a paging-mechanism is provided in the content-browsing windows to enable the designer or guest user to select the location-based content related to a target clustered map marker to browse. As an example,  FIG. 19  shows that the designer switching the browser window  18  into the browse mode as indicated by the mode label  37 , and when the in-situ preview content-browsing window  29  opens and displays the location-based content  68  for the first clustered map marker named Beijing1, the paging control  67  is also provided in the in-situ preview content-browsing window  29  to enable the designer to page through the rest of the location-based content associated with the clustered map markers of the map marker cluster  63 . Similarly, if a full-view content-browsing window  29  is expanded for a map marker cluster  63 , the paging control  67  is also provided for content-paging purposes. 
         [0081]      FIG. 20  illustrates the user  13  having logged into the map window  18  as a location-based content administrator such that he can monitor published location-based content and administer location-based content-change requests for publication from all users. In particular, the user label  25  shows the current user as an “Admin” which is short for administrator. In addition, the dropdown menu control  36  next to the user label  25  is provided to let the administrator switch to any designer so that the administrator can investigate issues related to the designer&#39;s published location-based content. Furthermore, the mode label  37  shows that the browser window  18  currently operates in the monitor mode. The dropdown menu control  38  next to the mode label  37  is provided to let the administrator switch between administer and monitor mode. 
         [0082]    Still referring to  FIG. 20 , the browser window  18  operates in the admin-monitor mode and as such, the map markers  20 ,  21 ,  22 , and  23  from all designers are displayed on the map surface  19 . In addition, an approval control  69  with an “A” and an “R” button are created and it is used by the administrator for approving or rejecting content-change requests for publication respectively. 
         [0083]    Still referring to  FIG. 20 , the browser window  18  operates in the admin-monitor mode, and the administrator is free to browse any location-based content already published by any designer just like a guest user would but the administrator can also actively “un-publish” any location-based content should any impropriety associated with the location-based content be observed. Since no content-change requests for publication are processed by the browser window  18  in the admin-monitor mode, the “A” button for approving is disabled and only the “R” button for rejecting, or in this case un-publishing, the published location-based content in the approval control  69  is enabled. 
         [0084]      FIG. 21  illustrates the dropdown controls of  36  and  38  for the administrator. In particular, if the administrator clicks on the dropdown control  36 , the dropdown menu  70  will be opened to enable the administrator to switch his identity to any designer. The specification of a target designer is achieved through an input box  72  when the administrator mouses over the menu option  71 . In addition, the administrator can use the dropdown menu  70  to switch his identity to a guest to browse the map markers and location-based content published by all users without the approval control  69 . Furthermore, the administrator can also use the dropdown menu  70  to switch his identity back to the original administrator for monitor and administer purposes. 
         [0085]    Still referring to  FIG. 21 , if the administrator clicks on the dropdown control  38 , the dropdown menu  73  will be opened to enable the administrator to switch between the monitor and the administer mode. 
         [0086]      FIG. 22  illustrates the administrator switching the browser window  18  from the monitor mode to the administer mode by selecting the menu option  74  of the dropdown menu  73 . While operating in the administer mode as indicated by the mode label  37 , the browser window  18  becomes a monitor-and-control dashboard for incoming location-based content-change requests submitted by any designers. In  FIG. 22 , the map marker  22  blinks by alternating its display icon between a solid inverted triangle and a hollow inverted triangle to alert the administrator that a pending content-change request is detected on its associated location-based content. When the administrator clicks on the map marker  22 , the browser window  18  opens the in-situ preview content-browsing window  29  with a similar geometry compared to the in-situ preview content-browsing window  29  of  FIG. 4 . After the in-situ preview content-browsing window  29  opens the map marker  22  turns into an inverted triangle with a solid background without blinking to indicate that the location-based content  30  with the content-change request is being inspected for publication approval from the administrator. As such both the “A” button for approving and the “R” button for rejecting in the approval control  69  are enabled and the administrator can decide whether the modified location-based content  30  shown inside the in-situ preview content-browsing window  29  is proper for publication. If the administrator approves the changed content  30 , he will click the “A” button of the approval control  69 . If the administrator disapproves the changed content  30 , he will click the “R” button of the approval control  69 . 
         [0087]      FIG. 23  illustrates the administrator having expanded the in-situ preview content-browsing window  29  of  FIG. 22  into the in-situ full-view content-browsing window  29  for displaying the full version of the modified location-based content  30  of the map marker  22 . The gesture for expanding the in-situ preview content-browsing window  29  may involve clicking on the location-based content  30  of  FIG. 22  or by clicking on the map marker  22 . Also, similar to the gaps  32 ,  33 ,  34 , and  35  of the full-view content-browsing window  29  of  FIG. 7 , the gaps  32 ,  33 ,  34 , and  35  need to be maintained between the outer edges of the full-view content-browsing window  29  and the inner edges of the containing browser window  18  to reinforce the in-situ layering of the full-view content-browsing window  29  being on top of the map surface  19  visually. 
         [0088]      FIG. 24  illustrates a map marker cluster generating a content-change alert if any one of its clustered map markers contains one. In particular,  FIG. 24  shows that the map marker cluster  63  blinks as a result of its contained clustered map marker named Beijing1 is associated with a content-change request. When the administrator clicks on the map marker cluster  63 , the browser window  18  opens the in-situ preview content-browsing window  29  that is preloaded with the location-based content associated with the clustered map marker named Beijing1. After the in-situ preview window  29  opens the map marker cluster  63  is drawn with a solid background without blinking to indicate that the clustered location-based content  68  with the content-change request is being inspected for publication approval from the administrator. As such both the “A” button for approving and the “R” button for rejecting in the approval control  69  are enabled and the administrator can decide whether the modified location-based content  68  shown inside the in-situ preview content-browsing window  29  is proper for publication. Note that if the administrator adjusts the loaded location-based content via the paging control  67  in the in-situ preview content-browsing window  29  to anything other than the clustered location-based content  68 , the loaded content will not be associated with a content-change request and the “A” button of the approval control  69  will be disabled. 
         [0089]      FIG. 25  illustrates the flowchart of the key steps involved in the map-based user interface for providing the end-to-end in-situ location-based content exploration. The term content window is used to refer to both content-browsing and content-editing windows. In particular, the step  100  describes the first step where the map-based user interface sets the initial zoom level, the map center and the map bounds in longitude and latitude in order to create and display the proper map surface for the map-based user interface. The map surface is then populated with map-markers bounded by the map bounds. 
         [0090]    The step  101  describes the next step where the map-based user interface runs an event-handling loop to display and manage in-situ content windows. 
         [0091]    The step  102  describes a conditional step that checks whether a map marker has been clicked, and if the answer is yes, execution continues at the step  103  where the map-based user interface responds by first closing any previously opened in-situ preview or full-view content windows if they exist. Then the map-based user interface opens an in-situ preview content window showing the preview version of the location-based content of the clicked map marker at a location near the clicked map marker via animation. Finally the map-based user interface shifts the map surface and the in-situ preview content window together minimally such that the in-situ preview content window becomes maximally visible. At the end of the step  103 , execution flows back to the event loop described by step  101 . If the result of the conditional step  102  is no, execution continues at the conditional step  104 . 
         [0092]    It is important to note that while the preferred implementation of the map-based user interface encourages that at most one in-situ preview content window or one full-view content window is opened at a time, it does not preclude other multi-opened in-situ content window designs. Note that all expansion and collapsing operations between a map marker and an in-situ preview content window, and between an in-situ preview content window and an in-situ full-view content window, are animated to reinforce the correlations between them visually. 
         [0093]    The conditional step  104  describes the next conditional step that checks whether the in-situ preview content, or its window frame, or the map marker associated with the in-situ preview content window has been clicked, and if the answer is yes, execution continues at the step  105  where the in-situ preview content window expands into an in-situ full-view content window centered relative to the map-based user interface window overlaying the map surface with gaps between the outer edges of the full-view content window and the inner edges of the map-based user interface window via animation. At the end of the step  105 , execution flows back to the event loop described by step  101 . If the result of the conditional step  104  is no, execution continues at the step  106 . 
         [0094]    The conditional step  106  describes the next conditional step that checks whether the map surface is clicked, and if the answer is yes, execution continues at the next conditional step  107  that checks whether any in-situ preview content window exists, and if the answer is yes again, execution continues at the step  108  which collapses and hides the opened in-situ preview content window completely via animation. At the end of the step  108 , execution flows back to the event loop described by step  101 . 
         [0095]    If the result of the conditional step  107  is no, execution continues at the conditional step  109  that checks whether any in-situ full-view content window exists, and if the answer is yes, execution continues at the step  110  which collapses the opened in-situ full-view content window into an in-situ preview content window via animation. At the end of the step  110 , execution flows back to the event loop described by step  101 . 
         [0096]    If the result of the conditional step  106  or  109  is no, execution flows back to the event loop described by step  101 . 
         [0097]      FIG. 26  illustrates the state diagram of the browser window  18  associated with the present invention from the system&#39;s point of view.  FIG. 26  also illustrates capability differences associated with the browser window  18  as the user  13  operates it as a guest user, a designer, and an administrator to explore and manage the location-based content. In particular, when the user  13  accesses the browser window  18  associated with the present invention, his default identity is a guest user as described by the browser window  18  operating in the default guest state  200 . While operating in the guest state  200  the browser window  18  provides the user  13  with in-situ general browsing capability through the capability-provisioning path  201 . The in-situ general browsing capability refers to the browser window  18  providing browsing capability for location-based content associated with map markers published by all users through the in-situ preview and the in-situ full-view content-browsing windows. 
         [0098]    Still referring to  FIG. 26 , if the user  13  logins as a designer as described by the login path  202 , the browser window  18  changes state to the designer state  203 . The browser window  18  provides the user  13  acting as a designer with the in-situ targeted browsing and the in-situ editing-and-publishing capabilities through the capability-provisioning path  204 . The in-situ targeted browsing capability refers to the browser window  18  providing browsing capability for location-based content published by the logged-in designer only using the in-situ preview and in-sit full-view content-browsing windows. The in-situ editing-and-publishing capability refers to the browser window  18  providing content-editing-and-publishing capabilities for location-based content created by the logged-in designer using the in-situ preview and full-view content-editing windows. In particular, the content-publishing capability refers to the browser window  18  letting the designer submit a saved location-based content as a content-change request for publication to a location-based content administrator. 
         [0099]    The login path  202  is bi-directional because it also describes the browser window  18  enabling the user  13  acting as a designer to switch his role back into a guest through a logout step, and the browser window  18  changing state back into the guest state  200  as a result. The state-change path  205  refers to the browser window  18  enabling the user  13  acting as a designer to switch his role back and forth between a designer and a guest without the logout/login step, and the browser window  18  switching state between the designer state  203  and the guest state  200  as a result. Note that the state-change path  205  is drawn dotted to indicate the fact that only when the user  13 &#39;s real identity is a designer or an administrator can he take advantage of this state-change path. 
         [0100]    Still referring to  FIG. 26 , if the user  13  logins as a location-based content administrator as described by the login path  206 , the browser window  18  changes state to the admin state  207  and the browser window  18  provides the user  13  with the in-situ monitoring and the in-situ administering capabilities through the capability-provisioning path  208 . The in-situ monitoring capability refers to the browser window  18  providing the user  13  acting as an administrator with reject capability during general browsing of location-based content published by any user using the in-situ preview and the full-view content-browsing windows. The in-situ administering capability refers to the browser window  18  providing the user  13  acting as an administrator with content-change alerts, approve-reject capabilities for content-change requests submitted by any user, and content-inspection capability using the in-situ preview and full-view content-browsing windows as inspection windows. 
         [0101]    The login path  206  is bi-directional because it also describes the user  13  acting as an administrator switching his role back into a guest through a logout step and the browser window  18  changing state back into the guest state  200 . The state-change path  209  refers to the browser window  18  enabling the user  13  acting as an administrator to switch his role back and forth between an administrator and a guest without the logout/login step, and the browser window  18  switching state between the admin state  207  and the guest state  200  as a result. Note that the state-change path  209  is drawn dotted to indicate the fact that only when the user  13 &#39;s real identity is an administrator can he take advantage of this state-change path. While operating in the guest state  200 , the browser window  18  lets the administrator acting as a guest browse location-based content from all users while suppressing the in-situ monitoring and the in-situ administering capabilities. 
         [0102]    Because an administrator has the highest capability privileges, an administrator can also choose to operate the browser window  18  as any designer for administrative purposes, and this capability is provided by the browser window  18  as described by the state-change path  210 . In particular, the state-change path  210  refers to the browser window  18  enabling the user  13  acting as an administrator to switch his role back and forth between an administrator and a selected designer without the logout/login step, and the browser window  18  switching state between the admin state  207  and the designer state  203  as a result. Note that the state-change path  210  is drawn dotted to indicate the fact that only when the user  13 &#39;s real identity is an administrator can he take advantage of this state-change path. 
         [0103]    All provisioned capabilities by the browser window  18  are described as in-situ because the user  13  is enabled to apply these provisioned capabilities without leaving the map-based context. 
         [0104]    The present invention defines methods for map-based user interfaces to provide end-to-end in-situ exploration and management of location-based content. In a traditional map-based user interface, only the preview location-based content is shown inside an in-situ preview content-browsing window when a user clicks on a map marker. To view the full detail of the location-based content associated with the clicked map marker, the user is navigated away from the map to a full version of the location-based content shown in a new window. This navigation makes the user&#39;s viewing experience disruptive and frustrating because it forces the user to leave the original map-based context. In contrast, the present invention defines methods to enable the user&#39;s content-exploration experience to stay within the map-based context even when the full-view location-based content is viewed. Furthermore, the present invention defines methods to enable the user&#39;s content-editing and content-administration experiences to stay within the map-based context. 
         [0105]    In conclusion, the present invention defines end-to-end in-situ methods that dramatically improve the user-experience continuity and computational efficiency during location-based content exploration, editing, and administration. 
         [0106]    While the foregoing written description of the invention enables one of ordinary skill to make and use what is considered presently to be the best mode thereof, those of ordinary skill will understand and appreciate the existence of variations, combinations, and equivalents of the specific embodiment, method, and examples herein. The invention should therefore not be limited by the above described embodiment, method, and examples, but by all embodiments and methods within the scope and spirit of the invention as claimed.