To aid in locating relevant information among the ever increasing amount of information available to computing devices via network communications, search engines were developed whereby a user could enter a search query and receive, in response, identifications of collections of data comprising information relevant to that search query. But while search engines were originally developed to aid in the identification of collections of data that comprised information for which a user was searching, they have evolved to now be capable of providing, to users, information regarding, not only collections of data, but also physical entities. For example, modern search engines can provide the addresses and phone numbers of retail establishments and service providers that can be relevant to a user's search query. Similarly, modern search engines can provide other information regarding physical entities that may be relevant to a user's search query such as, for example, mass transit timetables, automotive traffic information, real-time image feeds, and other like information.
When providing location information, such as the addresses and telephone numbers of retail establishments and service providers that are found to be relevant to a user's search query, modern search engines typically provide such information both in textual form and also as locations on a graphical map. Most computing devices can have, depending upon their hardware and software configurations, a theoretically limitless display area within which to display such information to a user. Consequently, on such computing devices, search engines can provide a textual listing of retail establishments, service providers and other entity locations, and can also provide a graphical map comprising the locations of those retail establishments, service providers and other entities, in a sufficiently large format to enable the user to, at a glance, obtain most of the information for which they seek.
Unfortunately, mobile computing devices typically comprise inherent limitations in so far as display area is concerned. In particular, in order to maintain a mobile form factor, which can be transported by a user without an undue burden, most modern mobile computing devices typically comprise displays that are only a few inches in height and width. Thus, even if such displays were to be of very high resolution, their physical size limitations, coupled with the limitations inherent in human eyesight and the human's ability to perceive small details, limit the amount of graphical information that can be displayed on such displays and meaningfully conveyed to a human user. Therefore, when executing on a mobile computing device, the interface presented by modern search engines typically comprises either a textual listing of locations that were found to be relevant to a user search query, with a small, non-interactive, map, or it comprises a dedicated map display in which individual locations, and their respective information, are displayed, not as a list that can be browsed by a user, but rather as individual collections of textual data each floating over the displayed map proximate to the location, on the displayed map, of their individual, respective entities.
In one embodiment, the presentation of physical entity information, including the name, address and contact information of such a physical entity, can comprise both a textual listing of relevant physical entities and a map display illustrating the locations of the listed physical entities, where dominance can be provided to either the textual listing or the map display such that one of them comprises a greater proportion of the screen area, and where both can be simultaneously interactive.
In another embodiment, interactivity with whichever one of the textual listing or the map display comprises the greater proportion of the screen area can proceed in a traditional manner while interactivity with the other one that comprises the lesser proportion of screen area can cause a dynamic transition such that that other one, in responding to the user's input, increases its proportion of screen area.
In a further embodiment, selections of a specific one of the physical entities, from among the textual listing thereof, can result in the map display being redrawn to show, as selected, a location indicator on the map display corresponding to the location of the physical entity that was selected in the textual listing. Similarly, selections of a specific location indicator on the map display can result in the textual listing being regenerated to show, as selected, the textual listing corresponding to the physical entity whose location was selected in the map display. Such interactivity between the map display in the textual listing is independent of whichever one of them has the greater proportion of screen area assigned to it and the proportion of screen area can either remain as it was previously, except with the map display and textual listing being refreshed to accommodate the user selection, or the proportion of screen area can change depending upon which one of the textual listing or the map display received the user's selection input.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Additional features and advantages will be made apparent from the following detailed description that proceeds with reference to the accompanying drawings.
The following detailed description may be best understood when taken in conjunction with the accompanying drawings, of which:
The following description relates to a simultaneously interactive map display and textual listing, both of which are simultaneously displayed on a display device whose physical size introduces practical limitations on the quantity of information that can be simultaneously presented. The display area of the display device can be divided between the map display and the textual listing with one of them receiving a greater proportion of the display area than the other. User input directed to the one receiving the greater proportion of the display area can be responded to in a traditional manner, while user input directed to the one receiving the lesser proportion of the display area can cause a transition whereby the display area is re-proportioned and, with such re-proportioning, the user input can be responded to in a traditional manner. Additionally, user selections in the textual listing can be simultaneously reflected in the map display, and vice versa, irrespective of which has the greater proportion of the display area. Optionally, a re-proportioning transition can be triggered by such user selections.
The techniques described herein focus on the presentation of a map display and a textual listing, where both are simultaneously interactive, within the context of mobile computing devices or other computing devices with similar physical constraints that limit the size of any display devices associated with such computing devices. However, such descriptions are not meant to suggest a limitation of the described techniques to only the display of map and textual data within the context of mobile computing devices. To the contrary, the described techniques are equally applicable to any computing device, including, for example, computing devices directed to users with visual or other disabilities or impairments. Additionally, the techniques described herein focus on the presentation of a map display and a textual listing in a vertical orientation, where one is displayed “on top of” the other. However, such descriptions are not meant to suggest a limitation of the described techniques to only vertically oriented display arrangements of map and textual data. To the contrary, the described techniques are equally applicable to display arrangements, including, for example, a side-by-side display arrangement, a diagonally divided display arrangement and window-in-window display arrangements.
Although not required, the description below will be in the general context of computer-executable instructions, such as program modules, being executed by a computing device. More specifically, the description will reference acts and symbolic representations of operations that are performed by one or more computing devices or peripherals, unless indicated otherwise. As such, it will be understood that such acts and operations, which are at times referred to as being computer-executed, include the manipulation by a processing unit of electrical signals representing data in a structured form. This manipulation transforms the data or maintains it at locations in memory, which reconfigures or otherwise alters the operation of the computing device or peripherals in a manner well understood by those skilled in the art. The data structures where data is maintained are physical locations that have particular properties defined by the format of the data.
Generally, program modules include routines, programs, objects, components, data structures, and the like that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the computing devices need not be limited to conventional personal computers, and include other computing configurations, including hand-held devices, multi-processor systems, microprocessor based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. Similarly, the computing devices need not be limited to stand-alone computing devices, as the mechanisms may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
With reference to
In one embodiment, a user of the mobile computing device 110 can, such as, for example, by using the browser 111, provide a search query, via the network 190, to the website 121 executing on the server computing device 120. Such a search query can, based on the search database 123, be found to be relevant to, or associated with, one or more physical entities such as, for example, retail establishments, such as grocery stores, department stores, electronics stores, and the like, service providers, such as plumbers, doctors, roofers, and the like, or other physical entities, including individual people. Typically, such physical entities are identified by a mailing address at which they can be physically located. Consequently, in providing information that is responsive to the user's query, response of physical entities can be identified not only by a textual representation of their mailing address and other like data, such as, for example, a phone number, but they can also be identified by indicating, on a graphical map display, the location corresponding to the mailing address or other like location of the responsive physical entity.
The exemplary display 140 illustrates one exemplary mechanism by which information regarding physical entities can be provided to a user. A user, such as of the mobile computing device 110, can be presented information regarding physical entities by causing the display device of the mobile computing device 110 to render the display 140, such as by aligning appropriate pixels in a Liquid Crystal Display, stimulating appropriate quanta of an Organic Light Emitting Display (OLED), or other like actions to cause the display device to generate a physical image corresponding to the display 140. In the specific embodiment illustrated by the system 100 of
As illustrated by the system 100 of
In one embodiment, both the map display 141 and the textual listing 142 can be simultaneously interactive in that they can both respond to user input directed to them. However, due to the typically limited size of the display device of the mobile computing device 110, the proportion of the display 140 that is directed to either the map display 141 or the textual listing 142 can change. For example, the map display 141 can, initially, be assigned a greater proportion of the display 140. Subsequently, were a user to direct input to the textual listing 142, the textual listing could respond to that user input and, simultaneously, the proportion of the display 140 assigned to the textual listing 142 could increase and the proportion of the display 140 assigned to the map display 141 could decrease. Such a change in the proportion of the display 140 is illustrated by the arrow 171 indicating that the divider 143 between the map display 141 and the textual listing 142 can, graphically, move, thereby allocating a greater proportion of the display 140 to the textual listing 142, and a lesser proportion of the display 140 to the map display 141. As another example, the textual listing 142 can, initially, be assigned the greater proportion of the display 140, and were a user to direct input to the map display 141, the proportion of the display 140 assigned to the map display 141 can increase while, simultaneously, the map display 141 can respond to the user's input. Such a change in the proportion of the display 140 is illustrated by the arrow 172 indicating that divider 143 between the map display 141 and the textual listing 142 can, graphically, move, thereby allocating a greater proportion of the display 140 to the map display 141, and a lesser proportion of the display 140 to the textual listing 142.
The simultaneous interactivity provided by both the map display 141 and the textual listing 142, as well as the dynamic reallocation of the proportions of each of the map display 141 and the textual listing 142, within the display 140, can be controlled by computer-executable instructions that can be executed by the browser 111 that is executing on the mobile computing device 110. In one embodiment, such computer-executable instructions can be provided to the browser 111 from the website 121, such as in the form of a code package 130. In such an embodiment, the code package 130 can comprise computer-executable instructions that can be executed by the browser 111, such as, for example, browser-executable scripts or browser-parseable instructions. In an alternative embodiment, the code package 130 can be provided to an operating system of the mobile computing device 110 and can execute on the mobile computing device 110 directly, and not as part of the browser 111.
The code package 130 can comprise, in one embodiment, a set of computer-executable instructions that can provide the map display 141 and respond to user input directed to the map display 141, thereby making the map display 141 interactive, instead of computer-executable instructions that can provide the textual listing 142 and respond to user input directed to the textual listing 142, thereby making the textual listing 142 interactive, and a set of computer-executable instructions that can detect user input directed to one of the map display 141 and the textual listing 142, whichever is assigned the lesser proportion of the display 140 and can, in response, cause the divider 143 to move, thereby providing a greater proportion of the display 140 to whichever one of the map display 141 or the textual listing 142 the user input was directed to. For example, if the map display 141 was assigned the greater proportion of the display 140, and user input directed to the map display 141 can be received by the set of computer-executable instructions that generated the map display 141 and that set of computer-executable instructions can respond appropriately, such as, for example, by zooming the map in or out or translating the map along the direction of the user's input. Similarly, if the textual listing 142 was assigned the greater proportion of the display 140, and user input was directed to that textual listing 142, then such user input can be received by the set of computer-executable instructions that generated the textual listing 142 and that set of computer-executable instructions can respond appropriately, such as, for example, by scrolling the textual listing up or down. However, in one embodiment, if the map display 141 was assigned the greater proportion of the display 140, and user input was directed to the textual listing 142, the set of computer-executable instructions directed to the proportioning of the display 140 can, initially, receive such computer-executable instructions and, in response, can cause a greater proportion of the display 140 to be assigned the textual listing 142. That set of computer-executable instructions can, in addition, pass that user input onto the set of computer-executable instructions responsible for the textual listing 142 informing the computer-executable instructions responsible for the textual listing 142 of both the users input and of the increase in display area now being accorded to the textual listing 142. An analogous operation could be performed if the textual listing 142 was assigned the greater proportion of the display 140 and the user input was directed to the map display 141.
Turning to
However, if, instead of directing input to the textual listing 212, the user instead directed input to the map display 211, as illustrated by the user input 263, such input could cause a transition between the display 210 and the display 230, as illustrated by the arrow 264. In one embodiment, such a transition can occur with the divider 215 moving down to become the divider 235, as illustrated by the arrow 291. Subsequently, as the display transitions from the display 210 to the display 230 the map display 231 in the display 230 can respond to the user input 263, as indicated by the action 281. Thus, for example, if the user input 263 was to scroll the map up or down, then, in addition to transitioning to the display 230, whereby the map display 231 consumes a greater proportion of the display 230 than the map display 211 data of the display 210, the map display 231 can also respond to the user input 263, as illustrated by the actions of 281, such as by moving the map displayed in the map display 231 analogously up or down.
In a similar manner, if the map and list display was in the form of the display 230, where the map display 231 comprises a greater proportion of the display 230 then the textual listing 232, and user input was directed to the map display 231, such as is illustrated by the user input 280, then the map display 231 can respond to such user input 280, such as is illustrated by the actions 281. Thus, for example, if the user input 280 was a pinching input, then the map display 231 can respond by zooming the map out, which can be represented by the actions 281. Conversely, if user input, such as the user input 283, were directed to the textual listing 232, than the display can transition from the display 230 to the display 210, as illustrated by the arrow 284. Such a transition can occur by sliding the divider 235 up to the divider 215, as illustrated by the arrow 293. The user input 283, directed to the textual listing 232, can be responded to by the actions 261 in the textual listing 212, which now comprises a greater proportion of the display 210. Thus, for example, if the user input 283 were a scrolling user input, then the responsive actions 261 can, likewise, scroll the textual listing 212.
As can be seen, by transitioning between a display where the map display comprises a greater proportion, such as the display 230, and a display where the textual listing comprises a greater proportion, such as the display 210, when user input is directed to which ever one of the map display or the textual listing comprises the smaller proportion, simultaneous interactivity with both the map display and the textual listing can be offered even on mobile computing devices whose display devices are too small to display both the map display and the textual listing simultaneously in a sufficient size.
In one embodiment, another example of the interactivity offered simultaneously by both the map display and the textual listing can be the coordination between individual ones of the results listed in the textual listing and the corresponding locations indicated in the map display. For example, in the display 210 the textual listing 212 can comprise three entities, namely the entities 226, 227 and 228, that can, for example, be responsive to a user's search or that can otherwise be relevant to the user of the computing device generating the display 210. The entities 226, 227 and 228, which are displayed in the textual listing 212, can correspond to the locations 221, 222 and 223 that are illustrated in the map display 211. In particular, in the illustrated example shown in
Were a user to select a different one of the entities 226, 227 and 228, such as, for example, the entity 228, as illustrated by the user selection input 265, the textual listing 212 can be responsive to such a user selection input 265 and can indicate the entity 228 as being selected. Likewise, simultaneously, the map display 211 can, also, be responsive to such a user selection input 265 and can indicate location 223 as being selected. Thus, as illustrated by the arrow 266, in response to the user selection input 265, of the entity 228 in the textual listing 212, the display 210 can transition to a display 250 where, in the textual listing 252, the entity 228 that was selected by the user selection input 265 in the display 210, now the entity 256, is shown as being selected. Similarly, in the map display 251 of the display 250, the location 254 corresponding to the entity 256 is also shown as being selected. In such a manner, both the textual listing and the map display can be interactive with user selection inputs, such as the user selection input 265. In one embodiment, the textual listing 252 can automatically scroll the listed entities such that the selected entity, namely the entity 256, is at the top and additional entities 257 and 258 that were not shown in the display 210 are now shown. Similarly, in one embodiment, the map display 251 could, likewise, reorient itself such that the selected location 254 was now in the center of the map display 251 although, for illustrative simplicity, such is not shown by the system 200 of
In one embodiment, a user input 267 that can be directed to the map display 211 of the display 210 can, likewise, result in the transition from the display 210 to the display 250, as illustrated by the arrow 268. For example, as shown in the system 200 of
In the embodiment described above, a user selection directed to the map display 211 can result in a display 250 in which the map display 251 still maintains a smaller proportion of the display 250. In an alternative embodiment, user selection directed to the map display 211 can result in the display analogous to display 230, in which the map display 231 increases to comprise a greater proportion of the display 230.
User selections in either the textual listing 232 or the map display 231 can operate in a similar manner within the context of the display 230 as they did within the context of the display 210, which was described in detail above. In particular, the display 230, while having a map display 231 that comprises a larger proportion of the display 230 then the map display 211 did of the display 210, can also have locations indicated in the map display that are equivalent to the locations 221, 222 and 223 described above. In particular, the locations 241242 and 243 in the map display 231 can correspond to the locations 221, 222 and 223 in the map display 211. Similarly, the textual listing 232, in the display 230, can comprise entities that are equivalent to the entities of the textual listing 212, in the display 210. In particular, the entities 246 and 247 in the textual listing 232 can correspond to the entities 226 and 227 in the textual listing 212.
Thus, within the context of the display 230, if a user were to select the location 243, as indicated by the user selection input 287, then the display 230 can transition to the display 270, as illustrated by the arrow 288. In the display 270, the map display 271 can still comprise a greater proportion, and the textual listing 272 can comprise a lesser portion. However, in the display 270 the location 273, corresponding to the location 241 in the display 230, can be indicated as “not selected” and the location 274, corresponding to the location 243 in the display 230 can be indicated as “selected” in response to the user selection input 287. As indicated previously, in one embodiment, the map display 271 can center itself on the selected location 274, although such is not shown in
If a user were to direct selection input 285 to the entity 247 shown in the textual listing 232, then, in one embodiment, the display 230 can transition to the display 270, as illustrated by the arrow 286, even though the user selection input 285 was directed to a portion of the display 230, namely the textual listing 232, that does not comprise a greater proportion of the display 230. Selection of the entity 247 can, like selection of the location 243, result in display 270 where the selected entity, namely the entity 276 in the textual listing 272 of the display 270, be shown is being selected and, correspondingly, its location 274 can also be shown as being selected in the map display 271. Again, as indicated previously, in another, alternative, embodiment, the user selection input 285 could, instead, transition to a display such as the display 250 where, because the user selection input 285 was directed to the textual listing 232, the textual listing can be assigned a greater proportion of the display area such as, for example, the textual listing 252 in the display 250.
Comparing the displays 210 and 230 of the system 200 of
Turning to
As indicated previously, steps 310 through 325 and 355 are illustrated to provide context for the additional steps, such as, for example, to illustrate one mechanism by which the combined and simultaneously interactive map and list view can be initiated. For purposes of the descriptions herein, however, such steps were merely exemplary and other initiating steps would be equally applicable. So long as some indication is received as to whether the map display or the textual listing is to receive the greater proportion of the display area, then processing can proceed with either step 330, if the textual listing is to receive the greater proportion of the display area initially, or step 360, if the map display is to receive the greater proportion of the display area initially.
At step 330, a simultaneously interactive map display and textual listing can be generated on the display, with the area of the display dedicated to the textual listing being greater than the area of the display dedicated to the map display. Subsequently, at step 335, user input directed to the textual listing can be responded to in the traditional manner. For example, user input scrolling the textual listing up or down can result in the textual listing being appropriately scroll up or down. At step 340, should the user select a new location, both the map display and the textual listing can be appropriately updated, such as in the manner described in detail above. Although step 340 indicates that such an updating of the map display and the textual listing can occur irrespective of whether the user's selection of a new entity was directed to the textual listing or the map display, in another embodiment, as described in detail above, if, at step 340, the user's selection of another entity was directed to the textual listing, then the map display and the textual listing can be appropriately updated, but if the user's selection of another entity was directed to the map display then, in such another embodiment, processing could transition to steps 365 through 380 where the map display comprises a greater proportion of the display area while also updating the map display in textual listing in accordance with the user's selection.
At step 345, a determination can be made as to whether the user directed input to the map display. If the user has not directed any user input to the map display, then processing can return to the performance of steps 335 and 340, as already described. Conversely, if, at step 345, user input to the map display is detected then, at step 350, processing can proceed to transition to a simultaneously interactive map and list view where the map display, instead of the textual listing, comprises a greater proportion of the display area. Subsequently, processing can continue with step 365 which will be described in detail below.
If, it was determined that the map display should, initially, comprise a greater proportion of the display area, then processing, instead of commencing at step 330, can instead commence at step 360 where simultaneously interactive map and list could be generated with the map display comprising a greater proportion of the display area. Subsequently, at step 365, user input directed to the map display can be responded to in the traditional manner. For example, user input zooming the map in or out can result in the map display being appropriately zoomed in or out. At step 370, should the user select a new location, both the map display and the textual listing can be appropriately updated, such as in the manner described in detail above. Although step 370 indicates that such an updating of the map display and the textual listing can occur irrespective of whether the user's selection of a new entity was directed to the textual listing or the map display, in another embodiment, as described in detail above, if, at step 370, the user's selection of another entity was directed to the map display, then the map display and the textual listing can be appropriately updated, but if the user's selection of another entity was directed to the textual listing then, in such another embodiment, processing could transition to steps 335 through 350, described in detail above, where the textual listing comprises a greater proportion of the display area while also updating the map display in textual listing in accordance with the user's selection.
At step 375, a determination can be made as to whether the user directed input to the textual listing. If the user has not directed any user input to the textual listing, then processing can return to the performance of steps 365 and 370, as already described. Conversely, if, at step 375, user input to the map display is detected then, at step 380, a transition to a simultaneously interactive map and list view where the textual listing, instead of the map display, comprises a greater proportion of the display area. Subsequently, processing can continue with step 335, which was described in detail above.
In one embodiment, although not specifically enumerated in the flow diagram 300 of
In one embodiment, as the display area provided to either the map display or the textual listing increases or decreases, the added or subtracted area can affect a fixed portion of the map display and textual listing. For example, as illustrated by the system 200, as the display 210 transitions to the display 230, and the textual listing 212 transitions to the textual listing 232, the space subtracted from the textual listing 212 can be subtracted from the bottom such that, even though the divider 215 is progressing down to the divider 235, the relative position of the first entity in the textual listing, namely the entity 226 and analogous entity 246, can remain constant with respect to the divider 215 transitioning down to the divider 235. The converse can be true in the reverse situation where the display 230 transitions to display 210.
Turning to
The computing device 400 also typically includes computer readable media, which can include any available media that can be accessed by computing device 400 and includes both volatile and nonvolatile media and removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computing device 400. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of the any of the above should also be included within the scope of computer readable media.
The system memory 430 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 434 and random access memory (RAM) 432. A basic input/output system 433 (BIOS), containing the basic routines that help to transfer information between elements within computing device 400, such as during start-up, is typically stored in ROM 434. RAM 432 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 420. By way of example, and not limitation,
The computing device 400 may also include other removable/non-removable, volatile/nonvolatile computer storage media. By way of example only,
The drives and their associated computer storage media discussed above and illustrated in
Of relevance to the descriptions above, the computing device 400 may operate in a networked environment using logical connections to one or more remote computers. For simplicity of illustration, and in conformance with the exemplary system 100 of
As can be seen from the above descriptions, a combined and simultaneously interactive map and list view can be provided within limited display areas. In view of the many possible variations of the subject matter described herein, we claim as our invention all such embodiments as may come within the scope of the following claims and equivalents thereto.