A server computing device and related method for providing recommendations to a user computing device are disclosed. In one example, user activity of a user device and friend activity of a friend device are received. A request for a recommendation is received from the user device. Based at least in part on the current location of the friend device, a recommendation is sent to the user device including a recommended service offered at a service location within a threshold distance along the user device's direction of travel, the recommendation being displayed on a display associated with the user device.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A method, performed by at least one computing device, for providing recommendations to a user computing device, the method comprising: receiving user activity including at least a detected current location of and direction of travel of the user computing device; receiving friend activity of a friend using a friend computing device, the friend activity including at least a detected current location of the friend computing device; receiving from the user computing device a request for a recommendation for a target product or service; and based at least in part on the detected current location of the friend computing device, sending to the user computing device a recommendation including a recommended service that is offered at a service location within a threshold distance of a predetermined location along the direction of travel of the user computing device, wherein the recommendation is displayed on a display associated with the user computing device. 2. The method of claim 1, wherein the friend activity comprises a direction of travel of the friend computing device. 3. The method of claim 1, wherein the recommendation also is based at least in part on the detected current location and the direction of travel of the user computing device. 4. The method of claim 1, further comprising estimating an arrival time of the user computing device at the predetermined location. 5. The method of claim 1, further comprising: estimating an arrival time of the friend computing device at the predetermined location; and notifying the user computing device of the estimated arrival time of the friend computing device. 6. The method of claim 1, wherein the recommendation also is based at least in part on a routing requested by the user computing device via a map program. 7. The method of claim 1, wherein the recommendation further comprises a coupon for the recommended service. 8. The method of claim 1, further comprising: receiving from the user computing device one or more user recommendation preferences indicating product or service recommendations that the user would like to receive; and utilizing the one or more user recommendation preferences to determine the recommendation. 9. The method of claim 8, further comprising making an inference that a trigger condition for at least one of the one or more user recommendation preferences will arise, wherein the inference is based at least in part on the detected current location of the user. 10. The method of claim 9, wherein the trigger condition comprises a future location of the user. 11. A server computing device for providing recommendations to a user computing device, the server computing device comprising: a processor configured to: receive user activity including at least a detected current location of and direction of travel of the user computing device; receive friend activity of a friend using a friend computing device, the friend activity including at least a detected current location of the friend computing device; receive from the user computing device a request for a recommendation for a target product or service; and based at least in part on the detected current location of the friend computing device, send to the user computing device a recommendation including a recommended service that is offered at a service location within a threshold distance of a predetermined location along the direction of travel of the user computing device, wherein the recommendation is displayed on a display associated with the user computing device. 12. The server computing device of claim 11, wherein the friend activity comprises a direction of travel of the friend computing device. 13. The server computing device of claim 11, wherein the recommendation also is based at least in part on the detected current location and the direction of travel of the user computing device. 14. The server computing device of claim 11, wherein the processor is further configured to estimate an arrival time of the user computing device at the predetermined location. 15. The server computing device of claim 11, wherein the processor is further configured to: estimate an arrival time of the friend computing device at the predetermined location; and notify the user computing device of the estimated arrival time of the friend computing device. 16. The server computing device of claim 11, wherein the recommendation is further based at least in part on a routing requested by the user computing device via a map program. 17. The server computing device of claim 11, wherein the processor is further configured to: receive from the user computing device one or more user recommendation preferences indicating product or service recommendations that the user would like to receive; and utilize the one or more user recommendation preferences to determine the recommendation. 18. The server computing device of claim 17, wherein the processor is further configured to make an inference that a trigger condition for at least one of the one or more user recommendation preferences will arise, wherein the inference is based at least in part on the detected current location of the user. 19. The server computing device of claim 18, wherein the trigger condition comprises a future location of the user. 20. A method, performed by at least one computing device, for providing recommendations to a user computing device, the method comprising: receiving user activity including at least a detected current location of and direction of travel of the user computing device; receiving friend activity of a friend using a friend computing device, the friend activity including at least a detected current location of the friend computing device; receiving from the user computing device a request for a recommendation for a target product or service; and based at least in part on the detected current location of the friend computing device and a routing requested by the user computing device via a map program, sending to the user computing device a recommendation including a recommended service that is offered at a service location within a threshold distance of a predetermined location along the direction of travel of the user computing device, wherein the recommendation is displayed on a display associated with the user computing device.