Kinda interrupting here, but I really don't see the OP proposing anything new. Current GUIs already support full-screen work (maximize button much), cascaded and tiled windows and scrolling between them (by means of a taskbar or a keyboard shortcut).
In addition, they also support overlapping windows. I'd just like to remind people here that it's not about implementing something radical or different, but removing an aspect of what we perceive as a GUI.
Though preventing window overlap *does* reduce overhead in GUI programming, here are some things to consider:
- How would message boxes and applications with simple interfaces function optimally in variable desktop sizes? If you force an application or message box to expand to fill a variable screen, does it not sometimes damage the functionality or usability of that application? Though this could be solved by better design, applications that are inherently designed to be simple might struggle, and fill your screen with empty space.
- Furthermore, how would message boxes and alerts from the operating system or other applications work? Changing the focus to another virtual screen, resolving the message then having to scroll back to your previous application?
- Oh, and what about dialog boxes? Save as, open file, help, print, etc? Are you really planning on keeping each of these dialog boxes on their own virtual screens?
- Windows do (or did, at least) serve as some kind of abstraction in interface terms. Software such as GIMP and Visual Basic have or had traditionally use windows to abstract groups of functions and allowing the user to move them around the screen. If you didn't implement overlapping window functionality, aren't you forcing each and every application which wishes to use multiple "windows" on one screen to each create their own application-specific window system?
- And on a historical note, the Windows 1.0 GUI originally did not support overlapping windows. Due to
consumer demand however, they eventually implemented it in subsequent versions of the OS.
Yes, I know the trend has been towards program interfaces based on movable modules or "views", where toolbars and sidebars are moved around and docked into different areas of the screen. (See Photoshop, Eclipse, Visual Studio, etc.). But the limitation is that other programs cannot be simply integrated into these program-restricted interfaces. In a way, current windowing systems help expand that metaphor into the GUI as a whole. And contrary to what some people have said, even though YOU may not use overlapping windows, that does not mean that no one else does. I admit, I don't use the functionality that often, but people do find it easier to be able to move windows around on a desktop to their own liking, instead of being restricted into GUI defined screen tiles.
The purpose of overlapping windows was always to keep true to the desktop metaphor. Personally, I don't believe in purposefully limiting users and applications merely due to convenience in programming. But then again, it's up to you. Nothing has stopped anyone from implementing a window system that successfully implements tiling windows and overlapping windows, right?
Just stuff for everyone here to think about. Wikipedia also has an article on
tiling window systems, for anyone that's interested.