A non-transitory computer-readable medium storing computer instructions that, when executed by at least one processor, cause the at least one processor to perform actions, the actions comprising:
- determining a user geographic location for a user of the mobile device;
- determining a travel mode of the user based on movement of the mobile device;
- determining an effective time range for the user;
- identifying a plurality of pieces of content each connected to a geographic location proximate to the user geographic location based on the travel mode;
- initializing a display in a first display mode;
- while in the first display mode:
- adding to the display at, a user location, a visual indication of the user and the travel mode;
- dynamically adding to the display, a plurality of rings based on the travel mode, wherein each separate ring of the plurality of rings identifies a separate amount of time to travel from the user geographic location based on the travel mode, with each separate ring having a radius that corresponds to the separate amount of time;
- for each piece of content of the identified plurality of pieces of content:
- determining a compass direction from the user geographic location to the geographic location to which the piece of content is connected;
- predicting, based on the travel mode, an amount of time it would take the user to travel from the user geographic location to the geographic location to which the piece of content is connected;
- determining if the piece of content has a time that is within the effective time range for the user relative to the predicted amount of time it would take the user to travel from the user geographic location to the geographic location to which the piece of content is connected;
- and
- in response to the piece of content having a time that is within the effective time range for the user relative to the predicted amount of time, adding to the display a visual indication of the piece of content at a location on the display that is in a direction from the user location relative to the determined compass direction, and is a distance from the user location that is proportional to the predicted amount of time;
- and
- receiving user input specifying a change to enter a second display mode;
- and
- while in the second display mode:
- selecting a number of pieces of content from the plurality of pieces of content having a shortest predicted amount of time and a time that is within the effective time range for the user relative to the predicted amount of time;
- and
- replacing the display with a vertical scroll list of the selected pieces of content, the list being ordered by their predicted amount of time.