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 (API) , 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 (API) , 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. <EOS>