1. A method for integrated functionality across separate software applications executed on a user communications device, the method comprising: receiving, by the user communications device, input of a user request from a user in order to provide a response; determining, by a platform operating system executed by a processor on the user communications device, a first software application and a second software application both of which are independently designed to perform actions for the user request in order to provide the response, the first software application and the second software application both being on the user communications device; wherein the platform operating system provides for integration of the first software application and the second software application; wherein the first software application comprises a first functionality software component to perform the user request and comprises a first data source software component to provide data corresponding to the user request; wherein the second software application comprises a second functionality software component to perform the user request and comprises a second data source software component to provide the data corresponding to the user request; according to a user profile, selecting by the platform operating system on the user communications device, between the first functionality software component and the second functionality software component a selected functionality software component to perform the user request; according to the user profile, selecting by the platform operating system on the user communications device, between the first data source software component and the second data source software component a selected data source software component from which to provide the data corresponding to the user request; presenting the response to the user request as the integration of the selected functionality software component and the selected data source software component; wherein the platform operating system does not select both the selected functionality software component and the selected data source software component from a same software application.