A method for file access with different file hosts, the method comprising: receiving at a broker module via one or more application programming interfaces APIs, a file access request from an application (112; 202) that identifies one or more file types an application desires for that file access request, the application being unaware of a data model used to access files by each of one or more file hosts the broker module acting as an intermediary between the application (112; 202) and the file hosts to locate files requested by the application (112; 202) and to provide those files back to the application (112; 202), the broker module invoking a picker module to configure a user interface such that a user may select files stored in the one or more file hosts, each of the one or more file hosts being registered for the picker module and providing the file types supported by the file host as part of the registration process; identifying, based on the file access request, one or more file types for the file access request; identifying, by the picker module one or more file hosts supporting files of the identified one or more file types; displaying, by the picker module, a user interface (206; 302; 402; 502; 602) including a hosted area in which at least one of the one or more file hosts displays a portion of the user interface identifying one or more files of the one or more file hosts that can be selected; receiving, at the picker, a user selection of one or more files of at least one of the one or more file hosts; providing, by the picker module, the one or more selected files to the broker module; and returning, by the broker module, the user selected one or more files to the application (112; 202). receiving at a broker module via one or more application programming interfaces APIs, a file access request from an application (112; 202) that identifies one or more file types an application desires for that file access request, the application being unaware of a data model used to access files by each of one or more file hosts the broker module acting as an intermediary between the application (112; 202) and the file hosts to locate files requested by the application (112; 202) and to provide those files back to the application (112; 202), the broker module invoking a picker module to configure a user interface such that a user may select files stored in the one or more file hosts, each of the one or more file hosts being registered for the picker module and providing the file types supported by the file host as part of the registration process; identifying, based on the file access request, one or more file types for the file access request; identifying, by the picker module one or more file hosts supporting files of the identified one or more file types; displaying, by the picker module, a user interface (206; 302; 402; 502; 602) including a hosted area in which at least one of the one or more file hosts displays a portion of the user interface identifying one or more files of the one or more file hosts that can be selected; receiving, at the picker, a user selection of one or more files of at least one of the one or more file hosts; providing, by the picker module, the one or more selected files to the broker module; and returning, by the broker module, the user selected one or more files to the application (112; 202).