Virtual assistants

An intelligent personal assistant is a mobile software agent that can perform tasks, or services, for an individual based on user input, location awareness, and the ability to access information from a variety of online sources (such as weather or traffic conditions, news, stock prices, user schedules, retail prices, etc.). 

An Intelligent automated assistant is a smart personal agent-type that can perform advanced tasks including schedule management (e.g., sending an alert to a dinner date that a user is running late due to traffic conditions, update schedules for both parties, and change the restaurant reservation time) and personal health management (e.g., monitoring caloric intake, heart rate and exercise regimen, then making recommendations for healthy choices).

Both types of intelligent personal assistant technology are enabled by the combination of mobile devicesapplication programming interfaces (APIs), and the proliferation of mobile applications. However, intelligent automated assistants are designed to perform specific, one-time tasks specified by user voice instructions, while smart personal agents perform ongoing tasks (e.g., schedule management) autonomously.