1. A method for integrated functionality across separate software applications executed on a smartphone, the method comprising: receiving, by the smartphone, 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 smartphone, 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 smartphone, the first and second software applications both being mobile applications configured for the smartphone; wherein the first software application and the second software application are both designed to perform a same action independent from one another, in which the same action independently results in the response requested b the user; wherein the platform operating system, residing on and executing on the smartphone, provides for integration of the first software application and the second software application; wherein the first software application, residing on and executing on the smartphone, 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, residing on and executing on the smartphone, 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 executing on the smartphone, between the first functionality software component of the first software application designed to perform the same action independent from the second software application and the second functionality software component of the second software application designed to perform the same action independent from the first software application a selected functionality software component to perform the user request; according to the user profile, selecting, by the platform operating system executing on the smartphone, between the first data source software component of the first software application designed to perform the same action independent from the second software application and the second data source software component of the second software application designed to perform the same action independent from the first software application 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, executing on the smartphone, does not select both the selected functionality software component and the selected data source software component from a same software application.