1. A computer-implemented method, comprising: creating, for a first workspace participant, a workspace identifier for a workspace, where an application container having a user interface can instantiate the workspace; receiving one or more applications to execute in the workspace and creating an application identifier for each application that refers to an application provider for the application, and where each application is configured to execute in the application container and where each executing application has a visual representation in the user interface; publishing the workspace as a shared workspace to enable collaboration among workspace participants; receiving a command from the first workspace participant to invite a second workspace participant to join the shared workspace, where the first workspace participant and the second workspace participant have access to at least a first application in the shared workspace; receiving a command from the second workspace participant to create a private view of the shared workspace, the private view viewable by at least the second workspace participant and not viewable by the first workspace participant, where the second workspace participant has access to the first application in the private view; receiving, after the private view is created, a command from the first workspace participant that removes the first application from the shared workspace; and removing, in response to receiving the command that removes the first application, the second workspace participant's access to the first application from the shared workspace and from the private view.