1. A system for sharing a user interface surface that is accessible simultaneously by multiple users through multiple respective sources, the system comprising: a processor; a memory coupled to the processor, the memory comprising: shared surface logic that: generates local canvases that are separate and distinct responsive to user interactions, including a first local canvas, a second local canvas, and a third local canvas, wherein the local canvases each comprise local canvas boundaries and a local canvas identifier; generates a first group canvas corresponding to at least the first and third local canvases, the at least first and third local canvases establishing a first set of local canvases, wherein the first set of local canvases are respective local representations of the first group canvas and the first group canvas is a shared surface representation of the first set of local canvases; and generates a second group canvas corresponding to at least the second and third local canvases, the at least second and third local canvases establishing a second set of local canvases, wherein the second set of local canvases are respective local representations of the second group canvas and the second group canvas is a shared surface representation of the second set of local canvases; and interaction detection logic that: detects multiple user interactions corresponding to the local canvases, wherein at least one of the detected multiple user interactions corresponds to an update to an object included in the third local canvas; based on detection of the update to the object included in the third local canvas, updates the object in the first group canvas and the object in the second group canvas to obtain an updated first group canvas and an updated second group canvas, respectively; updates the object in the first set of local canvases based on the updated first group canvas; and updates the object in the second set of local canvases based on the updated second group canvas.