Screen transitions in a geographic application

The display device of a portable device is configured to operate in at least a first physical orientation and a second physical orientation. Instructions, when executed on one or more processors, cause the one or more processors to detect a first transition from the first physical orientation of the display device to the second physical orientation of the display device, detect a second transition from the second physical orientation of the display device to the first physical orientation of the display device, and, in response to the second transition, select a presentation format for displaying geographic content via the display device in the first physical orientation, based at least in part on a prior presentation format according to which the geographic content was presented via the display device prior to the first transition.

FIELD OF TECHNOLOGY

This disclosure relates to interactive digital maps and, more particularly, to presenting geographic content according to various physical orientations of a display device.

BACKGROUND

Software applications that provide interactive digital maps, driving directions, and various geographic functions (“geographic applications”) can operate on computing devices in which display devices can operate in multiple orientations, such as “portrait” and “landscape.” For example, today many tablet computers include accelerometers that detect changes in orientation substantially in real time and report these changes to the currently running software applications.

SUMMARY

A geographic application generates presentation of geographic content for display in accordance with a physical orientation of the display device as well as the history of previous presentations of geographic content. More specifically, the geographic application selects an efficient and intuitive presentation format and, in some cases, the level of detail for geographic content based on the current orientation of the display device and the current operational context of the geographic application. When the display device is rotated from a first orientation to a second orientation, the geographic application updates the presentation to better match the new, second orientation of the display device, and also stores an indication of the presentation format most recently used in the first orientation. If the display device is again rotated from the second orientation back to the first orientation, the geographic application can restore the presentation format previously used in the first orientation to make changes in presentation formats both efficient and intuitive.

One example embodiment of these techniques is a method for presenting geographic content via a display device. The method can be executed on one or more processors. The method includes generating, in a first instance, a first presentation of geographic content for display via a display device, when the display device has a first physical orientation. In a second instance, when the display device has the same first physical orientation, the method includes generating a second presentation of geographic content for display via the display device. The method further includes generating a shared third presentation of geographic content for display via the display device both when the display device transitions to a second physical orientation in the first instance and when the display device transitions to the second physical orientation in the second instance. When the display device displaying the third presentation of geographic content transitions to the first physical orientation, the method includes generating the first presentation of geographic content in response at least to determining that the physical device transitioned to the second physical orientation in the first instance and generating the second presentation of geographic content in response at least to determining that the physical device transitioned to the second physical orientation in the second instance.

Another example embodiment of these techniques is a method for presenting geographic content via a display device, which also can be executed on one or more processors. The method includes displaying geographic content via a display device according to a first presentation format or a second presentation format, when the display device is in a first physical orientation and, in response to an indication that the display device transitioned from the first physical orientation to the second physical orientation, displaying the geographic content according to a third presentation format. If user input of a certain type is received while the geographic content being displayed according to the third presentation format, the method includes updating the geographic content being displayed. In response to an indication that the display device returned from the second physical orientation to the first physical orientation, the method includes displaying the geographic content according to the first presentation format if no user input of the certain type was received, or displaying the geographic content according to the second presentation format if user input of the certain type was received.

Yet another example embodiment is a portable user device including one or more processors, a display device coupled to the one or more processors, one or more sensors coupled to the one or more processors, and a non-transitory computer-readable memory coupled to the one or more processors and storing instructions. The display device is configured to operate in at least a first physical orientation and a second physical orientation. The one or more sensors are configured to detect a physical orientation of the display device. The instructions, when executed on the one or more processors, cause the one or more processors to (i) detect a first transition from the first physical orientation of the display device to the second physical orientation of the display device, (ii) detect a second transition from the second physical orientation of the display device to the first physical orientation of the display device, and (iii) in response to the second transition, select a presentation format for displaying geographic content via the display device in the first physical orientation, based at least in part on a prior presentation format according to which the geographic content was presented via the display device prior to the first transition.

DETAILED DESCRIPTION OF THE DRAWINGS

Overview

