A computer-implemented method comprising: at a server: representing a binary large object including map data as a first data tree; representing a new version of the binary large object including updated map data as a second data tree; accessing a selection value, wherein the selection value defines a balance between small transmission time and small size of an update script with more edit commands, and larger update script transmission time and large size of the update script with fewer edit commands; identifying, a sequence of edit operations as a difference between the first data tree and the second data tree; generating, the update script, for transmission to a remote navigation device, the update script including the sequence of edit operations and map data, the sequence of edit operations listing a type of edit operation and an identification for a node in the first data tree, wherein an amount of time for executing the update script is proportionally related to the selection value and the size of the update script is inversely related to the selection value; and at the remote navigation device: applying the update script to a local version of the map data representing the first data tree to provide the new version of the binary large object. at a server: representing a binary large object including map data as a first data tree; representing a new version of the binary large object including updated map data as a second data tree; accessing a selection value, wherein the selection value defines a balance between small transmission time and small size of an update script with more edit commands, and larger update script transmission time and large size of the update script with fewer edit commands; identifying, a sequence of edit operations as a difference between the first data tree and the second data tree; generating, the update script, for transmission to a remote navigation device, the update script including the sequence of edit operations and map data, the sequence of edit operations listing a type of edit operation and an identification for a node in the first data tree, wherein an amount of time for executing the update script is proportionally related to the selection value and the size of the update script is inversely related to the selection value; and representing a binary large object including map data as a first data tree; representing a new version of the binary large object including updated map data as a second data tree; accessing a selection value, wherein the selection value defines a balance between small transmission time and small size of an update script with more edit commands, and larger update script transmission time and large size of the update script with fewer edit commands; identifying, a sequence of edit operations as a difference between the first data tree and the second data tree; generating, the update script, for transmission to a remote navigation device, the update script including the sequence of edit operations and map data, the sequence of edit operations listing a type of edit operation and an identification for a node in the first data tree, wherein an amount of time for executing the update script is proportionally related to the selection value and the size of the update script is inversely related to the selection value; and at the remote navigation device: applying the update script to a local version of the map data representing the first data tree to provide the new version of the binary large object.