A method of identifying road portions used by a plurality of users for at least one reason, the method comprising: receiving, at a server, from each of a plurality of different devices an indication of a path comprising a plurality of contiguous road portions; for each of said indications of a path received; identifying, by the server, based on characteristics of a user of that path, at least one reason from among a plurality of reasons why a device traveled that path, wherein the identified reason is one selected from the group consisting of rapid routes, scenic routes, routes that avoid freeways, and routes that avoid left-hand turns; and recording, by the server, a vote that indicates that each of a plurality of portions of that path was traveled for the reason identified, the method further comprising: identifying, by the server, a plurality of portions having a higher number of votes for at least one of the plurality of reasons than other portions; and providing, by the server, a path including the identified plurality of portions, wherein the provided path is provided to one or more devices associated with users who prefer paths for a reason that is the same as the reason for which the plurality of portions were identified as having a higher number of votes than other portions. receiving, at a server, from each of a plurality of different devices an indication of a path comprising a plurality of contiguous road portions; for each of said indications of a path received; identifying, by the server, based on characteristics of a user of that path, at least one reason from among a plurality of reasons why a device traveled that path, wherein the identified reason is one selected from the group consisting of rapid routes, scenic routes, routes that avoid freeways, and routes that avoid left-hand turns; and recording, by the server, a vote that indicates that each of a plurality of portions of that path was traveled for the reason identified, the method further comprising: identifying, by the server, a plurality of portions having a higher number of votes for at least one of the plurality of reasons than other portions; and providing, by the server, a path including the identified plurality of portions, wherein the provided path is provided to one or more devices associated with users who prefer paths for a reason that is the same as the reason for which the plurality of portions were identified as having a higher number of votes than other portions. identifying, by the server, based on characteristics of a user of that path, at least one reason from among a plurality of reasons why a device traveled that path, wherein the identified reason is one selected from the group consisting of rapid routes, scenic routes, routes that avoid freeways, and routes that avoid left-hand turns; and recording, by the server, a vote that indicates that each of a plurality of portions of that path was traveled for the reason identified, the method further comprising: identifying, by the server, a plurality of portions having a higher number of votes for at least one of the plurality of reasons than other portions; and providing, by the server, a path including the identified plurality of portions, wherein the provided path is provided to one or more devices associated with users who prefer paths for a reason that is the same as the reason for which the plurality of portions were identified as having a higher number of votes than other portions. identifying, by the server, a plurality of portions having a higher number of votes for at least one of the plurality of reasons than other portions; and providing, by the server, a path including the identified plurality of portions, wherein the provided path is provided to one or more devices associated with users who prefer paths for a reason that is the same as the reason for which the plurality of portions were identified as having a higher number of votes than other portions.