A geographic application displays geographic content via a display device in various presentation formats dependent on the physical orientation of the display device, such as “portrait” and “landscape.” When the user changes the physical orientation of the display device from a current orientation to a new orientation, the geographic application updates the presentation format and, in some cases, the geographic content, in view of (i) the new orientation of the display device and (ii) the orientation the display device prior to the current orientation. More generally, the geographic application can generate presentations of geographic content in view of the history of the physical orientation of the display device.

In an example scenario, the display device is the touchscreen of a tablet computer (or simply “tablet”). The tablet is in the portrait orientation, the geographic application displays a digital map occupying an upper portion of the screen along with an informational sheet occupying a lower portion of the screen. The informational sheet includes an overview of a certain business selected on the digital map. This example presentation of geographic content is schematically illustrated inFIG. 1as state S1. If the geographic application detects an indication that the user wishes to view the information related to the selected business in more detail, the geographic application can adjust the presentation, so that the informational sheet now occupies substantially the entire screen. This example presentation of geographic content is schematically illustrated inFIG. 1as state S2.

When the geographic application is in state S1,and the user rotates the tablet to the landscape orientation, the geographic application automatically adjusts the presentation to display the digital map on the right side of the screen and the informational sheet on the left side of the screen. This presentation is illustrated inFIG. 3as state S3. The informational sheet can include the same or a different level of detail related to the selected business, depending on the implementation.

If the user then rotates the tablet to the portrait orientation, the geographic application transition from state S3to restore state S1. However, if the user scrolls through the informational sheet in state S3and then rotates the tablet to the portrait orientation, the geographic application instead transitions to state S2. When the user again rotates the tablet to the landscape orientation, the geographic application transitions from state S2to state S3.

Thus, the geographic application can transition to state S3from state S1as well as from state S1, store an indication of the previous state in a memory, and transition to state S1or state S2from state S3in accordance with the stored indication.

In general, these and similar techniques allow the geographic application to efficiently use screen real estate in different orientations of the display device, and make transitions more intuitive. As one specific example, when the user sits down while holding the display device and inadvertently causes the geographic application to change the presentation from portrait to landscape, the geographic application can restore the previous presentation in response to the user rotating the display device back to the portrait orientation.

Example State Transitions

A state transition diagram10ofFIG. 1illustrates transitions between several presentation formats of geographic content, in one embodiment of the techniques outlined above. An example geographic application that can implement these transitions, as well as an example user device on which the geographic application can run, are discussed below with reference toFIG. 2.

With continued reference toFIG. 1, the display device is in portrait orientation in states S1and S2. According to the presentation format of state S1, a screen12, available for displaying geographic content, includes a map screen14and an informational screen16. The map screen14occupies the upper portion of the screen12, and the informational screen16occupies the lower portion of the screen12. The map screen14is significantly larger than the informational screen16in this example implementation. For example, the map screen14and the informational screen16can occupy approximately four-fifths and one-fifth, respectively, of the screen12. The screens14and16may be independently operable. In other words, in some cases, a geographic application can update the display of one of the screens14and16in response to user input without updating the other one of the screens14and16.

The geographic application can display an interactive digital map in the map screen14and information related to the digital map in the informational screen16. For example, the digital map can correspond to a certain geographic area within which the user searched for a certain type of business, such as restaurant. The informational screen16can include an overview of place that corresponds to one of the search results. For example, the informational screen16can list some of the important information, such as the name of the restaurant, its rating, and the amount of time it would take to reach the restaurant by car.

According to the presentation format of state S2, an informational sheet26occupies the entire screen12, or at least the majority of the screen12. The informational sheet26can correspond to an expanded version of the informational sheet16. For example, the informational sheet26can include a detailed description, one or more photographs, videos, etc. related to the restaurant briefly described in the informational sheet16.

On the other hand, the presentation format of S3can include a map screen34generally similar to the map screen14, and an informational screen36, which can include a detailed description of a place, generally similar to the informational screen26. The relative layout of the screens in the presentation format of state S3is different from the relative layout of the screens in the presentation format of state S1, in this example implementation. In particular, the informational screen36can be disposed on the left side of the screen12, and the map screen34can be disposed on the right side of the screen12. Further, the map screen34can occupy a significantly larger portion of the screen12than the informational screen34(e.g., three quarters vis-à-vis one quarter).

