User Interface
Ensemble's largest goal regarding its GUI resides in making collaboration and remote sessions a pervasive feature.
- Multiple input sources (whether they are keyboards, mice, tablets, etc) from potentially multiple locations should be natively supported.
- A user should be able to disconnect from a session and pick it back up in another remote location without explicitly logging out and logging in, thus losing session state
- A user should be able to share their session with another user, whether local or remote.
- A user can set up access control lists, listing users who can always have remote sharing abilities. This bypasses the step of a user having to manually specify who should be joined to their session.
A logical extension to this inherent sharing ability is to have graphical sessions that are not tied to a specific user, e.g. a graphical "conference room" session. Data files created under these sessions could be set to ask which user in the session should be set as the owner. These types of sessions are meant to be used as group collaborations. This is different than the inherent ability for a user to share their session with other users, where conceptually the user is asking the other users for assistance on a task, or other secondary role.