U.S. patent application number 14/990145 was filed with the patent office on 2016-04-28 for intuitive preview of upcoming navigational instructions.
The applicant listed for this patent is Google Inc.. Invention is credited to Alexander James Faaborg, Joshua Robin Kaplan.
Application Number | 20160116297 14/990145 |
Document ID | / |
Family ID | 53797842 |
Filed Date | 2016-04-28 |
United States Patent
Application |
20160116297 |
Kind Code |
A1 |
Faaborg; Alexander James ;
et al. |
April 28, 2016 |
Intuitive Preview of Upcoming Navigational Instructions
Abstract
Systems and methods for providing an intuitive preview of
upcoming navigational instructions are provided. One example method
for providing navigational instruction includes obtaining, by one
or more computing devices, navigational information describing a
sequence of navigational maneuvers associated with a route. The
method includes determining, by the one or more computing devices,
a distance between each navigational maneuver and the previous
sequential navigational maneuver. The method includes displaying,
by the one or more computing devices, a user interface providing a
sequence of indicators respectively representing the sequence of
navigational maneuvers. A space between each indicator and the
previous sequential indicator is proportional to the distance
between the navigational maneuver represented by such indicator and
the navigational maneuver represented by the previous sequential
indicator.
Inventors: |
Faaborg; Alexander James;
(Mountain View, CA) ; Kaplan; Joshua Robin; (San
Francisco, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
Google Inc. |
Mountain View |
CA |
US |
|
|
Family ID: |
53797842 |
Appl. No.: |
14/990145 |
Filed: |
January 7, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
14267235 |
May 1, 2014 |
9243921 |
|
|
14990145 |
|
|
|
|
61941116 |
Feb 18, 2014 |
|
|
|
Current U.S.
Class: |
701/428 ;
701/533 |
Current CPC
Class: |
G01C 21/34 20130101;
G01C 21/3626 20130101; G09B 29/003 20130101; G01C 21/3632 20130101;
G06K 15/1843 20130101; G01C 21/3655 20130101; G08G 1/096861
20130101 |
International
Class: |
G01C 21/36 20060101
G01C021/36 |
Claims
1.-20. (canceled)
21. A method for providing navigational instruction, the method
comprising: obtaining, by one or more computing devices,
navigational information describing a sequence of navigational
maneuvers associated with a route, wherein the navigational
information further describes a distance between each navigational
maneuver and the previous sequential navigational maneuver; and
displaying, by the one or more computing devices, a sequence of
indicators respectively representing at least a portion of the
sequence of navigational maneuvers; wherein the sequence of
indicators are not overlaid upon a map; and wherein a space between
each indicator and the previous sequential indicator is
proportional to the distance between the navigational maneuver
represented by such indicator and the navigational maneuver
represented by the previous sequential indicator.
22. The method of claim 21, further comprising: determining, by the
one or more computing devices, a current speed at which a user is
travelling; and identifying, by the one or more computing devices,
which of the sequence of navigational maneuvers the user is
expected to reach within a threshold amount of time based at least
in part on the current speed at which the user is travelling;
wherein the sequence of indicators provided in the user interface
represent only the navigational maneuvers that the user is expected
to reach within the threshold amount of time.
23. The method of claim 21, further comprising: determining, by the
one or more computing devices, when one of the sequence of
navigational maneuvers has been performed; and removing from the
user interface, by the one or more computing devices, the indicator
representing the completed navigational maneuver when it is
determined that such navigational maneuver has been performed.
24. The method of claim 21, wherein the sequence of indicators
included in the user interface are presented at different positions
along a first axis of the user interface that is representative of
distance.
25. The method of claim 21, wherein the sequence of indicators
comprises a sequence of graphical icons respectively describing the
sequence of navigational maneuvers.
26. The method of claim 25, wherein the first axis comprises a
y-axis of a display, and wherein the method further comprises
scrolling, by the one or more computing devices, the sequence of
indicators upwards along the y-axis as a user progresses along the
route.
27. The method of claim 26, wherein scrolling, by the one or more
computing devices, the sequence of indicators upwards along the
y-axis as a user progresses along the route comprises introducing,
by the one or more computing devices, a newly displayed indicator
onto a bottom of a display area of the display.
28. The method of claim 25, further comprising: periodically
adjusting, by the one or more computing devices, a scale of the
distance axis based at least in part on current speed.
29. The method of claim 21, wherein the sequence of indicators
comprises a sequence of textual entries respectively describing the
sequence of navigational maneuvers.
30. The method of claim 21, wherein the distance between each
navigational maneuver and the previous sequential navigational
maneuver comprises a driving distance associated with the
route.
31. The method of claim 21, wherein the distance between each
navigational maneuver and the previous sequential navigational
maneuver comprises a current expected travel time determined based
at least in part on the route and traffic data.
32. A device comprising: a processor; a memory; a positioning
system; and a display wherein the memory stores instructions that,
when executed by the processor, cause the device to perform
operations, the operations comprising: obtaining navigational
information describing a route; determining a current position of
the device; determining a plurality of upcoming maneuvers based at
least in part on the navigational information and the current
position of the device; and providing on the display a plurality of
indicators respectively representing the plurality of upcoming
maneuvers, wherein the plurality of indicators are not overlaid
upon a map, wherein a space is provided between each pair of
adjacent indicators, and wherein the space between each pair of
adjacent indicators is proportional to a distance between the pair
of maneuvers such pair of indicators represent.
33. The device of claim 32, wherein the distance between each pair
of maneuvers comprises a driving distance.
34. The device of claim 32, wherein the distance between each pair
of maneuvers comprises a travel time.
35. The device of claim 32, wherein the distance between each pair
of maneuvers comprises a current expected travel time based at
least in part on the route and obtained traffic data.
36. The device of claim 32, wherein the plurality of indicators
comprises one of a plurality of graphical icons or a plurality of
textual entries.
37. The device of claim 32, wherein determining a plurality of
upcoming maneuvers based at least in part on the navigational
information and the current position of the device comprises:
determining a current speed at which the device is travelling; and
identifying a plurality of expected maneuvers that the device will
reach within a threshold amount of time based at least in part on
the navigational information, the current position of the device,
and the current speed at which the device is travelling; wherein
the plurality of indicators provided on the display respectively
represent the plurality of expected maneuvers.
38. The device of claim 32, wherein: providing on the display the
plurality of indicators respectively representing the plurality of
upcoming maneuvers comprises providing on the display the plurality
of indicators at a plurality of intervals along a y-axis of the
display; the interval between each pair of adjacent indicators is
proportional to the distance between the pair of maneuvers such
pair of indicators represent; and the memory stores further
instructions that, when executed by the processor, cause the device
to perform further operations, the further operations comprising
scrolling the plurality of indicators upwards along the y-axis
based at least in part on the current position of the device.
39. A non-transitory computer-readable medium storing instructions
that, when executed by one or more computing devices, cause the one
or more computing devices to perform operations, the operations
comprising: obtaining navigational information describing a
plurality of upcoming maneuvers, wherein a plurality of distances
are respectively associated with the plurality of upcoming
maneuvers; and displaying, along a distance axis of a user
interface, one or more indicators respectively representing at
least a portion of the plurality of upcoming maneuvers, wherein the
one or more indicators are displayed at respective positions along
the distance axis that respectively correspond to the respective
distances of the upcoming maneuvers from a current position.
40. The non-transitory computer-readable medium of claim 39,
wherein: the distance axis comprises a y-axis of the user
interface; the non-transitory computer-readable medium stores
further instructions for performing further operations comprising
scrolling the y-axis upwards as the plurality of upcoming maneuvers
are performed.
Description
PRIORITY CLAIM
[0001] The present application is a continuation of and claims
priority to U.S. patent application Ser. No. 14/267,235, filed May
1, 2014, which claims priority to U.S. Provisional Patent
Application Ser. No. 61/941,116 filed Feb. 18, 2014. The present
application claims priority to and benefit of all such applications
and hereby incorporates all such applications herein by reference
in their entirety.
FIELD
[0002] The present disclosure relates generally to navigational
systems. In particular, the present disclosure is directed to
systems and methods for providing an intuitive preview of upcoming
navigational instructions.
BACKGROUND
[0003] Navigational devices are becoming increasingly commonplace
in the modern world. For example, navigational devices can be used
for navigating a vehicle such as a car, boat, or airplane or for
use when walking through an unfamiliar location.
[0004] Furthermore, as smartphones, tablets, or other computing
devices become increasingly able to determine their own position in
the world using GPS or other positioning systems, navigational
devices are no longer limited to devices specifically designed with
the sole-purpose of providing navigational instructions. Instead,
navigational devices can include a large variety of computing
devices capable of implementing one or more applications to provide
near-instantaneous instructions for navigating from almost any
location to any other location.
[0005] In particular, such applications often offer "turn-by-turn"
navigational instruction, which provides navigation over a sequence
of navigational maneuvers (e.g. driving maneuvers such as "turn
right"). As an example, the sequence of maneuvers can be described
by a group of textual entries that respectively describe the
upcoming maneuvers. As other examples, the navigational device can
provide a group of graphical icons that respectively represent the
upcoming maneuvers or can output audio in the form of human speech
that describes the upcoming maneuvers.
[0006] However, certain display methods implemented by current
navigational devices can fail to provide users with an intuitive,
user-friendly sense of the scale and relationship between the
upcoming maneuvers. As an example, the navigational device may fail
to indicate the distance between upcoming maneuvers or may provide
the navigational instruction only upon approaching a predefined
distance from the maneuver location.
[0007] However, if there are two maneuvers within relative
proximity to one another, the navigation device may fail to provide
sufficient advanced warning to enable the user to be in proper
position or otherwise appropriately anticipate the maneuver. For
example, a driver may be required to merge or change lanes
immediately after a first maneuver in order to be in position to
make a second maneuver. As such, if the navigational device fails
to the give the driver appropriate notice, then the driver may miss
the second maneuver.
[0008] As another example, in the instance that the navigational
device provides the distance between upcoming maneuvers in a
textual format, the user may struggle to mentally convert the
textual distance information into a full comprehension of the
physical distance. Alternatively, user effort to comprehend textual
distances or time spent looking at the device display to read the
text can undesirably distract the user from the navigational
activity (e.g. driving the car).
SUMMARY
[0009] Aspects and advantages of the present disclosure will be set
forth in part in the following description, or may be obvious from
the description, or may be learned through practice of embodiments
of the present disclosure.
[0010] One example aspect of the present disclosure is directed to
a method for providing navigational instruction. The method
includes obtaining, by one or more computing devices, navigational
information describing a sequence of navigational maneuvers
associated with a route. The method includes determining, by the
one or more computing devices, a distance between each navigational
maneuver and the previous sequential navigational maneuver. The
method includes displaying, by the one or more computing devices, a
user interface providing a sequence of indicators respectively
representing the sequence of navigational maneuvers. A space
between each indicator and the previous sequential indicator is
proportional to the distance between the navigational maneuver
represented by such indicator and the navigational maneuver
represented by the previous sequential indicator.
[0011] These and other features, aspects and advantages of the
present disclosure will become better understood with reference to
the following description and appended claims. The accompanying
drawings, which are incorporated in and constitute a part of this
specification, illustrate embodiments of the present disclosure
and, together with the description, serve to explain the principles
of the present disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0012] A full and enabling description of the present disclosure,
directed to one of ordinary skill in the art, is set forth in the
specification, which makes reference to the appended figures, in
which:
[0013] FIG. 1 depicts an example user interface according to an
example embodiment of the present disclosure;
[0014] FIG. 2 depicts an example navigational system according to
an example embodiment of the present disclosure;
[0015] FIG. 3 depicts a flow chart of an example method for
providing navigational instruction according to an example
embodiment of the present disclosure; and
[0016] FIG. 4 depicts a flow chart of an example method for
providing navigational instruction according to an example
embodiment of the present disclosure.
DETAILED DESCRIPTION
[0017] Reference now will be made in detail to embodiments of the
present disclosure, one or more examples of which are illustrated
in the drawings. Each example is provided by way of explanation of
the present disclosure, not limitation of the present disclosure.
In fact, it will be apparent to those skilled in the art that
various modifications and variations can be made to the present
disclosure without departing from the scope or spirit of the
disclosure. For instance, features illustrated or described as part
of one embodiment can be used with another embodiment to yield a
still further embodiment. Thus, it is intended that the present
disclosure covers such modifications and variations as come within
the scope of the appended claims and their equivalents.
[0018] Generally, the present disclosure is directed to systems and
methods for providing an intuitive preview of upcoming navigational
instructions. In particular, a navigational device can obtain
navigational information describing a sequence of navigational
maneuvers associated with a route. The device can display a user
interface that provides a sequence of indicators that respectively
represent the sequence of navigational maneuvers. As an example,
the device can determine its current location and then identify one
or more maneuvers that should occur within a given timeframe. A
space can be provided between each pair of adjacent indicators on
the user interface. In particular, the space between each indicator
and the previous sequential indicator can be proportional to a
distance between the navigational maneuver represented by such
indicator and the navigational maneuver represented by the previous
sequential indicator. In such fashion, the user of the navigational
device can be provided with an intuitive visual sense of the
spatial and/or temporal relationship between upcoming navigational
maneuvers.
[0019] More particularly, a navigational device implementing the
present disclosure can obtain navigational information describing a
route from an origin to a destination. For example, the
navigational device can communicate with a server over a network to
obtain the navigational information.
[0020] The route can include a sequence of navigational maneuvers.
For example, navigational maneuvers can include driving or walking
maneuvers such as "turn right", transit maneuvers such as "board
the southbound L-Train", or other suitable forms of navigational
maneuvers.
[0021] A distance can exist between each pair of sequential
navigational maneuvers. For example, the distance can be a physical
distance between the locations respectively associated with the
pair of navigational maneuvers. As another example, the distance
can be a driving distance (e.g. the distance that a car must travel
along one or more roadways).
[0022] As yet another example, the distance between each pair of
navigational maneuvers can be a travel time such as, for example,
an average travel time between the locations respectively
associated with the pair of navigational maneuvers. As another
example, the distance between each pair of navigational maneuvers
can be a current expected travel time that incorporates real-time
information concerning traffic conditions, weather conditions,
current device speed, or other factors.
[0023] According to an aspect of the present disclosure, the
navigational device can identify one or more upcoming maneuvers for
display in the user interface. As an example, in some
implementations, the navigational device can determine the current
position of the device or device user. Based on such current
position, the navigational device can identify one or more upcoming
maneuvers. For example, the device can identify the next three
upcoming maneuvers.
[0024] As another example, in some implementations, the
navigational device can identify both the current position and
speed of the device or device user. Based on such information, the
device can determine which of the sequence of navigational
maneuvers the user is expected to reach within a threshold amount
of time.
[0025] As yet another example, the navigational device can simply
display upcoming maneuvers received from a server. In particular,
the device can report its current location and/or speed to the
server and the server can, in turn, provide the navigational device
with data identifying the upcoming maneuvers. For example, the data
from the server can identify a plurality of upcoming maneuvers and
a plurality of distances respectively associated with the upcoming
maneuvers and the navigational device can use such information to
determine the appropriate presentation of the upcoming
maneuvers.
[0026] As another example, in some implementations, the data from
the server can include a listing of upcoming maneuvers and
associated distances or spacings along with a style sheet. The
device can then apply the style sheet to the provided listing. As
yet another example, the server can provide the navigational device
with a web page or other data structure in which the upcoming
maneuvers are already organized (e.g. spaced according to distance)
for display.
[0027] The navigational device can then indicate the identified
maneuvers to the user via a user interface. In particular, the
device can provide a sequence of indicators in the user interface
that respectively represent the identified upcoming navigational
maneuvers. As an example, the indicators can be textual entries
that describe the upcoming maneuvers using text. As another
example, the indicators can be graphical icons such as, for
example, a graphical arrow showing a right turn.
[0028] In some implementations of the present disclosure, the
indicators can be displayed at different positions along a first
axis of the user interface that is representative of distance (e.g.
physical distance, travel time, current expected travel time,
etc.). For example, the first axis can be the y-axis of the user
interface.
[0029] In particular, an interval or space can be provided between
each pair of adjacent indicators displayed along the first axis.
The interval between each pair of adjacent indicators can be
proportional to the distance between the pair of maneuvers such
pair of indicators represent.
[0030] The user interface can be updated on a periodic basis to
reflect the user's progress along the route. For example, in some
implementations, the navigational device can determine when a
navigational maneuver has been performed and remove the
corresponding indicator from the user interface.
[0031] As another example, the device can periodically determine
its position relative to the route and update the user interface
accordingly. For example, in some implementations, the device can
scroll the displayed indicators along the distance axis as the user
progresses along the route (e.g. scrolled upwards when the
indicators are presented along the y-axis with the next maneuver
shown at the top).
[0032] As yet another example, the navigational device can
periodically communicate with a server to receive additional
information, refresh a web page, or otherwise update the display of
upcoming maneuvers.
[0033] According to another aspect of the present disclosure,
indicators representing maneuvers that the user is newly
approaching can be presented in a fashion which visually simulates
the indicator moving onto the bottom of the display area from
previously being below the display area and out of sight. In such
fashion, the user can be given the impression that the device
display area is virtually scrolling through the entire sequence of
indicators so as to display only the most relevant upcoming
indicators.
[0034] In further embodiments of the present disclosure, the
navigational device can determine a scale of the distance axis of
the user interface based on a current speed at which the device or
the device user is travelling. For example, the scale of the
distance axis can decrease (e.g. show a smaller amount of distance
over the same display space) when the speed is smaller and increase
(e.g. show a larger amount of distance over the same display space)
when the speed is greater.
[0035] In particular, the navigational device can periodically
adjust the scale of the distance axis based on the current speed of
the device or the device user. The device can then determine which
upcoming maneuvers should be indicated in the user interface
display area based on the scale of the distance axis and the
respective distances associated with the upcoming maneuvers. The
identified maneuvers can then be respectively represented by a
sequence of indicators at corresponding positions along the
distance axis.
[0036] As another example, determinations regarding the scale of
the distance axis can be performed at a server and then
communicated to the navigational device. The navigational device
can then update the display according to the most recent
information received from the server.
[0037] Thus, the systems and method of the present disclosure can
assist in providing an intuitive preview of upcoming navigational
instructions. In particular, a space between each indicator
displayed in a user interface and a previous sequential indicator
can be proportional to a distance between the navigational maneuver
represented by such indicator and the navigational maneuver
represented by the previous sequential indicator. In such fashion,
the user of the navigational device can be provided with an
intuitive visual sense of the spatial and/or temporal relationship
between upcoming navigational maneuvers.
[0038] With reference now to the FIGS., example embodiments of the
present disclosure will be discussed in further detail. FIG. 1
depicts an example user interface 100 according to an example
embodiment of the present disclosure. In particular, user interface
100 is shown as provided on the display of a navigational device
150 (e.g. a smartwatch).
[0039] Provided in user interface 100 are a plurality of
indicators, such as, for example, indicators 102, 104, and 106.
Each indicator can represent an upcoming navigational maneuver.
Each indicator can include a textual entry (e.g. "Bear Left Onto
Stone Ave.") and/or a graphical icon (e.g. an arrow showing a
leftwards turn).
[0040] The plurality of indicators can be ordered into a sequence
based on the expected order in which they should be performed. For
example, as shown in FIG. 1, the plurality of indicators can be
presented at different positions along a y-axis of interface
100.
[0041] As an example, as shown in FIG. 1, the indicator 102 for the
next upcoming maneuver can be shown in a larger font/icon size at
the top of the display area. For example, a particular color or
other spatial designations can be used to highlight the next
upcoming indicator.
[0042] According to an aspect of the present disclosure, a space
can be provided between each pair of adjacent indicators. For
example, space 112 is provided between indicators 102 and 104 while
space 114 is provided between indicators 104 and 106.
[0043] The space between each pair of adjacent indicators can be
proportional to the distance between the pair of maneuvers such
pair of indicators represent. For example, as shown in FIG. 1,
space 112 which corresponds to a distance of 15 minutes is larger
than space 114 which corresponds to a distance of 10 minutes.
[0044] Further, while FIG. 1 shows spaces 112 and 114 as based on
distance in terms of a travel time, other suitable measures of
distance can be used. For example, the distance can be a physical
distance between the locations respectively associated with the
pair of navigational maneuvers; a driving distance (e.g. the
distance that a car must travel along one or more roadways); a
travel time such as, for example, an average travel time between
the locations respectively associated with the pair of navigational
maneuvers; or a current expected travel time that incorporates
real-time information concerning traffic conditions, weather
conditions, current device speed, or other factors.
[0045] In addition, it will be understood that user interface 100
is provided as an example. User interfaces implementing the present
disclosure may include many other various colors, patterns,
divisions of space, fonts, icons, or other visual characteristics
that are different than those shown in FIG. 1.
[0046] Thus, user interface 100 provides an intuitive preview of
upcoming navigational instructions. In particular, a space between
each indicator displayed in user interface 100 and a previous
sequential indicator can be proportional to a distance between the
navigational maneuver represented by such indicator and the
navigational maneuver represented by the previous sequential
indicator. In such fashion, the user of the navigational device can
be provided with an intuitive visual sense of the spatial and/or
temporal relationship between upcoming navigational maneuvers.
[0047] FIG. 2 depicts an example navigational system 200 according
to an example embodiment of the present disclosure. Navigational
system 200 includes a navigational device 210 in communication with
a server 230 over a network 250. Although a single navigational
device 210 is depicted, navigational system 200 can include a
client-server architecture in which any number of navigational
devices can be connected to server 230 over network 250.
[0048] Navigational device 210 can be any suitable device used for
navigation, including a sole-purpose navigational device, a
smartphone, a tablet, a laptop, a PDA, a device installed within a
dashboard of a vehicle, a heads up display in a vehicle, a wearable
computing device (e.g. eyeglasses containing one or more embedded
computing devices), or any other device that is configured to
display navigational instructions. Navigational device 210 can
include one or more processor(s) 212, a memory 214, a display 218,
a positioning system 220, and a network interface 222.
[0049] The processor(s) 212 can be any suitable processing device,
such as a microprocessor, microcontroller, integrated circuit, or
other suitable processing device. The memory 214 can include any
suitable computing system or media, including, but not limited to,
non-transitory computer-readable media, RAM, ROM, hard drives,
flash drives, or other memory devices. The memory 214 can store
information accessible by processor(s) 212, including instructions
that can be executed by processor(s) 212. The instructions can be
any set of instructions that when executed by the processor(s) 212,
cause the processor(s) 212 to provide desired functionality.
[0050] In particular, in some devices, memory 214 can store an
application module 216. Navigational device 210 can implement
application module 216 to execute aspects of the present
disclosure, including directing communications with server 230 and
providing navigational instructions to a user (e.g. generating
and/or displaying a navigational user interface).
[0051] It will be appreciated that the term "module" refers to
computer logic utilized to provide desired functionality. Thus, a
module can be implemented in hardware, application specific
circuits, firmware and/or software controlling a general purpose
processor. In one embodiment, the modules are program code files
stored on the storage device, loaded into memory and executed by a
processor or can be provided from computer program products, for
example computer executable instructions, that are stored in a
tangible computer-readable storage medium such as RAM, hard disk or
optical or magnetic media.
[0052] Memory 214 can also include data, such as geographic data,
that can be retrieved, manipulated, created, or stored by
processor(s) 212. In some implementations, such data can be
accessed and used to generate maps and navigational
instructions.
[0053] The navigational device 210 can also include a positioning
system 220 that can be used to identify the position of the
navigational device 210. The positioning system 220 can be any
device or circuitry for monitoring the position, speed, and/or
heading of the navigational device 210. For example, the
positioning system 220 can determine actual or relative position by
using a satellite navigation positioning system (e.g. a GPS system,
a Galileo positioning system, the GLObal Navigation satellite
system (GLONASS), the BeiDou Satellite Navigation and Positioning
system), an inertial navigation system, a magnetic field
positioning system, a dead reckoning system, based on IP address,
by using triangulation and/or proximity to cellular towers or WiFi
hotspots, and/or other suitable techniques for determining
position.
[0054] The navigational device 210 can include various input/output
devices for providing and receiving information from a user, such
as a touch screen, touch pad, data entry keys, speakers, mouse,
and/or a microphone suitable for voice recognition. For instance,
the navigational device 210 can use display 218 to present
information to the user, including textual or graphical
navigational instructions
[0055] Network interface 222 can be any suitable device or
circuitry for providing communications across network 250. For
example, network interface 222 can include one or more of a
receiver, a transmitter, an antenna, a modem, a port, or other
suitable components.
[0056] The navigational device 210 can exchange data with one or
more servers 230 over the network 250 via network interface 222.
Server 230 can be any suitable form of server or other computing
device configured to supply navigational device 210 with the
appropriate information. In particular, in some implementations,
multiple servers are accessed in a sequence or in parallel by
navigational device 210 to retrieve or obtain the desired
information or functionality.
[0057] Similar to navigational device 210, server 230 can include a
processor(s) 232, a memory 234, and a network interface 238. The
memory 234 can store information accessible by processor(s) 232,
including instructions 236 that can be executed by processor(s) and
data.
[0058] Server 230 can include or be in communication with one or
more databases, including a traffic database 240 and/or a
geographic information system 242. Server 230 can access databases
240 and 242 over a LAN, WAN, or other suitable computing
construct.
[0059] Traffic database 240 can store or provide data describing
real-time or daily traffic conditions. For example, traffic
database 240 can provide data describing the locations of any
current traffic stoppages, congestions, or other traffic
conditions.
[0060] Geographic information system 242 can store or provide
geographic data, including map data, point of interest data, road
categorization data, or other suitable data. In some
implementations, server 230 can use data obtained from geographic
information system 242 to determine and provide navigational
instructions from an origin to a destination.
[0061] The network 250 can be any type of communications network,
such as a local area network (e.g. intranet), wide area network
(e.g. Internet), or some combination thereof. In general,
communication between the navigational device 210 and server 230
can be carried via network interface using any type of wired and/or
wireless connection, using a variety of communication protocols
(e.g. TCP/IP, HTTP), encodings or formats (e.g. HTML, XML), and/or
protection schemes (e.g. VPN, secure HTTP, SSL).
[0062] FIG. 3 depicts a flow chart of an example method (300) for
providing navigational instruction according to an example
embodiment of the present disclosure. Although method (300) will be
discussed with reference to system 200 of FIG. 2, method (300) can
be performed by any suitable computing system.
[0063] In addition, FIG. 3 depicts steps performed in a particular
order for purposes of illustration and discussion. Those of
ordinary skill in the art, using the disclosures provided herein,
will understand that the various steps of method (300) can be
omitted, adapted, and/or rearranged in various ways without
departing from the scope of the present disclosure.
[0064] At (302) navigational information describing a route can be
obtained. For example, navigational device 210 can communicate with
server 230 over network 250 to receive navigation information
describing a plurality of navigational maneuvers to be performed
according to a route. Example navigational maneuvers can include
driving or walking maneuvers such as "turn right", transit
maneuvers such as "board the southbound L-Train", or other suitable
forms of navigational maneuvers.
[0065] At (304) a current position of the device can be determined.
For example, navigational device 210 can operate positioning system
220 to determine a current position of the device 210.
[0066] At (306) a plurality of upcoming maneuvers can be determined
based on the current position of the device. As an example,
navigational device 210 can analyze the current position of the
device relative to the route so as to identify the next upcoming
navigational maneuvers. For example, in some implementations, the
next three anticipated maneuvers can be identified at (306).
[0067] As another example, in some implementations, at (306) the
navigational device 210 can identify both the current position and
speed of the device or device user. Based on such information, the
device can determine at (306) which of the sequence of navigational
maneuvers the user is expected to reach within a threshold amount
of time.
[0068] As another example, at (306) the navigational device 210 can
receive data from server 230 that identifies the plurality of
upcoming maneuvers. In particular, the device 210 can report its
current location and/or speed to server 230 and server 230 can, in
turn, provide the navigational device with data identifying the
upcoming maneuvers. For example, the data from the server 230 can
identify the plurality of upcoming maneuvers along with a plurality
of distances respectively associated with the upcoming maneuvers.
The navigational device 210 can then use such information to
determine the appropriate presentation of the upcoming maneuvers at
(308).
[0069] As yet another example, in some implementations, the data
received at (306) from the server 230 can include a listing of
upcoming maneuvers and associated distances or spacings along with
a style sheet. The device 210 can then apply the style sheet to the
provided listing at (308). As another example, at (306) the server
230 can provide the navigational device 210 with a web page or
other data structure in which the upcoming maneuvers are already
organized (e.g. spaced according to distance) for display.
[0070] At (308) a plurality of indicators respectively representing
the upcoming maneuvers determined at (306) can be displayed on a
user interface. A space provided between each pair of adjacent
indicators can be proportional to a distance between the pair of
maneuvers such pair of indicators represent.
[0071] As an example, in some implementations, at (308) the
indicators can be displayed at different positions along a first
axis of the user interface that is representative of distance (e.g.
physical distance, driving distance, travel time, current expected
travel time, etc.). For example, the first axis can be the y-axis
of the user interface.
[0072] The interval or space between each pair of adjacent
indicators can be proportional to the distance between the pair of
maneuvers such pair of indicators represent. For example, the
distance can be a physical distance between the locations
respectively associated with the pair of navigational maneuvers. As
another example, the distance can be a driving distance (e.g. the
distance that a car must travel along one or more roadways).
[0073] As yet another example, the distance between each pair of
navigational maneuvers can be a travel time such as, for example,
an average travel time between the locations respectively
associated with the pair of navigational maneuvers. As another
example, the distance between each pair of navigational maneuvers
can be a current expected travel time that incorporates real-time
information concerning traffic conditions, weather conditions,
current device speed, or other factors.
[0074] After (308), method (300) can return to (304) and
re-determine the current position of the device. In such fashion,
the navigational device 210 can periodically determine its position
relative to the route and update the user interface accordingly.
Alternatively or additionally, the navigational device 210 can
periodically communicate with the server 230 to receive additional
information, refresh a web page, or otherwise update the display of
upcoming maneuvers.
[0075] As an example of periodic updates, in some implementations,
the device can scroll the displayed indicators along the distance
axis as the user progresses along the route (e.g. scrolled upwards
when the indicators are presented along the y-axis with the next
maneuver shown at the top).
[0076] Thus, indicators representing maneuvers that the user is
newly approaching can be presented in a fashion which visually
simulates the indicator moving onto the bottom of the display area
from previously being below the display area and out of sight. In
such fashion, the user can be given the impression that the device
display area is virtually scrolling through the entire sequence of
indicators so as to display only the most relevant upcoming
indicators.
[0077] FIG. 4 depicts a flow chart of an example method (400) for
providing navigational instruction according to an example
embodiment of the present disclosure. Although method (400) will be
discussed with reference to system 200 of FIG. 2, method (400) can
be performed by any suitable computing system.
[0078] In addition, FIG. 4 depicts steps performed in a particular
order for purposes of illustration and discussion. Those of
ordinary skill in the art, using the disclosures provided herein,
will understand that the various steps of method (400) can be
omitted, adapted, and/or rearranged in various ways without
departing from the scope of the present disclosure.
[0079] At (402) navigational information describing a route can be
obtained. For example, navigational device 210 can communicate with
server 230 over network 250 to receive navigation information
describing a plurality of navigational maneuvers to be performed
according to a route.
[0080] At (404) a current position of the device can be determined.
For example, navigational device 210 can operate positioning system
220 to determine a current position of the device 210.
[0081] At (406) a current speed of the device can be determined.
For example, at (406) navigational device 210 can compare recent
position determinations to determine a speed and a heading. As
another example, navigational device 210 can receive data input
from other devices or components that identify the current speed of
the device.
[0082] At (408) a scale of a distance axis of a user interface can
be determined based at least in part on the current speed. For
example, the scale of the distance axis can decrease (e.g. show a
smaller amount of distance over the same display space) when the
speed is smaller and increase (e.g. show a larger amount of
distance over the same display space) when the speed is
greater.
[0083] As an example, in some implementations, the navigational
device can determine the scale of the distance axis at (408) based
at least in part on the current speed. As another example, in some
implementations, the server 230 can determine the scale of the
distance axis at (408) based at least in part on the current speed
and communicate such information to the navigational device
210.
[0084] At (410) one or more upcoming maneuvers can be identified
for display based at least in part on the scale of the distance
axis. Thus, for example, navigational device 210 can consider the
scale of the distance axis as determined at (408) with respect to
the available display space of display 218. Thus, given the scale
of the distance axis, navigational device 210 can determine at
(410) which of the upcoming navigational maneuvers should be
displayed in the display area of display 218.
[0085] As another example, at (410) the server 230 can identify the
one or more upcoming maneuvers for display based at least in part
on the scale of the distance axis and then communicate such
information to the navigational device 210. For example, the data
communicated by the server 230 can include the plurality of
maneuvers along with distances or spacings in a style sheet. As
another example, the data communicated by the server 230 can be a
web page or other data structure in which the upcoming maneuvers
are already spaced for display according to the scale of the
distance axis determined at (408).
[0086] At (412) one or more indicators respectively representing
the one or more upcoming maneuvers identified at (410) can be
displayed along the distance axis at positions corresponding to
their distance from the navigational device.
[0087] After (412) method (400) can return to (404) and
re-determine the current position of the device. In such fashion,
the navigational device 210 can periodically adjust the scale of
the distance axis of the user interface based on the current speed
of the device or the device user. The device 210 can then determine
which upcoming maneuvers should be indicated in the user interface
display area based on the scale of the distance axis and the
respective distances associated with the upcoming maneuvers.
[0088] Therefore, only indicators for those maneuvers that are
expected to be reached within a navigationally-significant period
of time, as determined by the current speed of the device, will be
displayed. Further, the space between the indicators will be
proportional to their respective distances from one another, as
they will be positioned along the distance axis according their
respective distances.
[0089] The technology discussed herein makes reference to servers,
databases, software applications, and other computer-based systems,
as well as actions taken and information sent to and from such
systems. One of ordinary skill in the art will recognize that the
inherent flexibility of computer-based systems allows for a great
variety of possible configurations, combinations, and divisions of
tasks and functionality between and among components. For instance,
server processes discussed herein may be implemented using a single
server or multiple servers working in combination. Databases and
applications may be implemented on a single system or distributed
across multiple systems. Distributed components may operate
sequentially or in parallel.
[0090] Furthermore, computing tasks discussed herein as being
performed at a server can instead be performed at a client device
(e.g. navigational device communicating with a server). Likewise,
computing tasks discussed herein as being performed at the client
device can instead be performed at the server.
[0091] While the present subject matter has been described in
detail with respect to specific example embodiments and methods
thereof, it will be appreciated that those skilled in the art, upon
attaining an understanding of the foregoing may readily produce
alterations to, variations of, and equivalents to such embodiments.
Accordingly, the scope of the present disclosure is by way of
example rather than by way of limitation, and the subject
disclosure does not preclude inclusion of such modifications,
variations and/or additions to the present subject matter as would
be readily apparent to one of ordinary skill in the art.
* * * * *