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). <EOS>