1. A mobile computing apparatus comprising at least one memory comprising computer executable instructions and at least one processor configured to execute the computer executable instructions, the computer executable instructions causing the least one processor to perform: determining a location associated with a mobile communication device; receiving a desired destination location; displaying on the mobile communication device an indication of a current position of the mobile communication device based on the determined location; displaying on the mobile communication device an indication of the desired destination location; displaying on the mobile communication device indications of a plurality of possible routes between the displayed indication of the current position and the displayed indication of the desired destination location based on one or more metrics; displaying on the mobile communication device an indication of the one or more metrics; and as the mobile communication device travels towards the destination location, repeatedly updating the display of the indication of the current position of the mobile communication device, the display of the indication of the one or more metrics, and the display of the indications of a subset of the plurality of possible routes.