A computer-implemented method of predicting a destination of a user of a mobile device, comprising: selecting a plurality of geographic locations as a group of possible destinations (720, 730, 740, 750; 820, 830) based on a first location of the mobile device, wherein the plurality of geographic locations are within a predetermined distance of the first location; determining a route from the first location to each of the geographic locations of the group of possible destinations (720, 730, 740, 750; 820, 830) according to one or more route planning criteria and digital map data; displaying on a display device an indication of each of the geographic locations of the group of possible destinations (720, 730, 740, 750; 820, 830); updating the group of possible destinations based upon: (i) a second location of the mobile device; and (ii) a change in an attribute of a route between the second location and each geographic location of the group of possible destinations (720, 730, 740, 750; 820, 830), wherein the attribute is a journey time, wherein the updating comprises: removing one or more geographic locations from the group of possible destinations (720, 730, 740, 750; 820, 830) in response to the attribute indicating that the mobile device is travelling away from those geographic locations; and adding one or more geographic locations to the group of possible destinations (720, 730, 740, 750; 820, 830) based upon the second location of the mobile device, wherein the one or more added geographic locations are within a predetermined distance of the second location; and displaying on the display device an indication of each of the geographic locations of the updated group of possible destinations, characterised in that the removal of one or more geographic locations from the group of possible destinations is in response to the journey time exceeding a predetermined time from a lowest encountered journey duration. selecting a plurality of geographic locations as a group of possible destinations (720, 730, 740, 750; 820, 830) based on a first location of the mobile device, wherein the plurality of geographic locations are within a predetermined distance of the first location; determining a route from the first location to each of the geographic locations of the group of possible destinations (720, 730, 740, 750; 820, 830) according to one or more route planning criteria and digital map data; displaying on a display device an indication of each of the geographic locations of the group of possible destinations (720, 730, 740, 750; 820, 830); updating the group of possible destinations based upon: (i) a second location of the mobile device; and (ii) a change in an attribute of a route between the second location and each geographic location of the group of possible destinations (720, 730, 740, 750; 820, 830), wherein the attribute is a journey time, wherein the updating comprises: removing one or more geographic locations from the group of possible destinations (720, 730, 740, 750; 820, 830) in response to the attribute indicating that the mobile device is travelling away from those geographic locations; and adding one or more geographic locations to the group of possible destinations (720, 730, 740, 750; 820, 830) based upon the second location of the mobile device, wherein the one or more added geographic locations are within a predetermined distance of the second location; and displaying on the display device an indication of each of the geographic locations of the updated group of possible destinations, characterised in that the removal of one or more geographic locations from the group of possible destinations is in response to the journey time exceeding a predetermined time from a lowest encountered journey duration.