A method for providing navigation data from a portable device to a head unit of a vehicle, comprising: implementing on the portable device a navigation application programming interface, a navigation service application and a companion application; receiving, by the companion application, a navigation request including a destination from the head unit using a first communication format that is supported by the head unit; invoking, by the companion application, the navigation API, the companion application converting information contained in the request received from the head unit in the first communication format to a second communication format that is a communication format of the navigation API; using the navigation API to send a request to the navigation service application for navigation data for navigating a user between a source and the destination; sending, from the navigation service application, a request for the navigation data to a navigation server via a long-range communication link; receiving by the navigation service application the navigation data from the navigation server via the long-range communication link, wherein the navigation data describes a sequence of steps; receiving a plurality of next step requests from the companion application; providing, by the navigation service application, in response to each of the plurality of next step requests, a next one in the sequence of steps of the navigation data using the second communication format to the companion application; and sequentially transmitting, by the companion application, the next one in the sequence of steps of the navigation data using the first communication format to the head unit via a short-range communication link. implementing on the portable device a navigation application programming interface, a navigation service application and a companion application; receiving, by the companion application, a navigation request including a destination from the head unit using a first communication format that is supported by the head unit; invoking, by the companion application, the navigation API, the companion application converting information contained in the request received from the head unit in the first communication format to a second communication format that is a communication format of the navigation API; using the navigation API to send a request to the navigation service application for navigation data for navigating a user between a source and the destination; sending, from the navigation service application, a request for the navigation data to a navigation server via a long-range communication link; receiving by the navigation service application the navigation data from the navigation server via the long-range communication link, wherein the navigation data describes a sequence of steps; receiving a plurality of next step requests from the companion application; providing, by the navigation service application, in response to each of the plurality of next step requests, a next one in the sequence of steps of the navigation data using the second communication format to the companion application; and sequentially transmitting, by the companion application, the next one in the sequence of steps of the navigation data using the first communication format to the head unit via a short-range communication link.