Example content of the screens14,16,26,34, and36is discussed in more detail below with reference toFIG. 3. More generally, however, any suitable presentation formats, with any suitable numbers and dimensions of screens, can be used.

The geographic application can transition from state S1to state S2in response to the display device changing orientation from portrait to landscape (transition T1). Similarly, the geographic application can transition from state S2back to state S1in response to the display device changing orientation from landscape to portrait (transition T2). However, as illustrated inFIG. 1, the geographic application can use the same presentation format for multiple “sub-states” in state S3. Thus, the geographic application can detect user interaction, such as one or several scroll commands, applied to the informational screen36in state S3, and transition to the other sub-state within state S3(transition T3). As a result, when the display device then changes orientation from landscape to portrait, the geographic application transitions to state S2(transition T4) rather than state S1. In other words, the geographic application can transition from state S3to two different states in response to the same event, depending on whether the user interacted with the geographic content in state S2.

Still referring toFIG. 1, if the display device changes orientation from portrait to landscape when the geographic application is in state S2(transition T5), the geographic application returns to the presentation format of state S3. More specifically, the geographic application returns to the sub-state from which the geographic application transitions to state S2rather than state S1in response to the display device changing orientation from landscape to portrait.

Thus, changes in orientation between portrait and landscape define loops S1-S3-S1-S3-etc. and S2-S3-S2-S3-etc. To implement these transitions, the geographic can store an indication of the presentation format and/or state in the previous orientation of the display device. For example, when the geographic application is in state S1and the display device changes orientation from vertical to horizontal, the geographic application can store an indication state S2prior to transition to state S3. In this manner, when the display device changes the physical orientation back to portrait, the geographic application can determine that it should transition from state S3to state S2rather than state S1.

In some implementations, the geographic application also can transition from state S2to state1(transition T6) in response to the user activating a control in the informational screen26for displaying a digital map. The geographic application can transition from state S1to state S3(transition T7) in response to the user selecting a more detailed view of the place. For example, the user can click, tap, “pull,” or otherwise activate the informational screen16to trigger the transition T7.

Example User Device

FIG. 2is a block diagram an example computing device100in which a geographic application can operate in accordance with the state transition diagram ofFIG. 1. More particularly, the geographic application discussed above with reference toFIG. 1can be implemented as a geographic application102, stored as a set of instructions in a non-transitory computer-readable memory104and executable on one or more processor(s)106. The computing device100can be a portable user device such as, for example, a tablet computer or a smart phone.

The processor(s)106can include a central processing unit (CPU) as well as a graphics processing unit (GPU) for efficiently rendering graphics content. The memory104can be a non-transitory memory including persistent (e.g., flash drive) and/or non-persistent (e.g., RAM) components.

The processor(s)106are coupled to a display device such as a touchscreen18via which the geographic application102can display geographic content such as, for example, digital maps, descriptions and multimedia content for geographic places, and navigation directions for driving, walking, bicycling, public transport, etc. The geographic application102also can receive gesture-based and other user input via the touchscreen108. The touchscreen108can operate in multiple physical orientations such as portrait and landscape. In other implementations, the computing device100can include a display device configured to only display content and, separately from the display device, one or more input devices such as a keyboard or a mouse. More generally, the computing device100can include any number of input and output devices.

The processor(s)106also can be coupled to one or more sensors110such as an accelerometer110a. In operation, the accelerometer110aand/or another sensor can detect changes in the physical orientation of the touchscreen108if the touchscreen108can move independently of the other components of the computing device100, or of the entire computing device100if the touchscreen108is rigidly fixed within the housing of the computing device100. The geographic application102can receive an indication of the new orientation of the touchscreen108and generate a new presentation of geographic content in view of the new orientation. As further discussed with reference toFIGS. 3 and 4, the new presentation of geographic content can include a new presentation format such as the selection and layout of screens, and/or the level of detail at which some of the geographic content is being displayed.

The geographic application102can operate on map data122describing geographic features and other geospatial data124such as, for example, indexed data describing various places in one or several geographic areas. More particularly, the geospatial data124can include information about points of interest, brick-and-mortar businesses, user reviews, etc. The information can include text, photographs, videos, audio content, links to additional resources, etc.

