A computer-implemented method to dynamically size multiple application windows of a multi-application environment comprising: presenting in a multi-application environment on a display of a computing device: a first application window (438; 440) that is not touching any edges of the display in the multi - application environment and a second application window; receiving a first user-initiated input to move the first application window (438; 440) effective to snap the first application window (438; 440) into a predefined area of the multi-application environment, the first user-initiated input causing: the first application window to contact a plurality of adjacent edges of the display in the predefined area of the multi-application environment, and the first application window (438; 440) to expand to an adjacent edge of the second application window, while maintaining contact with the plurality of adjacent edges of the display; establishing, responsive to the first application window (438; 440) expanding to the adjacent edge of the second application window, a joint divider (1506; 1508; 1510; 1512; 1702) between the first application window (438; 440) and the second application window, the joint divider (1506; 1508; 1510; 1512; 1702) established along an entire length of an edge of the first application window and the adjacent edge of the second application window; and altering respective sizes of the first application window (438; 440) and the second application window simultaneously in response to a second user-initiated input received via the joint divider (1506; 1508; 1510; 1512; 1702). a first application window (438; 440) that is not touching any edges of the display in the multi - application environment and a second application window; receiving a first user-initiated input to move the first application window (438; 440) effective to snap the first application window (438; 440) into a predefined area of the multi-application environment, the first user-initiated input causing: the first application window to contact a plurality of adjacent edges of the display in the predefined area of the multi-application environment, and the first application window (438; 440) to expand to an adjacent edge of the second application window, while maintaining contact with the plurality of adjacent edges of the display; establishing, responsive to the first application window (438; 440) expanding to the adjacent edge of the second application window, a joint divider (1506; 1508; 1510; 1512; 1702) between the first application window (438; 440) and the second application window, the joint divider (1506; 1508; 1510; 1512; 1702) established along an entire length of an edge of the first application window and the adjacent edge of the second application window; and altering respective sizes of the first application window (438; 440) and the second application window simultaneously in response to a second user-initiated input received via the joint divider (1506; 1508; 1510; 1512; 1702). the first application window to contact a plurality of adjacent edges of the display in the predefined area of the multi-application environment, and the first application window (438; 440) to expand to an adjacent edge of the second application window, while maintaining contact with the plurality of adjacent edges of the display; establishing, responsive to the first application window (438; 440) expanding to the adjacent edge of the second application window, a joint divider (1506; 1508; 1510; 1512; 1702) between the first application window (438; 440) and the second application window, the joint divider (1506; 1508; 1510; 1512; 1702) established along an entire length of an edge of the first application window and the adjacent edge of the second application window; and altering respective sizes of the first application window (438; 440) and the second application window simultaneously in response to a second user-initiated input received via the joint divider (1506; 1508; 1510; 1512; 1702).