The Waning of the Overlapping Window Paradigm?
Bingo Foo asks: "The paradigm of movable, overlapping windows on the desktop has been around, and indeed dominant, for a long time. The original motivation for this was to mimic sheets of paper on a desktop. This is a useful metaphor, but may be a bit limiting given the capacity a computer has for automation of the layout and display of "desktop" objects. Lately, I have been pleased to see an increase in 'framing,' 'docking,' 'stacking,' and 'tabbing' being used, starting most conspicuously with frames in the web. More significantly, it has shown up as an application workspace paradigm that improved previously crappy MDI implementations in programs like Visual Studio and KDevelop. In my opinion, the most promising experimental application, even if still immature, is one of the neatest window managers around, ion. Does anyone else see a time when movable, tear-off docking and automated full-time tiling completely take over from the free-floating manually arranged desktops of today?"
Seems to me overlapping is needed in this day of 17" monitors. As soon as we have excess monitor space these paradigms will take over, but for now I need to be able to hide stuff on my monitor easily.
I posted to
but this falls into the "I want the computer doing what I say, not what it thinks I want." category.
I mean, it is a personal preference, but I don't want a system that refuses to arrange windows the way I want because "it knows what's best" for me.
So, my answer to your question is "no."
-Peter
In reality, it was very difficult to duplicate, because it did not yet exist. Atkinson (Apple) ended up creating the algorithims to do overlapping windows on his own. At some point he was in a car accident, and there was alot of concern, because at that point, he was the only one in the world that had the knowledge.
I think the key things that seperates GNOME, KDE, and CDE (and to a certain extent, OpenWindows and HP VUE) from the rest of the window managers is the concept of underlying services that facilitate communication between apps. In Windows, it's OLE (or COM or whatever they call it nowdays). In CDE, it's ToolTalk; in GNOME, it's CORBA (I don't know what it is in KDE).
You see this underlying communication in various ways: the most obvious is Drag-and-Drop between apps (or the desktop and apps). It also shows up in inter-app communication with documents (think Excel spreadsheet embeded in a Word Doc).
I'd almost consider WindowMaker an environment. It has most of the hooks that Enlightenment and Kwm have for their underlying services, and can work nicely in a GNOMEish or KDEish setup.
I think when people say "environment", they're referring to the whole shebang: backend libraries and daemons that provide Inter-app communication, a Window manager that uses those backend facilities, and apps that also are aware of the available functionality. Integration is the key here: all the parts need to be aware (and use) eachother, and not just be able to function next to eachother.
If you celebrate Xmas, befriend me (538
I certainly hope that this never comes to pass. Sometimes it's OK, like when Konsole allows you to have multiple shells in the same window and select them via tab-like buttons. But the GUI design of KDevelop and other apps like it is bad enough to ensure that I never use them. Why? Because I use a laptop for all my computing stuff, and the laptop only has a 800x600 display. I can't have all these tiled and paneled windows screwing up my workspace. When space is tight, it's nice to control exactly where you want your stuff to be displayed on the screen.
Steve
Back in the late '80s for a while I owned a small OS-9 computer (some of you will guess which one) which used to lay its windows out this way. As time went on and Windows and X became bigger items, I started to desire those "overlapping windows" and eventually moved to Linux in '93 or so to get them.
Now you're telling me that tiled, edge-to-edge windows are the wave of the future? I don't know. How about some sort of compromise which allows overlapping windows but doesn't "require" them to the same extent as today's desktops? I'm not sure I'd really like to do away with them altogether... sometimes you just run out of display space, and I'm not really interested in 45" of computer display.
STOP . AMERICA . NOW
That's one disappointing thing about today's GUIs, that there's no dialogue. The technology exists for the computer to, say, anticipate your next move, complete it ahead of time, and wait for you to tell it if it "done good" or not. For example, completing commands at a UNIX shell prompt is quite possible (in fact, it's been done before) and useful. One of these days (it's always "one of these days") I'm going to write a shell that does this.
Windows are a useful abstraction of display space and a useful way of dealing with user input. I wouldn't want to try to program a GUI without them. However, I'm not convinced that overlapping windows are not an unnecessary and cumbersome user interface element. I myself am an advocate of non-overlapping tiles as an efficient way for a user to manage his screen space.
Some say the web browser is the most popular GUI program. But the Web browser suffers from a whole host of problems. Just like the CD player programs that looks like the front of a CD-ROM driver, Web browsers only support plodding motion through the Web. The Forward/Back/Stop formula has got to go. A really slick Web browsing scheme that I saw at U. of Maryland, I think, provides a visual browsing history in the form of miniature views of past Web pages you've visited, with more recently visited pages still visible at about half the size of the page you're presently at, and pages visited very long ago appearing very small. I don't recall if the hyperlinks on the miniature pages could be activated, but I think that they *should* be, as that would make it really easy to move from one page to another if, say, you're at a Web directory of some sort.
Remember that the Xerox movable overlapping windows paradigm appeared at a time when tiled and framed paradigms were widespread (Symbolics, TI Explorer, a whole range of other systems) and quickly became universal because it worked better. It still does.
Sure, there are issues in navigating the stack of windows, particularly if you use desktops as cluttered as I tend to; sure, less sophisticated computer users may find these navigation problems difficult. But focus, visibility, prominence and accessibility are in the hands of the user, and that's where they belong
I'm old enough to remember when discussions on Slashdot were well informed.
The problem is with dumping moveable windows altogether is that you lose immediate manual control. For instance if you want a specific window in a certain place, under the current system you can just drag it over. With a framed/fixed approach this wouldn't be as easy. However a mix of the two would certainly be nice, and to a certain extent, this is what is happening: the taskbar in Windows and KDE for instance, dock-apps in Windowmaker & co., apps embedded into the KDE kicker and so forth. But moveable windows still have their advantages, and will probably be around for a while yet (at least until we get cool 3D desktops like we see in the movies!)
Start at the ground up. Get ahold of the source of a weak windowmanager like fvwm, that has all the basic guts you need to work from. Ask yourself what makes sense to you as a user, NOT what makes sense because you've seen the same thing in Windows. Give Linux its own look. Try to avoid imitating other platforms. Build it because it makes sense to build, not because "Windows has it". The sheer number of things that Windows has wrong with its UI would require a completely separate article to discuss them in detail. Think about how to represent things differently. Is there a better way to represent the same information? Do you really want an OS that resembles a browser? Think, ask, and move. Learn, modify, and repeat.
What if I want to put in a feature because it makes sense *AND* "Windows has it"? What kind of moral dilemma does that bring up? Refuse something sensible, because it's in Windows? Or implement an idea, and have people like you blast it because it's "copying"? Hmmm.... Really not sure which one I'd choose... Why not discuss those things "wrong" with the Windows UI then? Really - back it up - write an article - post a link to it here. I'd love to read it - because for as much as I think there are some screwy things with various versions of Windows, *every* Linux UI I've used has been worse by a huge margin, either in terms of speed, or refusal to have standard ways of doing things across all apps (copy/cut/paste/etc) or *UGLY* graphics and fonts. And I do mean ugly.
KDE and Gnome are both making strides in improving things, but each still have many improvements to make to be as usable as Windows is for everyday people doing everyday tasks. Some of it isn't their fault - building on X, for example, brings its own problems - but for goodness' sake, Windows is still, on the whole, more usable than pretty much every other effort out there.
creation science book
As for ion, it appears to be a restriction on user ability, rather than an increase of user ability. I can already align my windows such that they don't overlap if I desire.
But I already have the flexibility of using my graphical interface almost entirely without my mouse. I'm running Gnome and Sawfish, and I can setup multiple desktops, indexable with alt-F#. Then if I keep the number of windows on my screen down to a reasonable number, no more than 3 or 4 (which is what ion would be limited to anyway for reasonable space consumption), then I can tab between them almost instantly with alt-tab. Then I can access them all immediately without the mouse, and without sacrificing the size of my windows, because they can all be close to full screen. As for organizing by graphical tabs, that's what the tasklist in the gnome panel is for, which is always an option when one feels the urge to reach for the mouse to find a window.
Every application I use regularly on my computer has an associated Sawfish shortcut. Mozilla, gnome-terminal, xmms, etc... Even shortcuts for common functions can be created in Sawfish, such as a shortcut locking the screen, shortcuts for raising and lowering volume, shortcuts for playing cd's (all using console-based tools, and the ability to bind a key combination in sawfish to the launch of arbitrary programs), shortcuts for closing a window, and shortcuts for bringing up frequently accessed files.
Excluding web browsing and copy/paste, I could go an entire day without having to reach for the mouse.
It also has an advantage for desktop users because these heavyweight applications have the unique possibility of using paradigms different than windows for managing documents/tools reducing the window clutter on the desktop. E.g. in a PIM several related applications are presented in one window (where if needed the different components can often be opened in a seperate window anyway); in an IDE it is common to have a form editor, code editor, class browser, debugger all in one window.
But there are other approaches that can be taken. I've read dialog windows in MacOS X stick to their owner which is nice because it reduces the amount of windows you have to manage. X window managers could probably implement this feauture pretty easy.
But more can be done, e.g. it would be nice if there was a Nautilus-like panel on the right side of the screen in which things like music players, instant messengers, calendars, RDF-boxes, etc. could be embeded (these would be Bonobo components or KParts). An idea would be to model the panel after Nautilus' sidebar, only when hiding a tab the panel should disappear completely except for the tabs at the bottom of the screen.
In conclusion, it would be nice if the desktop environments started to work more towards reducing the number of open windows rather than taking the GLADE appraoch where there's a window for the menu and tool bars, a toolbox window, a property window and a window per form. (Yes, I know of workspaces but that ruins the advantage of windows even more.)
Monkey sense
I've been thinking about this for a while, nothing frustrates me more than having windows obscured behind something else, and having to either drag the front window out of the way, or else alt-tab through everything. In a lot of ways this is what first got me hooked on linux as a desktop replacement for windows, the well developed multiple desktops system. So I can hit a key combination and cycle from one desktop to another. One has my mail and IM open on it, the other one browsers, the next nothing but terminals, and then filemanagers/xmms.
A lot of application shave taken a better look at how they're actually used. Sometimes the UI is bad bad bad (StarOffice 5.2). Other times it's really appropriate, like the tabs in galeon which are great for organizing all the browsing into different windows based on subject (for those of us that like to have 20 pages open at once. Right clicking to open in a new tab is great for s site like slashdot, K5 or Adequacy, where there might be 7 or 8 links on the main page that i want to get to, but not forget if I get sidetracked.
When I first grasped mozilla's power as a platform I had the epiphany that since 90% of the apps I ran were network based and mozilla provided an API for creating spiffy looking network applications, it wouldn't be a stretch to do everything in tabs within one maximized window, and that it could eventually function as an OS for lightwieght computers. If you type chrome://messenger/content/messenger.xul in mozilla you can get the entire mail application dropped into your browser window. Press ctrl-T on a recent build and you have a new tab to browse in, but you can switch back to your mail real fast. Add Jabberzilla to your sidebar. Throw in a few more apps from MozDev.org and you can do most of what you'd want within a single window. It's in no way complete or stable, but it's enough to shed some light on a usable way to avoid the worst of window overlap. Apparantly there is a company that's working on using mozilla as an operating environment for appliances called OEone. You can check out the screenshots of their calender application here.
We already have a modern successful non overlapping interface, and it's called PalmOS. Just as it took a limited use platform to accept "modeing", probably not a lot of desktop users will be willing to give up the poer that free windowing gives them, but for appliances, or special uses, such as subject-centered web browsing. Things like tabbing and fullscreen interfaces are a good idea, and have already been implemented.
Metamuscle.com - News in the Iro
Why? Because it just isnt an improvement. Come up with a useful improved desktop environment that increases productivity by introducing 3d. Yes, it would be cool, but as long as it isnt *better* it is also *useless*.
I dont believe it can be done. Not until we have real 3d displays with 3d input devices and probably not even then.
Why? Because most of those working with computers are working with information. Information is almost always most efficiently conveyed via text, sometimes with added images. Text and images are 2d. You spend most of your time working with a 2d environment, in either case. So where is the gain in 3d? As an alternative way of navigating workspaces it's merely 'cool', but not even a navigational improvement over the pagers of multiple desktop spaces in most window managers, not to mention the problem that 3d spatial awareness isnt exactly something that most people find easy. I'm sure you or I could easily say at what exact position our wordprocessor is if we rotate the polyhedron a few steps around, but a lot of people dont find it a trivial task.
Actually, I do the same thing using fvwm, maximized windows, and a program I wrote - Xmerge, which merges two windows into one with two frames.
--The knowledge that you are an idiot, is what distinguishes you from one.
As Tog says, in one of the linked articles: "We programmers are not normal people. We tend to have superior memories, we actually grasp boolean logic, we have formed priesthoods around the most egregious interfaces, and we have a firm belief that the average citizen is in search of an editor for his daily C and Pascal coding tasks." He says this because he wants to make it clear that he's not talking about people like us.
This research applies to the casual computer user of the late 1980's. Completely non-standard (and really hideous) keyboard interfaces were compared to consistent mouse interfaces for people who had probably only recently touched a computer for the first time in their lives. By a company that was betting the farm on the mouse interface.
The one example I see (replace all '|'s with 'e's) is unrealistic and obviously biased toward the mouse, though he presents it as intentionally biased toward the keyboard. That was all I needed to see. This was an incompetent, biased researcher with a tendency to dramatically overgeneralize.
...for the same reason that Microsoft Windows is here to stay, and Intel, and MS Word, and any other number of products that aren't really the best at what they do but all share one key feature: a huge user base familiar and comfortable with them. Is an Ion-type interface better than conventional overlapping windows? Honestly, I have to agree with several other posters who've said it all boils down to personal preference - some people's work habits are more compatible with overlapping windows, and others with ion.
The thing is, the mainstream computer users - you know, the ones who their ISP is Internet Explorer? - are used to overlapping windows, just as they're used to working in Windows, and MS Word, and Internet Explorer. Most people either don't care about the advantage they'd gain with a new paradigm for windows management, don't understand them, are completely unwilling to learn a new system, or all three bundled as even more neuroses and whatnot than I can think of. I've lost track of the times I've left the family dual-boot BeOS/Win98 system running BeOS, and heard my mother complaining that she just could not figure out how to use it. Nor is she willing to learn - despite what we all know about the BeOS GUI, Windows is better because my mom is familiar with at, at least according to her.
Might we see ion-type window managers become more popular in GPLed OSes like Linux, BlueOS, etc? Eh, maybe, although there's still the personal preference angle even among the computer literate who could understand and learn to use the new system. Likewise, I could see a real change in the MDI schemes for specific applications. But I think the average desktop home user is going to be using some sort of conventional overlapping windows environment for a long time to come.
I'm the stranger...posting to
The ideal interface, in my opinion, would be to support nesting of window managers within other window managers and/or within applications. The biggest problem with MDI is that every MDI application basically acts as its own window manager. Usually this "embedded window manager" is a really crappy one, which turn people off to MDI in general, but there are exceptions; my preferred browser and text editor both use tabbed document windows to very good effect. It would be cool if we could tell applications what window manager instance (WMI) to use, so that the app can delegate window management to the WMI of the user's choice. Want SDI? Tell the app to plop its subwindows into the same WMI as the parent window. Want MDI? Tell the app to plop its subwindows into a WMI ("using *this* window manager, please") embedded within the parent window. You could use the same interface to switch between a Mac-style single menu bar and Windows-style per-window menu bars. All of this could go into a fairly simple config file, allowing users to choose whatever combinations of overlapping/tabbed, MDI/SDI, Mac/Windows styles - including hybrids and mixed modes - that they want.
Slashdot - News for Herds. Stuff that Splatters.
I recall this was the case. This was supposed to
avoid Apple patents by reverting to a Xerox look.
No one really bought Windows until version 3.1
and MS Office requiring it.
Two words: keyboard navigation. In the Windows world at least (yeah yeah, bite me), anyone who bothers to learn the relevant keystrokes and combos can whoop the pants off a mouser in basic, nuts-and-bolts text editing tasks like selecting ranges, cutting and pasting, applying attributes, etc. Why? It's not the amount of time it takes to reach for the mouse; that is as nothing against the amount of time it takes to orient hand/mouse to screen/pointer, navigate the pointer to the appropriate button by eye, and click. I type 100 wpm on a good day, and my fingers know exactly where to go at all times. The visual interface is fine, but (for me at least) it lacks the benefit of proprioception. When I use the mouse, I am forced to stare at the screen in order to be sure of the result of my mouse movements, whereas I always know exactly what my keystrokes are doing without having to look.
For example, in most Windows text editors, pressing Control-left-arrow moves back one word. Further, holding Shift while using any navigation key combo changes the navigation action to a select action. Therefore if, for example, I want to select the paragraph I am currently editing, all I have to do is press Control-Down (end of paragraph), Shift-Control-Up (Select to top of current paragraph), and it's done. Elapsed time, about a tenth of a second. A couple more keystrokes and I can cut or delete the paragraph, add formatting (B/U/I, justification, etc.), and so on. Compare that to the time it takes to lay your hand on the mouse, move the pointer to one end of the paragraph, click and drag to sweep out the paragraph by eye. No contest.
Heck, my typing speed wouldn't even be what it is if it weren't for keyboard shortcuts. As an instinctive touch-typist, I seldom miss a typo as I go along, and by now it's a perfect reflex when I notice I've just mistyped to press Control-Shift-Left and retype the word - elapsed time, maybe half a second; expended effort, negligible.
"The deep-fried Mars bar is a symptom of a wider crisis." -- Nutritionist Ann Ralph, on the Scottish diet
Since XFree86 supports multiple workspaces I find the fixation on overlapping windows quite silly at this point. Rather than flipping between windows, why not flip between workspaces and maximize or tile two windows per workspace. I mapped F4 to next-workspace and F3 previous-workspace and tile two xterms per workspace. In this way I can simultaniously edit 3-4 source files and build/run windows open all at once. I usually have one maxed xterm for watching debuggin output or exploring huge directories and another workspace for just Netscape. To switch between them is a matter of hitting F4 to shift to the right and F3 to shift back (at least this is trivial in WindowMaker; it has runtime game-style key mapping). Try it, you'll utilize much more surface area and as a result be more productive.
Apple's user interface improved on Smalltalk-80 by making it easier to learn (more user interface functions are represented by explicit graphical elements) and with its graphical design. But I have a hard time coming up with any area in which Apple improved on Smalltalk-80 in terms of functionality or usability for experienced users. Even today, I find the Smalltalk-80 interface better than what you get on the Macintosh. Furthermore, Smalltalk-80 came with a development and debugging environment that puts even the best C++ and Java environments available today to shame.
Like many other people who have been in the computer industry for more than two decades, we can't help but shake the feeling that innovation in software has basically stopped since the 1980's; most of the change that we have experienced has been to make things "bigger" and "faster", but very little seems to have gotten "better".
To all the people who are working on software like Gnome, Java, KDE, etc., my message is: do your homework first. Find and use some of the old user interfaces. There is way too much reinventing the wheel, mostly very poorly.
Okay, I just downloaded and installed Ion. While I appreciate its many keyboard shortcuts, I think the real power it possesses is the ability to all but eliminate unneccessary window-resizings.
Think about it. There are only two reasons people resize windows: (1) To focus on one particular task (window), or (2) to focus on more than one task/window, without eliminating the first focus. (The case where the user wants to switch between focuses or close the current focus in most windowing systems are handled by mechanisms like taskbars and close buttons. ). Most of the time users spend in 'focus adjustment' is simply futzing with the window borders in an attempt to maximize screen coverage while preventing overlap. Even 'timesaving' options like 'tile windows vertically' are usually wasteful, because, while they speed up the initial operation, the minute you attempt to make a small alteration to your focus (say, by making one window a little larger) you actually have to perform two or more tasks: Resizing the window under consideration and resizing its neighbours to concur with the new arrangement.
Since a framed-window system allows adjustment in a single motion, it saves time. (Although there are other window-management paradigms that acheive the same trick).
Personally, I really really like Ion -- I'm running it right now, and I have no intention of switching back to Oroborus any time soon (another very good window manager, IMO....)
- undoware.ca
If you mostly use terminal apps, try using "screen" as your primary switch-between-programs environment.
I always have the same app running at a particular screen number, so switching never takes more than a second. Editor? ^]0 and I'm there. Email? Mutt is running at ^]1. News? See slrn at ^]5.
I've been using this type of setup for a year now, and it's great! I almost never interact with my WM at all, and have disabled all window decoration.
An alternate subject for this might be "Another Xerox GUI idea rises from the dustbin". Dunno how old Cliff is, but around 1982 the original Xerox Star/8000 desktop forced users to tile their documents (B&W on a 1024x768 display, if I recall correctly). General user community reaction was "Bleah!". Some folks liked it a lot, many didn't. The next software release included the option of choosing betweeen tiled and overlapped windows. [OK, the idea might not have been Xerox's originally, but it's the oldest one I'm acquainted with] Personally, I like to choose between the two models, and frequently find myself using a hybrid, with some windows tiled (whether in an MDI or within the wm) and some overlapping. Additionally, as I grow older, I find that even with a 21" 1600x1200 display, I require larger fonts. There are times when the amount of information required simply will not fit on a forced tiled screen, unless I make the font smaller and put my face right up next to the display. But basically, it's the old light beer question. Some people want one, some people want the other. Some people want both. As a side note, I must say that window managers that force the active window to the top of the stack of overlapped must die! Or at least be rewritten. I like my windows to stay where I put them, thank you.
Racing is an addiction that makes heroin look like a vague hankering for something crunchy.
I never used to realize how constrained working with the desktop metaphor felt until I played with vtwm.
The big distinguishing feature of vtwm is how it implements virtual desktops. Unlike most virtual desktops in other UNIX window managers, this one can be of arbitrary size and you can scroll through it freely, instead of one chunk at a time.
I have vtwm set up so that the top 90% of the screen or so can be the "focused" area of the desktop, and the bottom 10% represents the entire virtual desktop, with boxes that represent where your windows are.
A blue box on the virtual desktop bar represents what the screen is currently focused on. You can either slide the blue box over to other windows, or pick windows up and move them into view.
You never feel cramped, and things like iconification are obviated. Simply move to a different part of the desktop if you need space. Also comes in very handy if you're at work and looking at porn and the boss comes by. Just click on the portion of the desktop that contains all of your busywork.
Here's a screenshot [if you see nothing but pitch black, scroll to the bottom right] to better illustrate my setup. The screen is right-center, and the gimp's toolbar is off further to the right off screen which is how I took the screenshot.
It's amazing how restricted I feel sitting at a windows box now, or with a window manager that doesn't support this. It's also great if you want to show how much of a badass you are, since with no windows open, the screen is entirely black, except for a thin white horizontal line at the bottom and a blue box beneath it.
I mean, if the real estate is there, don't overlap, tile.
If the realestate isn't there, overlap, but offset. That's what virtual desktops are for.
I find one thing.. and I'm not picking on OS's here... but in windows, I find window management a pain in the ass. I find myself using the taskbar to flip between windows more often than not.
On unix desktops, I tend to have several things side-by-side or neatly arranged so I can see the data I need, the way I need it.
I've never analyzed why.. but it always seems less intuitive, or downright harder to do in windows.
It's probably due to a combination of different focus mechanisms and the types of applications run.. and I realize windows can be tweaked to have similar, if not the same, focus mechanisms.. but still.
As a general observation.. I find the typical KDE desktop a lot easier and more intuitive to work with than a windows desktop.
Secondly... a few things about windows that piss me off (that generally, though not always, only happen in Windows).
one is the popup dialog box that steals focus from whatever you are doing. That's a nono.
Stealing focus from the app it's related to.. that's one thing... but from unrelated apps.. it's a nono. Second is when one dialog box pops up and I cannot move the underlying windows. THAT is a nono.. I should be able to move any window on the screen at any time, period. I should be able to hide it, peg it, minimise it, shade it, whatever the WM wants.
That's probably another reason I find X a bit easier to work with.