The map data122can include descriptions of geometry and location indications for various natural geographic features (e.g., rivers, mountains, forests) as well as artificial geographic features (e.g., roads, buildings, parks). The map data122can include, among other data, vector graphics data, raster image data, and text data. In an example implementation, the map data122is organized into map tiles, which generally correspond to organization of geospatial data into two-dimensional regions of a predefined size. Each map tile in this case corresponds to a square geographic region, with the size of the square being dependent on the level of magnification, or zoom level. Thus, each map tile at a given zoom level is divided into four tiles at the next level, up to the highest zoom level.

The computing device100can retrieve the map data122and the geospatial data124from a network server (not shown) via a network interface130.

Additional Examples of Presentation Formats for Geographic Content

Referring toFIG. 3A-C, example presentation formats202,204, and206can correspond to states S1, S2, and S3, respectively. According to the presentation format202, a map screen210occupies a large upper portion of the screen, and an informational screen212occupies a small lower portion of the screen. Location markers216indicate the locations on the map corresponding to selectable items related to a geographic query or automatic suggestions, for example. The informational screen212can include a brief overview of the currently selected item.

According to the presentation format204, a map screen220occupies a smaller upper portion of the screen than the map screen210. Depending on the implementation, the map screen220can display a zoomed-out version of the digital map displayed in the map screen210, or only a portion of the digital map displayed in the map screen210at the same zoom level. The informational screen222can include a scrollable list of items224A,224B,224C, etc. The informational screen222can be generated in response to the user activating the informational screen212ofFIG. 3A, for example.

The presentation format206includes a map screen230that occupies a large right portion of the screen, and an informational screen232that occupies a small left portion of the screen. Similar to the informational screen222, the informational screen232includes a scrollable list of selectable items. However, in this example implementation, the informational screen232includes a larger number of items.

FIGS. 4A-Cillustrate another example set of presentation formats302,304, and306that can correspond to states S1, S2, and S3, respectively. The presentation format302includes a map screen310that occupies a large upper portion of the screen and in which a digital map with an overlaid navigation route is displayed. The presentation format302also includes an informational screen312that occupies a smaller lower portion of the screen, and in which the currently selected (or currently relevant) step of the navigation instructions is displayed.

According to the presentation format304, the informational screen322occupies substantially the entire screen and includes a sequence of the navigation steps. In this example, the presentation format304does not include a map screen. The presentation format306includes a map screen330that occupies a large right portion of the screen, and an informational screen332that occupies a small left portion of the screen. Similar to the informational screen322, the informational screen332includes a listing of navigation steps.

It is noted that the presentation formats ofFIGS. 1, 3, and 4are merely examples of presentation formats that can be used to provide geographic content via a display device. Moreover, in addition to geographic content, other types of content can be presented using the techniques of this disclosure.

Example Method for Presenting Geographic Content

Now referring toFIG. 5, a method400can be implemented in the geographic application102, for example. The method400begins at block402, where it is determined that the current physical orientation of the display device is portrait. Depending on the user commands and, in some cases, the history of previous presentation formats in portrait orientation, it is determined whether a first presentation or a second presentation of geographic content should be selected (blocks404and406, respectively). The selections at block404and406can include, for example, a certain presentation format and the level of detail for geographic content displayed according to the selected presentation format. For example, the geographic application in a first instance can select the format202ofFIG. 3Aat block404, and in a second instance can select the format204ofFIG. 3Bat block406.

At block408, is determined that the physical orientation of the display device has changed to landscape. The indication of the type of presentation used at blocks404and406is stored in a memory at block410. For example, the indication can be stored in the memory104ofFIG. 2. A new presentation of geographic content is then generated at block412. In this scenario, the presentation is the same regardless of whether the geographic content was presented in accordance with block404or406in portrait orientation. For example, referring back toFIG. 3, the presentation format206can be used.

Next, at block414, it is determined that the physical orientation of the display device changed back to portrait. In response, the presentation format of block402is restored at block416or the presentation format of block406is restored at block418, depending on the stored indication. In other scenarios, however, the user may interact with the displayed content after the change in orientation at block412, in which case the flow can proceed to block416or block418further in view of the user interaction.

Additional Considerations