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
Once again, Apple is ahead of the curve... Look at their latest applications: iTunes, Disk Utility, System Preferences, iMovie, Final Cut Pro. They either use a single window for nearly all functionality (only bringing up new ones for things like Open and Preferences) or they take over the entire screen, a throwback to computing "modes" that the Mac was developed to avoid in the first place.
would be nice to have transparent windows that you could see thru with an easy way of increasing transparency and opacity as required.
That's the one thing keeping me from switching to Opera on my Windoze boxes: I can't stand not being able to get multiple windows up on my desktop. I feel like General Zod and company in that window pane prison in Superman.
It never really occurred to me, but I don't ever use "free" windows anymore. My windows are always maximized, and I use a combination of atl-tab and workspace shifting to navigate between them.
I used to have 4 xterms neatly arranged sharing an entire screen, but I haven't done that in a while.
I don't like apps that have framed views which are not easily hidden, such as msdev and kdeveloper. I much prefer an xemacs approach, where I can zap in and out frames as I see fit, with a quick keystroke. Perhaps you can do the same with msdev and kdeveloper, but I'm used to emacs.
Someone you trust is one of us.
Here's why the mainstays for Linux development have ground to a halt:
1) Nobody is willing to work on something, pouring hours upon hours of work into it, only to have someone working in Company X take their code, and make a living off of tweaking it. Suppose you're writing a windowmanager for Linux. In order for your windowmanager to succeed, it probably has to be GPL in order for it to really catch on. And if its GPL, surprise-surprise, there are employees of parasitic companies like VA Linux Systems who make a nice living playing with your code. No one in their right mind is going to do something for free, working side by side next to someone who is getting paid to do the same. By simple virtue of the fact that parasitic GPL companies exist, you're effectively letting someone else make the money off your work by making it GPL. This is why companies who capitalize on Linux software development are a (tm) Bad Thing, because they assert a choking influence over the entire community. It stops becoming an exercise in fun, and rapidly becomes an exercise in profiteering.
2) Nobody is willing to think about doing anything different, more useful, or more ergonomic right now. The main driving force driving Linux UI development is "lets make it look like Windows!" which is a horrendously bad move. Instead of giving Linux its own face, its own appeal, and its own distinct look, we're playing Poor-Man's Explorer with X11. Instead of putting our own talents to work, making something useful for us, we're playing second fiddle to a third rate design by copying it.
Now, rather than purely bitching, here's what you can do about it:
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.
If you celebrate Xmas, befriend me (538
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.
...mimic sheets of paper on a desktop
With sheets of paper on a desktop, you have to remove the top sheets to see the bottom one. With a computer you just click on the window that is "at the bottom" on the taskbar and it will appear.
ION looked nice at first, but I found that I need to do
side-by-side comparisons fairly often. If our screen
were 4096x3072, we could use the window manager's
functions to sort everything side-by-side..till then, I'll be
using overlapping windows for my development work.
For those of you who use Windows, Cristi Posea has written a nice window docking code. It allows you to dock objects inside ActiveX containers. Until recently there were some major flaws in the code. However, Greg Winkler has fixed them all with this. You may want to take a look at it: Docking CSizingControlBar objects inside ActiveX containers by Greg Winkler.
the byproduct of years of oppression by the white man
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
Seriously, after looking at the ion screen shots, I can't imaging that being terribly useful to me. I've found that enviroments like Window Maker are most suited to my work style, but I'm certainly willing to admit that maybe my workstyle has been influenced too much by the reigning paradigm in UI.
I'd think that having stuff auto-tiled for me would annoy me to no end, but I think I'll try out ion and see how it works. Maybe I'm wrong.
Then you get modes which support free layouts of sorts.
It's an interesting concept. And obviously some alternatives to "whatever goes whereever" are slowly being challenged to help us get things done.
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
The desktop-as-series-of-nested-frames may make creating desktop software easier and (for some people) allow easier navigation, but it largely suffers from the fact that all windows are not created equal. If I want a small clock visible in one corner of the screen, why should I be forced to divide the desktop into multiple frames when "always on top" allows the underlying application to run full screen?
It looks to me like ion was written by someone whose spent far too much time creating framed web sites and wants to bring the rest of the desktop down to that level.
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!)
For those of you using Windows, you can set up LiteStep to replace explorer and have it use Virtual Desktops. If you hate stacking windows, just spread 'em out. See LSD4P for the easiest install of LiteStep.
Why are we limited to a 2D environment? Games have used 3D heavily in the last several years. Why not bring 3D to the desktop? One way to do this would be to change the "look and feel" of the UI from a 2D window with sub-windows, to a polyhedron, such as a cube.
Each face of the polyhedron could display a separate application. The user would see all of the apps in perspective. To select a different app, you just click on it. During the task switching process, the user sees the polyhedron move into position. With a cube, you're pretty limited in how many faces you can view at once. If the polyhedron has 12 sides, however, each face would be hexagonal, and you could see more faces. With larger monitors, the wasted screen real estate is less important.
Or make the desktop the inside of a sphere. There is more than one possibility.
I am not a lawyer. Do not take my words as legal advice. If you need legal advice, consult an attorney.
I've been using Ion for about 6 months now. It has completly ruined me for other windowmanagers. Every time I end up in front of a stupid "normal" wm, i'm totally lost. It seen like I spend most of my time arranging windows on one of those instead of doing real work.
I think tabs and frames are a common interface now because of popularity in web interfaces and they've proven to be useful. Docking and stacking has always been rather useful. I don't want forced to have a 2D grid of windows though. I like it made easy to align windows to a grid and to other windows and like it when I can stick them together so if I move, open/close, etc one the others will follow. I also am really waiting for the day that KDE/Gnome stop chasing Windows and put some really useful features such as pie menus, cluster menus, and gesture support in rather than all the nasty pull down menus and icons. At least Mozilla is supporting these things so any Mozilla-based apps should be able to also.
At what price learning? At what cost wisdom? The price is a man's peace of mind, and the cost is his life.
No
(Had to be done.)
most people will want an os that is easy to use as possible. the less thinking they do, the better. people that read /. generally seem to have the ability to think for themselvs....unlike the moron who bought his computer at wal-mart. as long as the lowest common denomanator keeps getting lower, people will continue to like their UI the way it is. and as long as people are spending money, if its not broke, dont fix it.
"Alot of people don't know what they are doing...and most are pretty good at it." -George Carlin
Flamebait? This is the most insightful thing I've seen on slashdot in years.
There should be a moratorium on the use of the apostrophe.
Max V.
NeXTMail/MIME Mail welcome
I'm posting this is AC so it will likely never be seen, but I actually have no /. account (GASP!) and don't feel like creating one just for this post...
anyway, I've used ion for a month or so now and I think it is GREAT. Yes, partly because of the window arrangement issue. The normal paradigm, honestly, is retarded. But even moreso because it is designed for KEYBOARD users. I switch between windows and whatnot SO much faster now. I like GUIs, I like pictures on my monitor, etc, but I absolutely detest being forced to use a mouse. It's about time some people started realizing how inefficient a mouse is compared to a keyboard.
I'm actually thinking of developing an X toolkit designed to make it easy to develop apps that are both keyboard- and mouse- user friendly.. altho I've been reading up on xlib and it seems like a huge mess, so now I'm not so sure if I really want to do that.
I've always thought workspaces were the ideal way to manage multiple windows. When I'm browsing sometimes I use up to 8 workspaces. I doubt everyone will think the same, but I think that illustrates the point that if you have something automated, it's gonna be how the designer wants it to be, not you.
(in reply to another comment: I hardly ever maximise windows - I have never thought about why though and I now that I think about it, I still don't know. Preference again I guess.)
Nevrar
Microsoft's new Visual Studio.NET implements some, if not all of this. Windows can be either free floating, docking or added to a tabbed set.
.NET supports, but it isn't how I work with C/C++.
I've not used it much yet, so I don't know what layout I'll end up using.
At the moment it is set up the same as my VC 6 layout - workspace in the top left. Output/Build windows tabbed in the bottom right and the editor window taking up the entire right hand side - I like to see lots of code at once.
The default view was way too busy - for example it showed compilation errors twice - once in the standard compiler output window, and once in a new "tasks" window that allows you to tick off the errors once you've dealt with them. Maybe this is useful for one of the other languages
It would be nice if this flexiblity with floating/docking/tabbing was in the window manager instead of the application; although, to be honest, developer studio is the only application I use with a large number of internal windows. Most applications are much simpler - tending towards a single view on a single set of data.
---
http://slashdot.org/moderation.shtml
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
acme is the primary text editing / programmers tool on plan9 and inferno
It doesn't use overlapping windows but uses rows and columns for text areas. One can maximise to size of the column.
there are no dialog boxes, turns out you don't actually need them. File/directory interaction is just in place (click on a filename in the current directory and ti gets opened [very useful for opening include files etc.]).
this also works for running programs. middle click on the command anywhere in any window and it's stdout gets opened in a new window.
try it and you'll see how simple and innovative such an approach can be. These plan9 guys are really on to something.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
I think the Oberon development environment had the right idea. It was based on window panes rather than overlapping windowing.
I think it is easier to work with and more intuitive.
----- Whats wrong with this picture? http://www.revoh.org:1234/whatswrong
It is shameful and speaks volumes about the moderation system that the parent post has been moderated "flamebait". Take a moment to read the parent post and think about it. This IS a major problem for Gnome/KDE - the goal should not be to emulate Windows, the goal should be to EXCEED Windows.
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.
Forget the rodent and compute efficiently.
For a clean brain use Ratpoison
The closest I can get to that now is to use MS Windows and to maximize every window that I can. it's close enough and at least that way all of my pull down menus are in the same place even if they aren't right at the top where they should be because the title bar is in the way. The Mac puts the menus in the right place, but Mac apps are more obsessed with using lots of windows than MS Windows. I know I can maximize them, but at least with MS Windows, I can save that setting in the icon. Not all Mac apps remember the window settings.
If I can figure out how to make every app's window to maximize under KDE without having to explicitly push the maximize button, then I'd be more inclined to make the switch to Linux for all my work.
Prevent email address forgery. Publish SPF records for y
I once wrote a small rant about this on my site. Although I admit, it isn't very well done. :-P
:-)
Basically, I think that overlapping windows waste far more time than they save. It might be better if you could dedicate the entire screen to one task at a time. Perhaps providing a common tool bar across all views for things like the clock and MP3 player displays or whatever. Also that bar could be a common place to drag information when you need to switch between contexts. I don't know for sure how well this would work, but it seems a lot of things could be cleaned up about the user experience if we just got rid of overlapping stuff.
But maybe it's just me.
Hexy - a strategy game for iPhone/iPod Touch
Well, if you notice, in the Star Trek universe I don't see anybody woth a pointing device of any kind... "keyboard" console only... it would seem that at some point in the future somebody just makes the decision that were going with ion... we might as well give it a look!
-EclipsE
"The only source of knowledge is experience" -A. Einstein
Absolutely, ion looks like a feature call Tiling! MS Innovation at it's best, copied by ion! It must be a cold day in hell.
And as for overlapping windows, sure I use a full screen for coding in xemacs but you can take my overlapping xterms when you pry them from my cold dead hands.
Sawfish is GPL. It can be made to look like anything X can handle, with much less effort than it takes to write a new windowmanager. Sawfish can also manage windows by any policy you can dream up and write down in lisp, i.e. anything. And it's fast enough on anything less than, oh, perhaps 5 or 6 years old.
-------------------- the list is long. dirac angestung gesept
Absolutely. This is nothing new, it has been there all the time in EMACS!
http://joelonsoftware.com
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
...when you pry it from my cold, dead hands.
To do away with overlapping windows, use ratpoison and forget the rodent.
Ratpoison!!
Surprised no one else mentioned this, but if you're interested in windowing systems with no overlapping windows, have a look at PicoGUI. A really cool (IMO) little windowing system that is network transparent, and runs well on little resources. E.g., there's PicoLinux, a linux OS for a PDA called the Helio.
Working toward a usable PDA environment in the spirit of Newton OS: Dynapad
I didn't know Star Office was that old...
Ratpoison is another cool (kinda strange) window manager that has some of the same ideas.
I am very pleased with my new setup: old X-style focus-follows-the-mouse setup with all my big windows (Mozilla, Konsole) in shade mode. They de-shade themselves and come to the front on hover (after a short delay, of course). I keep EveryBuddy and KDE media player (with my .ogg playlist) over to the side so I have a partial view of them even when my bigger windows de-shade.
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
VA is making money? That's news to me.
Seriously though the GPL prevents companies from being truely parasitic. The GPL prevents said company from making changes and keeping them to themselves.
So what if they make money off the code? At least these companies have payed developers and contributed things like useabillity studdies and If (heven forbid) I actually wanted to go into the tech support buisness, they have no real advantage other than being previously established.
Contrast that to what happens without the GPL:
Some company takes the work done so far, improves on it and keeps the changes from the original developer and uses their improved version to make more money.
Personally, I improve things the way I want and send the changes to the proper maintainers. It's cool that some other people actually use my code but I'd rather not have to deal with the users.
The idea of non-overlapping windows reminds me of the Oberon OS interface. I like Oberon's clean look, and the interface is usable even on the old HP OmniBook 800CT's tiny screen. So it seems that Ion like WMs could work on a wide variety of monitors.
that paradigmatic whining is on the wane, yes.
you were saying?
-- LIVE FATS DIE YO GNU
take a look at Oberon. Wirth/Gutknecht had the same thoughts back in 1986, and i still think they were right. but still, a gui like that is not so easy to teach to the masses. looking at the all the messy blobbs and popps on a winXP or MacOSX screen, i think the trend is going the oposite way.
Enlightenment's the closest I've seen to the Amiga desktop. It's got the groovy screens you can drag down. I think they're supported natively in X or something but it's only e that i know of that uses em.
Anyone with Oberon experience out there?? It started out as a tiled windows system only, but now they've developed an overlapping windows desktop as well. Checkout the screenshots.
Their comment on tiled display is useful: The Gadgets desktop also has a tiled display mode with two vertical tracks. In this mode a newly opened viewer automatically covers half of the largest existing viewer in the track. This is ideal for text-based work, e.g., programming or text editing. Viewers can be resized vertically and moved, but they always use the full track width. Because there are fewer degrees of freedom, it is much quicker to arrange viewers optimally. newly opened viewer automatically covers half of the largest existing viewer in the track. BTW, windows are called viewers in Oberon.
Although Visual Studio has been traditionally MDI, Visual Studio.NET breaks away from this approach by defaulting to SDI with tabbed and docked documents. MDI functionality is still available by a checkbox.
of handling multiple windows.
Sorry to say that, but IMHO all X11/Linux WM are crap ! KDE and others are based on Windows, Bill Gates was even able to lobotomize imagination of Linux developpers, and other window managers are often either old, either they don't support basic services like drag&drop. Most of them are using virtual screens instead of better and more creative ideas... Well I'm quite dispointed. Even worse, the small standard utilities of KDE are so POOR : kpaint (sorry for the authors) only reminds me of MSPaint, so WHY THE HELL didn't you do something ELSE, better or worse,
:-(
;-))
but DIFFERENT THAN Windows ?
For now, I'm using Windows and KDE, but I really dislike them both. In 1993 the AmigaOS was really
great to use, logical, PREDICTABLE, and different.
A simple examples, as someone said, the menus
where always at the same place (like on the Mac)
for all programs. And this "Windows Menu", copied
in KDE (why???) is totally unusable, you never know where to click, and you always miss what
you wanted to click on
Well, I'm looking forward for something worthy to
Linux and the Unix communauty
The Price of Freedom is Eternal Vigilance.
Its funny how many times we hear that some new UI or like change in how an OS handles Windows and everything else, is going to change how we work or make using any OS easier. The keyboard was invented to make computer based input easier (remember punch cards), making it easier to quickly enter random information and such. The mouse followed intending to complement (and in some ways replace) the keyboard. The mouse made it easier in some ways for the vast majority of users to navigate past and current OS's. Of course ask any accountants, secretaries, and alot of programmers what they think about the current mouse based computing present in today's OS's... they would much rather type and tab.
Now we get into how windows are displayed/presented on-screen to the user. Some applications maintain a single interface (with the occassional prompt window), while others bombard the user with multiple windows (the biggest culprits being web browsers, but that is due to web page designers). The fact of the matter is that developers of applications and indeed OS's, need to truly consider which type of interface would be the most beneficial to the end-user. We, as developers, must also design our applications with keyboard and mouse users in mind, providing easy access to all functions for both. Ironically, Microsoft has some very good articles on MSDN concerning what they call "equal rights" for both types of users.
What is the best way to arrange and present windows to users? What are the best ways to allow "equal rights" for keyboard and mouse users? These are questions that we will continue to come up with new answers and solutions for. Part of the solution will be creating better user interfaces and interface analogies (while it seemed like the ideal solution, the Desktop and file cabinet approach doesn't seem to have worked for the average user), and by increasing research into voice technologies and alternative input devices. Maybe someday we'll all have panoramic plasma displays that can display a couple hundred windows at once, which all respond to voice and thought commands...(BR)
I've noticed that most people seem to do everything full-screen in Windows. I'm not sure if they find it easier to navigate. It might just be that their displays are too small (and here I am with a dual-head desktop of 1600x1200 and 1280x1024 ;-)
I've been using ion as my sole window manager for several months now, and can't imaging going back to a window manager that uses the desktop metaphor. Papers tend to get buried on my actual desktop, so it only makes sense that windows tend to get buried in window managers that treat windows as if they were pieces of paper.
In Ion, windows never get buried, and switching between windows is quite easy. Frames can be resized and windows can be moved between frames.
It's definitely worth checking out.
Anything worth doing is worth doing badly -- G.K. Chesterton
To me, this looks more like a console replacement than a windows manager. All this tty Ctrl-Alt-F button stuff could be sped up by using this, plus still maintain the power and speed that a command line is known for. Besides, I haven't had cluttered windows since the advent of multiple desktops (the best invention on the Linux Desktop ever).
-Sam
Neural Nets in Python
In a way this can be look on as a step backwards. It limits the user's freedom to arrange the windows. But I can also see how it's a step forward. It reverts to the KISS (keep it simple stupid) paradigm, and concevably, you can increase productivity w/ ion. You don't have to waste time moving your windows around.
I personally use pwm, ion's sister. It lets me stack all my terminals into one frame, and quickly cycle through them. I rarely have to switch virtual desktops anymore. But of course, with everything, it's just preference.
--Roy
Seriously. The best feature of AfterStep, my WM of choice, is a damn lot of workspaces with definable key bindings to switch between them. I usually keep 4 groups of 8 desktops each open: one group for terminals, one for web browsers, one for TIK and XMMS, and one for miscellaneous stuff. Getting around is as easy as glancing at the pager, then CTRL-arrow key and/or CTRL-SHIFT-arrow key
.
If you are really mouse-phobic, you can also define keys to move your cursor around. Combine this with auto-focus and you'll be surprised how little you'll use your mouse.
AfterStep is just amazing.
While this seems to work well in theory, one should note how simple the desktops in the screenshots are. Three of them have an image, emacs, and a shell. The ION model works well for 3 windows but I have 11 windows (emacs, galeon, evolution, XMMS, abiword, gaim, 2 shells, realplayer, 2 xchat, nautilus) open right now on 4 VDesktops.
Tabs work great unless you want to see two things at once.
This gigantic thread examines the "overlapping windows vs. alt-tab-mania" battle in some detail.
But the default configs do not show all options, and people believe the WMs can not. If you take the time to configure them, you can work all the time with keys only. I say this cos my Sawfish config is that way... now I need all X apps (emacs, vim and such do not count as X, as you can guess) to be keyboard friendly too for full effect. BTW, "all keys" rocks in a laptop, no more fights with the "mouse".
...just consider how many people have given up the QWERTY keyboard for the superior, more efficient Dvorak. It ain't gone happen anything soon. Thank gawd we finally got rid of the 5.25 floppy disk and today's floppies no longer flop.
I propose that I have found what they want. It came to me when I considered the Unix shell as it compared to a WIMP based equivalent. The problem is you can't ad hoc combine programs together using a WIMP as you can in a shell.
First off, in Unix, "Everything is a file."
Why not make window's into something like a file. That way it can be moved around and combined into other window's. You would mount a client to one and only one program and it would recieve errors,
requests, replies and events for any number of windows bellow it. Much more general.
Secondly, in Unix, you create little programs that can be chained together using system resources (such as pipes, etc.). These little programs do one thing and one thing only, but they do it very well. You then chain these programs together to perform whatever you want.
That is why you need a Windowing Kernel.
The interface between the networking of the clients and the devices it controls (mouse,
keyboard, etc.) would be in the hands of the windowing kernel. The window manager would control
the screen and root windows as well as any subwindows it owns through the windowing kernel.
I am designing this type of Windowing Kernel now but I am having a hell of a time trying to figure it all out, but it will be worth it in the end. No more bloated window programs. No more being locked in by the WIMP paradigm, long live Unix...
-- NPC
I used to use and old DOS editor called Brief, which had multiple windows, none overlapped (maybe VI and Emacs do the same thing). Moving between windows was done using ALT+cursor key, and ALT-F2 maximized or minimized the window. This was the most productive editing I've ever done. To the person who stated before reaching for the mouse slows you down, your right. If most work can be done with the keyboard, then occasional mouse work is slow. This is not just because of the physical action of moving your hand, but because the feedback loop of move cursor, eyes register cursor, then tells hand where to move on mouse. For instance, right now my mouse cursor is an I beam somewhere in this edit box, and since I haven't been using the mouse, I've forgotton where it is. So there is a delay as the cursor comes back into my view.
So far I've found the multiple desktops to be the best compromise, I can have multiple apps open full screen, and hot key between them. But I'm still downloading ION to see how it works.
I do find though that I seem to have less useful information on the screen using GUI's than I ever did on a DOS screen set to 50 lines.
ANdy
When I interned at Microsoft, one of the designers gave a talk about this. He said that part of why overlapping windows were originally used was that monitors had such low resolutions. With the advent of large, high-resolution monitors this has become less necessary. Hence OfficeXP containing a lot more "docked" palettes (e.g. Task Panes). This is definitely the direction of the future.
Hey, go the whole hog and find an easy way to send messages from one of the programs to another and bingo! the user suddenly can create his very own programs out of small components - the gui equivalent of the command line philosophy perhaps?
There were a few cool ideas in OpenDoc, but regrettably, they implemented it in C++.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
I agree that sawfish allows adequate window management control. You can phase out your mouse completely except copy (unless its a terminal app, in which case use 'screen'), and mozilla. Pasting in X can be done with -.
Here is my ~/.sawfish/custom keybindings. These include closing, moving, resizing, viewport switching, navigating through songs in xmms, etc. I'm sure many people out there have much more impressive keyboard control than this, please share. I made the lisp code a bit easier to read, it doesn't look this nicely in the config file.
(custom-set-keymap (quote global-keymap) (quote (keymap
(quote-event . "M-ESC")
(cycle-windows . "M-TAB")
(cycle-windows-backwards . "M-\\")
((run-shell-command "xmms --volume 5") . "M-=")
((run-shell-command "xmms --volume -5") . "M--")
((run-shell-command "xmms --rewone") . "F2")
((run-shell-command "xmms --rewrand") . "F3")
((run-shell-command "xmms --stop") . "F4")
((run-shell-command "xmms --play") . "F5")
((run-shell-command "xmms --pause") . "F6")
((run-shell-command "xmms --fwdrand") . "F7")
((run-shell-command "xmms --fwdone") . "F8")
((run-shell-command "xlock") . "F9")
((activate-viewport 1 1) . "M-1")
((activate-viewport 1 2) . "M-2")
((activate-viewport 1 3) . "M-3")
(pack-window-up . "M-Up")
(pack-window-down . "M-Down")
(pack-window-left . "M-Left")
(pack-window-right . "M-Right")
(move-window-up . "M-C-k")
(move-window-down . "M-C-j")
(move-window-left . "M-C-h")
(move-window-right . "M-C-l")
(move-viewport-up . "M-k")
(move-viewport-down . "M-j")
(move-viewport-left . "M-h")
(move-viewport-right . "M-l")
(slide-window-up . "M-K")
(slide-window-down . "M-J")
(slide-window-left . "M-H")
(slide-window-right . "M-L")
(grow-window-up . "S-M-Up")
(grow-window-down . "S-M-Down")
(grow-window-left . "S-M-Left")
(grow-window-right . "S-M-Right")
(gnome-logout . "M-C-End")
(xterm . "M-t")
(toggle-window-cycle-skip . "M-c")
(customize . "M-C")
(describe-key-to-screen . "M-d")
(delete-window-safely . "M-D")
(popup-window-menu . "M-m")
(toggle-window-shaded . "M-s")
(uniquify-window-name . "M-u")
(display-window . "M-w")
(popup-window-list . "M-W")
((run-shell-command "/home/c/bin/xmms-mvnow") . "S-M-DEL"))))
-- Who needs windows and gates in a world w/o walls and fences?
I've been using Ion for a few months now. Another reader said that Ion was a restriction in the user interface, since you can arrange windows in any conventional window manager so that they don't overlap. Of course this is true, but conventional window managers don't ensure that windows don't overlap either; managing overlapping windows takes a couple seconds, and this adds up over time. Anyway, you have to be pretty narrow-minded to insist that window managers must be evaluated on a linear scale, from "good" to "bad"; they all have their merits and demerits.
Personally, I like Ion, and that's why I'm still using it. I've been looking for a non-overlapping window manager for a while, and Ion is the one I've found which suits me best. It doesn't force me to use the keyboard exclusively (for example, I can still resize with the mouse); it supports tabbing, which I've found to be almost essential in the context of a non-overlapping manager.
The main problem is, I think, simply that most applications are written with the overlapping windows paradigm in mind. For example, they are written to be rendered in a window of a particular size; or they take a long time to re-render their contents when you change the ratio of window sizes (Netscape 4.7x in particular is serious culprit); or they create lots of dialogs (which is a bit ugly, since some dialogs do overlap in Ion, or they get expanded to the parent window size, with the effect that most of the space being wasted).
Still, I'm fairly happy with Ion. For the most part, it stays out of my way. And that is the best compliment you can pay to a user interface.
BH
Fools! They laughed at me at the Sorbonne...!
And while I'd dreaming, I want to be able afford this too!
I use a window manager with virtual desktops (FVWM2). On every desktop I have either lots of maximized Mozilla windows, or a couple of xterms to the left (mximized vertically) and one Emacs window to the right (also maximized vertically). I switch between desktops using the mouse, and between windows by pressing F2 (which rasies or lowers the topmost window under the mouse). This works well for switching to the right xterm or browser window. Focus is always on the topmost window under the mouse, of course.
This way I get all the advantages of a tabbed interface while still being able to use the window manager like an ordinary one when that would be useful.
My windows are borderless, but they have a titlebar. I use the titlebar or F1 for moving them around and button-3 on titlebar or F3 to resize. F5 maximizes the window.
6,031,537 "Method and apparatus for displaying a thought network form a thought's perspective" seems to be "all patent and no invention". 6,091,424 "Labeling graphical features of drawings" has some interesting ideas.
Docking and tiling of windows is the best way to piss away screen real estate. PERIOD. I have 1600x1200 on my screen, but though this is easily enough to place two files alongside each other in grand viewing/editing style, this terrible practice makes this impossible in VS.
Give me back NextSTEP, where roughly 1024x1024 pixels seemed like ACRES of screen space.
tone
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.
At last Windows 1.0 has been redeemed! If only we can get those great colors back.
Lars T.
To the guy who modded me down from perfect to terrible Karma - Apple haters still suck
One of the only reasons for this research is that I can see is that M$-Windows is so damned stupid as a window manager. The addition of a "lower" feature, as in Sawfish and Amiga Workbench makes the window-owns-the-desktop metaphor redundant. As I'm sure many others have pointed out, there are times when it is invaluable to be able to have the output of two, or more, different applications visible on the desktop at the same time. Compare the display of a web page by IE and Netscape 4 and 6 simultaneously, for example. You can line them up side-by-side-by-side or stacked one above the other (although M$-Windows makes it hard by always moving the selected browser to "front"). If each browser owned the desktop you'd have to have three monitors, and even then, it would be very hard to compare horizontal borders. Another way that I use this on Sawfish, since it allows me to focus a window and leave it "lowered", is to copy small bits of text, such as sample command lines from "man" pages, to a lowered xterm and run them there.
The Amiga has one of the best mechanisms for this type of issue: an application could open its windows on one the three "desktops", either the common desktop, as X-windows does now; on a private desktop, as M$-based games sometimes (often, perhaps, I only own a couple) do; on a named, shared desktop. The last allows easy sharing of clips between applications in a "family". Cycling between desktops (I've had as many as eight) uses a feature similar to alt-tab in that the "Amiga" keys (similar to the M$-Windows keys that M$ came up with later) were used to cycle through them.
I am short of time, but this is in my opinion the killer app (window manager app) waiting to be fleshed out.
.fvwm2rc, throw out nearly
I got on a window manager kick this week and tried ion, wm2, wmx, and about 8 more. I don't care for Gnome and KDE, call me a minimalist.
I really like w9wm, which is a version of 9wm with 4 desks. It's very clean, no icons, no title bars.
I am now using fvwm2. I took the stock system.fvwm2rc and threw out everthing that said 'icon' in it, threw out the title bars, and in short made it look like 9wm. The mouse wheel switches desks, there is a _small_ pager in the lower right corner, you can move a window from one desk to another in the pager with a mouse. I did not use pages, i.e. a larger virtual screen, because windows bleed through (overlap) from one page to another. With desks you can push a window partly off the side w/o interfering with the next desk.
Anyway, fvwm is _customizable_ and a good place to start to try out different window manager ideas.
Take the stock
everyting, and start from scratch. I love modifying this thing. If you use the style MinOverlapPlacement, you can pop up xterms tiled.
Aside: I have hated mice for years and preferred a trackball - until I got a Logitech Optical wheelmouse, the $29 one not the $19 one. Wow. Mice are more efficient for some tasks, the Happy Hacking keyboard for others.
Amen to that!
Remember not everyone thinks or works the same way. Not everyone performs the same tasks on their computer. Not everyone has the same size monitor. Not everyone can see for that matter.
People should stop telling everyone how they should use their computers and simply show them the alternative methods which may suit them.
I beleive this is the power of the *nix/X11/window manager combo - choice!
'Welcome to Rivendell, Mr. Anderson...'
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
They could rename it MS Panes (slashdotters will call that MS Pains).
Windows 1.0 did this, because they hadn't figured out how to do overlapping windows yet.
You forgot to close your tag. Great, now the whole page will be effected....oh wait, this is Slashdot... :-)
Todd, too.
He said don't add things just because they are in windows. Add things that make sense, regardless of if they're in Windows.
MacKiDo has a good series on U.I., with comparisons between Mac and Windows. It's kind of old, but most of it's still relevant.
This ion wm looks like it manages windows much as the venerable emacs has done for years. I'm already pretty happy with kde's auto-placement scheme, but if I could manage windows in kde the way I do in emacs, I'd be even happier (go ion!).
I do development in both the Linux (Forte/Java) and M$ Visual Studio worlds. There is nothing I despise more than docking windows. I always turn off docking where possible and I alwsys use SDI in Vi$ual $tudio. MDI drives me nuts. I can't stand tear off sheets either.
This is all visual candy that does not help me do my job any better, faster or more efficiently.
The interesting development may not just be that floating windows go away but also that hardly anybody even notices.
Miko O'Sullivan
The whole point of having big monitor is to view your work at full screen sizes. I didn't buy a 21" monitor just so I could have 5 documents viewable at the same time and lose my eyesight squinting in the process just to take in the info. My main hobby right now is painting skins for a racing game. When doing the art, I fill up the entire screen, and wish I had double the amount of screen space to work with. What's the pont of having 5 documents open, if you can't read them?
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.
A excerpt from this post in the thread, regarding the advantages of overlapping windows vs. keeping every window maximized:
Read on...
Couple of Star/Alto links for anybody interested. The Alto project started in the early seventies. The Star was a halfhearted commmercialization of this kewl technology, released in 1981.
Cute pix, good links; Star history; overview stuff; Links to Alto documentation, including Mesa and BCPL manuals etc.
PARC developed so much great stuff, especially in those days. I still think that Cedar and Mesa were fabulous.
-- We all have enough strength to endure the misfortunes of other people. La Rochefoucauld
*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
Worse? I haven't seen a Windows UI anywhere near what I can acheive on Linux. With Windows, I don't even have multiple desktops, virtual desktops or even snapping windows! Can you believe how crippled the Windows UI is? No, neither can I!
Did I happen to mention keybindings for things like close, maximise etc aren't even configurable on Windows, whereas it is a basic feature on Linux?
And I do mean ugly.
Let's let the readers judge for themselves:
Windows
Linux
Did I mention Windows doesn't even have snapping Windows? I can't get over that. But I suppose once you're used to Linux, you take such basic functionality for granted.
their code, and make a living off of tweaking it.
And the answer is - the SleepyCat License!
Does anybody who did time at Canegie Mellon remember when the Andrew Toolkit only supported tiled windows? From what I remember they were basically forced to add support for overlapping windows because of X Windows and the Macintosh.
It's really difficult to code GUI's that can be arbitrarily scaled, any many applications would often ask for more screen real estate when they were squeezed into a little tiny.
It was a nightmare...
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.
Don't like pressing ALT-TAB or minimizing windows? Try a taskbar.
Is this guy honestly claiming that somebody using
a mouse with Microsoft Notepad is going to be able
to work faster than me using emacs in a terminal
window? What a joke.
So I thought that windows should expire after some amount of disuse. They should _become_ something like bookmarks (searchable by metadata (title, keywords, URL, full text, etc.), and also organized in a timeline, and also organized in a graph of branching - which link did you follow to get there?) automatically.
On either a tiled or overlapping desktop, the constant is that being able to minimize or collapse windows to remove them from the screen is important. But on a tiled desktop it would be even more important than usual. And I think the GUI mechanism for selecting from all open windows (including minimized ones), which one to view, is very important. I've recently fallen in love with the KDE "external taskbar". I put it in the upper right, enable auto-hide, and now it's very Mac-like, and compliant with Fitts's Law - I can slam the mouse up into that corner and I get a nice list of open windows, organized by which desktop they're on, without regard to whether they are minimized or not. There is enough space to show more of the title bar than you get on a typical minimized icon in WindowMaker, or a on one of those taskbar buttons on Windows or Gnome, yet, it still doesn't take up a lot of real estate, and still has mini-icons too. I can manage many more windows effectively this way. And it's rather like a stack of books (an approach to organizing information which has been advocated elsewhere).
Anyway for many purposes I like the idea of a tiled desktop; especially for "reference materials" which I need to glance at, but not interact with quite as much. But I think the user needs a very straightforward choice when spawning a new window, whether to take up space in the tile matrix for it. Maybe something like click with middle-mouse button on a link, to open it in a new tile-space; and click with left-mouse to open it in the same space, in a new window lying on top of the old one. So each tile-space becomes a stack of windows. (And I'm imagining a GUI in which most navigation is a lot like navigating hyperlinks.) Of course, every time you must make room for a new tile-space, it's liable to cause most other windows to be resized; and controlling that is tricky. Using virtual desktops effectively can help with that. It needs to be easy to move windows from one desktop to another, _and_ place them into the desired tile-space, in one fell swoop, without a lot of mousing around, or thinking too hard.
Maybe there should be a window manager which gives you a choice for each desktop - tile or overlap. I would bet quite a lot of money that will be done by somebody in the next few years.
I didn't forget the ... I think there is a SlashCode bug here.
Any keyboard shortcut is going to be orders of magnitude quicker than moving your hand off of the keyboard, to the mouse, moving the mouse, cliking on the mouse button, and bringing your hand back to the keyboard.
(From tog...)It takes two seconds to decide upon which special-function key to press. Deciding among abstract symbols is a high-level cognitive function. Not only is this decision not boring, the user actually experiences amnesia! Real amnesia! The time-slice spent making the decision simply ceases to exist.
Amnesia? That entire article is pulled out of his ass. Two seconds? Um, it doesn't take me two seconds to remember to hit CTRL-C or ALT-TAB. Period. It is neither boring nor fascinating to choose a keyboard shortcut as the time taken approaches zero.
-acidboy
Then its a shame that you weren't paying attention when this was written.
Yup, either Ekrout is an alias of Bowie J. Poag (as another poster pointed out) or he is shamefully plagarising, and so the mods for once have done their job, although I'm sure some one else will mod me done for pointing this out.
And no one's mentioned ZUI yet ... the zoomable user interface that completely does away with windows.
What about pageup/pagedown to skip one screen (mouse equivalent: move over to scrollbar, find dragbox, position mouse above or below dragbox as required, click), and control+arrow keys to move one word/one paragraph at a time?
Admittedly on this point the mouse probably is faster, for someone with good hand/eye coordination. That was, of course, one of the major points of Tog's article: for copy/paste operations, the ideal method uses both keyboard shortcuts _and_ the mouse.
Holy cow - let's be disingenous, shall we?
First off Windows lets you select various "appearances" - comparing a stock Win 9x screen with a customized Linux desktop is not apples to apples.
RegEdit really isn't meant for most end users.
Windows still has consistancy over any Linux desktop - Alt-F does pretty much the same in every app. That's not the case in KDE, or Gnome, or anything else. Nearly every program I run under Linux has a different file browsing mechanism for opening files in an app. GIMP is different than KWord, for example.
Compare Windows95 with standard X - http://www.tapinternet.com/X.png. Now what looks better?
BTW, that non-repeating background looks just as stupid as the non-repeating "clouds" background in Win95 at resolutions higher than 640x480.
But I suppose once you're used to Linux, you take such basic functionality for granted.
I'll tell you what other basic functionality I take for granted - being able to copy something to a clipboard and paste it into other apps. ANY other app. OR - being able to highlight text and replace it with the clipboard contents. That seems to be an unheard of concept for many Linux users I talk to (one of them works here).
creation science book
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
I leave the cpp as an exercise for the reader...
// Must be non-overlapping at all times
class Region
{
public:
Region();
~Region();
void Clear();
void Copy(const Region *it);
void AddRect(const Rect *it);
void IntersectRect(const Rect *it);
void IntersectRgn(const Region *it);
void SubtractRect(const Rect *it);
void SubtractRgn(const Region *it);
void UnionRect(const Rect *it);
void UnionRgn(const Region *it);
void Tidy();
BOOL Empty() { return numrects == 0; }
BOOL Inside(int xpos, int ypos);
BOOL Intersects(const Rect *it);
public:
int numrects;
int maxrects;
Rect *rects;
};
Once upon a time I noticed that I always have too many windows open and spend too much time finding one of the many xterm's and netscape windows I open at the same time... The first solution for me when was when Powershell arrived, which was I think one of the first xterm apps to allow tabbed shells into a single window... Later kde's xterm started to support this as well (though I don't use KDE so I don't fancy getting the extra bloat that comes with it)...
Later I found ion's sister windowmanager called 'pwm' which does the same thing of all windows and can automatically stick windows from the same app into one single window... ie if you open a new Netscape window, you can have it automatically stick to all the other netscape windows you have opened... it only sucks with popup windows on sites as they will be opened at full size but then you never ask for them anyway...
tabbed windows are a great solution IMHO as I never found any quicker way to navigate the many windows I open at the same time...
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.
Check out Jazz It's not (yet) a top-level (wm replacement) but the concept of a zoomable interface has real potential for improving the management of many aspects of computing. Jazz
Tiling, panels, frames all screw up if the user is using non-standard font size. These features are a major nuisance to people like me with bad eyes and large fonts. Flush 'em. Let the browser render everything and respect the settings that the user uses. Don't try to do too much. Laying out one window competently is beyond the ability of 90% of programmers, who can't imagine what it's like to be over 50, trying to look at a 15" screen, colorblind, etc, etc. Trying to configure the entire window is insane. For anyone you can show me anyone who does a decent job of this, I can show you ten that make a mess of it. Why fight the odds?
Is it just me, or does it seem like the majority of the windows the screenshots for ion are terminal emulators? ion may be suitable for users who use terminal programs which don't need a lot of display for each of them or aren't 'updating', but for me, along with my 3 xterms I usually have 2 X irc clients, 2 Mozilla windows (2/5 of the display each), xemacs, xbuffy, and xconsole all running on one desktop (I use my other desktops for background tasks).
5 of those windows (2 IRC clients, an xterm, xbuffy, and xconsole) are what I consider to call 'background but updating' windows; I generally don't tab over to them untill I see them notify me of a change; currently I see change by overlapping them just enough to the point I can see updates.
And that's not even considering the three 'primary but static' windows I'd be working in (Mozilla, xemacs, and an xterm) which I want to be occupying the majority of the screen so that I can be reminded of the current context in each of them. What overlapping windows does is allow me to fine-grain how much of the Windows I want to see, and place them on the desktop in the arrangement I choose fit. I don't see cell-based ion doing that for me.
I recently started using the Galeon browser, and I really like it's ability to open new urls into a tabbed window and have the ability to move tabs (fairly) easily between windows. This feature has been slowly growing over the years in a few specialized apps (eg. powershell and screen).
It occurred to me that this would be an awesome feature for a window manager. While I personally use screen in an xterm all the time, it doesn't allow you to virtualize windowed apps. And it would reduce the unnecessary duplication of effort in each individual app.
God, I hope not. Whenever I have to use Visual Studio those bloody docking toolbars drive me crazy. And if I want my windows tiled I'll do it myself, thank you.
My opinion is that is you can't find the right window in your stack then you have too many windows open.
Bell Labs holds a key patent on the implementation of overlapping windows (I think they never tried to enforce it). Work at MIT also involved overlapping windows.
I feel as though I'm conversing with myself! IE didn't have a problem with my shameless-pimpage tags ...
The overlapping windows is just one of those things that *just plain works* in a "desktop" paradigm. If a familiar enough environment is created, the the user can come up with uses that the programmers probably never would have thought of. Someone earlier was mentioning overlapping logs to compare very specific bits of data. This can come more and more into play when dealing with multiple applications. Too lazy to pick out a color in some html code that you liked? Want to use it in Photoshop? Put the PS window over the Web Broswer and eyeball it. This, as I understand, is seen more in the Mac environment than in Windows (I dont use the Win too often, dont flame me if I get this wrong here...) But doesnt Windows (or the programmers for that matter ;-) put like a huge grey background behind all the Photoshop windows? And also I'm pretty sure all such windows have several pixel borders on them... But of course some of this is invalid since there isnt a released version of PS for OSX, but still. Also, the ability to organize windows independently of what application they belong too (unlike OS9)...
;-)
A lot of people may not like the OSX interface for some of its fancier bits (transparencies and such, which are becoming just as prevalent with XP and such) or some of its new strange functions (the dock) but the whole point of this is: create a really, really familiar metaphor and make sure to take it all the way - include all the little details. If you're going to pretend to have a "desk-top" things typically shouldn't have big borders or controls around them (not to mention coloring, thank God Apple included graphite in OSX...), or be limited in the order of the stacking. The more inconsistencies from the supposed metaphor that can be eliminated, the better. When something is consistent, if not with the entire metaphor, at least with itself... maybe just maybe the user will come up with uses unknown to you (especially between applications.)
Ok, youre all now cleared to pick away at any holes, inconsistencies or inaccuracies in my comment.
I used ion a little over a year ago and was impressed. I also love the tabbing in the closely related pwm window manager. The only issue I had with ion at the time was how dialogs are handled in that type of environment. Todays GUI apps are chock full of dialogs and it often times doesn't fit in well with the scheme ion used. If that could be handled differently I'd use it all the time. I think I'll go check it out now to see if they've made any progress.
With KDevelop, at least with recent versions, you have the option of using frames or tabs, or stupid GIMP-like windows (I think)
Anyway, my point is that you aren't forced to use frames...
User interface research is pseudo-scientific: it gives the appearance of being scientific, but it tells you almost nothing in most cases. When it does tell you something, it usually tells you something about the performance of "naive" user populations, because that's the kind of people a company like Apple is most interested in (once users are experienced, they are already stuck with a platform). It is very unfortunate that this kind of stuff gets published and that people then use it to make decisions.
I think this is really a matter of personal preference.
I don't want to say Microsoft is the "good guy", but at the same time, let's face it, they spent MILLIONS on usability testing. They continually do usability testing. For this reason, above any other, they dominate the desktop market.
I like KDE. It rocks, as Unix windowing environments go. Still, Microsoft is winning for one reason and one alone: Usability testing and usability satisfaction.
Sorry, but this post seems like a personal gripe against a usability feature that others have no problem with.
I guess I'm coming in a little late to be relevant, but ion seems to be frames plus docking menus. Fine, but it's been done before.
Take a look at http://www.squeak.com/ for desktops you will be discovering far into the future.
It wasn't just an n x m array. You could click on buttons to pop up or hide any view. Another button resized everything evenly. Graphs grew and shrank to fit their window. Everything had keyboard shortcuts. I was pretty proud of it.
So customers didn't like it. Go figure.
I agree. I use the same setup and I configured a few custom key combinations that speed things up tremendously. I've been customizing my desktop and key combinations for about 5 years now, starting with Afterstep, then WindowMaker, then Enlightenment and finaly Sawfish - easily the best window manager around in terms of customizability. (I know that's not a word, but you know what I mean...)
There are a few concepts that I've come to depend on over the years.
Here are some key combinations that work well for me. The [windows] keys is used to manipulate the windows which leaves the [ctrl] and [alt] to the apps.
The windows are maximised and stacked. I can cycle through them by lowering the the windows that is highest on the stack to the bottom with the W-Tab combination. To removed a windows from the stack I iconify it with the W-z key combination.
Most of my apps are maximised to the edges of the panels. I have a panel at the top of my screen running the task manager applet that acts like tabs for the windows. I have no use for tabs in applications such as Galeon or Gnome Term or Mozilla because the way I've got things setup, it's like using tabs but works with all my apps and uses less screen realestate the the tabified counterpart.
Rich
ayottesoftware.com
It's unfortunate that that paradigm hasn't caught on that much for independent graphical applications. I think the reason for that is that the Smalltalk paradigm of overlapping independent windows is very easy to implement, it's general, and it looks neat. Doing a good job at tiling window management is much harder. So, Macintosh, Windows, and X11 just followed the easy and flashy path.
Maybe it's just that I have a 17" rather than 21" or whatever you crazy people have, but overlapping windows always seem to me to be a pain in the ass. You can never see enough information in each window if it's not maximized. So I keep everything maximized, and switch between windows with tabs or hotkeys (either in X or on Windows). Occasionally I have a need to have two windows on the screen at once, but this is very rare. Usually it's faster to keep them both maximized and switch between them (for example, just hit alt-tab in windows repeatedly to switch back and forth).
10 PRINT CHR$(205.5+RND(1)); : GOTO 10
yes X is sparse
thats because X was like that before MS even had a product called windows let alone 95
HP had what became motif when windows 1 came out so comapre motif to what windows 1 can do and then you can talk to me about this
learn some history
regards
john jones
I know the history - the person I was replying to was comparing his current desktop against an apparently stock Windows 95, not MS' latest (currently XP). love it or hate it, XP has more intricate graphics than earlier versions.
For someone who wants to get into theming their desktop, yeah, there are options in linux. however, a stock redhat install with KDE is pretty bland - you have to do some work to theme it as you want it. Someone who's going to take the time to do that can do that with litestep as well under windows.
creation science book
In my experience, most Windows users no longer know that windows can be resized. They run all applications in full screen mode, and are helpless if they are confronted with window managers such as FVWM 1, and application windows pop up with the wrong size. So the Windows camp is mostly back at Windows 1.0, which lacked overlapping applications windows.
I've never understood the fuss about overlapping windows, or windows at all. For cut-and-paste using the mouse, it might be helpful to see two windows at the same time, and you might want to look at error messages while browsing the file that generated them. Same for reading documentation.
I've looked at new X window managers in the past which perform dynamic resizing of windows and other nifty stuff, but I never found them convincing because when an xterm containing a shell is resized to squelch it onto the screen, it's currently not possible to rewrap the shell output so that it remains readable.
That program was very innovative for the time. It might have looked a bit toyish and more like a game because of all the pretty graphics, but it was quite powerful, especially considering the platform.
Check out QPointer
These guys are working on a system to efficiently use the keyboard in place of the mouse. Looks interesting. They have a Win2k beta out so far.
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.
More significantly, it has shown up as an application workspace paradigm that improved previously crappy MDI implementations in programs like Visual Studio and KDevelop.
KDE, like Windows and MacOS, has user interface guidelines which strongly discourage MDI apps.
I'd post a snippet, but the Slashdot lameness filter is being...well, lame. Go to the URL above.
I'm backing this reader here. :)
never used ion, but my windows
are always tiled.
I am definately interested in
extending this paradigm down
into the apps themselves.
Yes, X is scary in the begining
but, i have been playing with a
funky python X library.
on top of which is built PLWM,
the pointless window manager,
like PWM and ion, i guess.
Somehow python makes X a lot less
formidable.
Well i'd like to see how possible it
is to build a toolkit on python-xlib...
I'm constantly "tiling/arranging" my workspace and have written/used various programs that'll remember the placement of my windows, so next time I open them it organizes it correctly.
For those complaining about small monitors. Ever hear of a Virtual Window Manager (and similar)? That should be second nature for most X users, and for Windows alt shell users.
But, yah... the current overlapping window standard has got to go. What I see in the SS of that ION WM seems to be my type of interface.
No-one is arguing that using the mouse is ALWAYS faster, period, and let's do away with the kb. This is the Real World, and specialization is at work. For some things, some paradigms are more appropriate, for others, others (ugh). Keyboards will probably not be replaced for bulk text entry for many, many decades (regardless of what voice recognition freaks will tell you).
OTOH, control input is far less clear-cut. For example, moving files around directories will almost always be much faster using a GUI than a keyboard. Initial context setup takes some overhead (bringing up the source and destination folders), but after that, dragging files around with the mouse will beat the fastest touch typist every time, especially for longer file names.
Then again, this paradigm is poor for pattern selection. Moving random files around this way is faster, but moving all files containing the letters SSL will invariably be faster on the CLI.
The ideal is an intelligent blend of both, taking advantage of the strengths of each paradigm. People that always argue entirely in favor of one or the other in my view have a chip on the shoulder.
Incidentally, a good example of mixed paradigms are the custom input devices used in some high-end CAD shops. They include analog manipulators for adjusting on-screen objects, custom macro keys for performing frequent operations with ONE keystroke, as well as keypads and on-screen CLIs or pop-up text entry boxes for input that is most efficient using that paradigm. Sure, those workstations definitely take a while to learn, but pay back with huge gains in productivity. We are starting to see meek attempts at custom input devices with all the various Internet/Office etc keyboards around, but I'd say we haven't even reached the foot of this particular mountain.
The very first version of Microsoft Windows did something similar. I found it awfully primitive, and I get the same feeling now.
When the first MS Windows came, at home I had an Amiga, a truly modern system, while at work the "professional" MS-DOS and later MS Windows seemed so fantastically primitive I found it quite amazing that anyone would want to use such archaeological curiosities for serious work.
The strange, tiled windows and some other things in MS Windows made me feel that it was so primitive that I just disregarded it as completely uninteresting. Thus I never really used that early version of MS Windows.
Back then Microsoft was small and on the side of the good guys. IBM was the huge ogre controlling the market and FUDing as much as it could. Some things have changed a lot since then.
But some things don't change. Technical excellence wasn't the market winner back then and still isn't today. *Sigh*
Give a man a fish, and you have fed him for one day. Give him a fish every day, and you can control him for a lifetime. -- MS Marketing Strategy Department.
Terrorists can't threaten a country's freedom and democracy. Only lawmakers and voters can do that.
I think those that are sceptical about doing away with this overlapping window method of presenting things on screen are so inclined because, no, we havent actually come up with anything usable that's better, basically becasue we're not really trying (and not because it's not out there). You just have to remember what the critics said about the Macintosh and the way it presented information, they slagged it to the ground, but its the basic way everything works today.
There was an indepth article on future user interface paradigms at www.thenakededge.net .
This sig has been deprecated.
I could do this:
Look
Move
Double-click
Look
Move
Double-click
Look
Move
Double-click.
Or, I could:
"M" (select Macintosh HD)
Apple-O (for Open, my hands never leave the keyboard)
"f" (selects "First Folder")
Apple-O
"s" (selects "second folder")
Apple-O
"t" (which selects "Thrid Folder"
Apple-O
For a third example, a *NIX-style command line would require I type /Macintosh HD/First Folder/Second Folder/Thrid Folder/ *enter*
cd
Whereas on the Mac, I simply type:
m(AO)f(AO)s(AO)t(AO)
8 keystrokes on the Mac, as opposed to 58 on the *NIX, and I don't even have to acknowledge it with an enter, I'm already there. Which is usually not a problem because since i know the keyboard, I don't have to watch it and can see the screen (I can correct mistakes as they happen with a quick Apple-W to close the window I mistakenly opened). If there is more than one item that begins with "F", it goes to the first choice alphabetically, and you just type a little more to get to the right one. If you want to (or sometimes need to), it's quicker to use the arrows to move to the icon you want (watch what you're doing, remember). Once you get used to it it's really goddamn quick, makes me glad I had a Nintendo growing up, good hand-eye :-).
Instead of a "cd ..*enter*" I can just hit Apple-W. Select a file or application and Apple-O launches it. Apple-Delete for send to Trash. Better then "rm -rf /path/to/doomed/file *enter*"
Now I'm not bashing a command line at all, obviously I like keyboards for input. But in terms of making a GUI efficient, it WILL increase speed, with practice.
Unfortunately the Mac's KDGUI (Keyboard Driven Graphical User Interface, heh) is far from complete. How do i switch windows (Apple + 0-9 would be nice...or something similar to the Windows Alt-Tab box)? How do i move items? Copy and paste aren't OS functions in Mac OS, ie we can't just copy files we have to drag them. I haven't even played with it in MacOS X but I'm told it's sorely lacking... More shortcuts make clutter, more innovative shortcuts streamline the GUI experience, and I definately think it's high time the major OSs start cracking down on GUI orginization, it'd be like a "command line with pictures" ;-)
This amongst other things, is an area where developers (yes, everyone) need to THINK about how to make their features work easily and quickly, dont' just add the bare minimum to "shut people up already".
CAn'T CompreHend SARcaSm?
(the original AC)
Thanks for pointing out that python X library I will take a look at it. I really don't know Python tho, just C, but from what I understand Python should be easy to pick up
There was a thread i was reading about keyboard shortcuts, thought this was posted undet that... well guess there wasn't a shortcut for that...
CAn'T CompreHend SARcaSm?
This paradigm fits perfectly with the use of a virtual desktop app. If you have X number of 17" monitors the size won't matter... *nudge*
You never have any trouble "hiding" your windows, you simply switch virtual destop.
I may be misunderstanding what you're asking for, but bash has been completing my commands for me for years. ^R, start typing, it autocompletes from ~/.bash_history
I use it for the vast majority of the commands I type.
MAcs with 2 monitors SUCK, the menus are ALWAYS on the PRIMARY monitor and that just plain is totaly crap.
There's already an Exceed client for Windows. Har har!
I think it would be interesting to have multiple window configurations based on whatever app is in front. Whenever you switched programs, your windows would automatically configure themselves to the last configuration you had when you were using that window. This way, it would be harder for windows to get stuck behind each other.
Just a thought
Hey, folks! (windows here doesn't mean MS Windows (tm)) I hate windows approach at all! And this is why: What do you do when you see window? Some task or process which usually floats smoothly inside with more or less your interaction. In the start of windows session you But I prefer the passive users' approach When I start session, I am provided with question and fillable forms about what I am planning to do, what resources do I have, how will I plan do use them and what I will have as a result. Then I want to be shown the exact programs and may be small screens with information about what is happening with my plan. And the result. It can fit on only one screen. This can be useful not only for me, but for many many lazy and passive users who can stick at a blue computer screen thinking "what to do next" and puzzled by a mesh of stacked windows... I need wizard-based OS! No windows! What do you think?
I like the conventional paradigm for seperate applications, but within applications I like support for both windowed and tabbed interfaces, but not managed from within the same app window unless it is tabbed. That way similar content is grouped together, and information can be layed out next to each other as needed. I would advocated either tiling windows or simply using maximized windows for tabbing, but then web pages and terminals and other application windows are all mixed up with no logical grouping whatsoever. Gnome panel and XPs taskbar at least, after a time, turns them into menus, but that isn't too much better. Tabbed web browsers (i.e. galeon) and multi-tabbed terminals are fantastic way to go :)
XML is like violence. If it doesn't solve the problem, use more.
The oberon GUI has tiled windows that you can grow or shrink. Although it's difficult to get used to, it's excellent. And makes the better use of the 3-button mouse I've ever seen.
...Tank has all those touch-monitors on the Matrix. It MUST be the wave of the future. :)
I've read a number of summaries by members of the Nielsen Norman Group, and am a regular reader of Jakob Nielsen's Usable IT web site. They often turn up valid points, and results that people initially find counter-intuitive. On the other hand, you have to be careful with usability studies. As with everything else in the scientific method, the results are only valid within the context they were obtained. Extrapolation to other circumstances is not valid.
In this case, for example, the articles date from around ten years ago. At that point, applications didn't have the same consistency of default user interface that they have today, nor the ability to for users to customise keyboard shortcuts, menus, toolbars and so on that is routine on Windows, MacOS, and so forth today. There have also been some improvements in mouse usability, such as a "shadow cursor" in editors that shows where the insertion point would go if the mouse were clicked, and wheel mice. It is unreasonable to assume that the same conclusions would apply today as ten years ago.
Moreover, look at the example situation presented. In a real editor, if I want to replace all of the '|'s in a paragraph with 'e's, I don't do it one-by-one. I select the paragraph, choose the search-and-replace command, put in '|' and 'e' and tell it to go. For the record, to do it by keyboard, I did the following.
- Ctrl-Up
- Shift-Ctrl-Down (paragraph now selected)
- Ctrl-H (replace)
- Type '|'
- Press Tab
- Type 'e'
- Alt-A (replace all)
With the mouse, I did the following.- Reach for mouse, position hand
- Move to middle of paragraph and triple-click (selects paragraph)
- Move to Edit menu and click
- Move to Replace option and click
- Move to input field and click
- Type '|'
- Move to output field and click
- Type 'e'
- Move to Replace All button and click
I just ran each procedure ten times (one right after the other), against a clock. The keyboard version took me an average of 2 seconds, the mouse just under 5.Note also that the above test used the most efficient interface for each case, as provided by default by my word processor without any UI customisation. In my experience, many rodent-loving users don't know about the triple-click to select a paragraph, though almost all keyboard-proficient users are aware of the Ctrl-H shortcut.
Now, I'm not arguing that the keyboard is always faster. For replacing one or two characters in a paragraph, I certainly do highlight with a mouse and overtype. For finding unfamiliar options on the menus or for scrolling text quickly, I use the mouse, too. But to claim that mousing is faster than keyboarding for general, everyday use is absurd, and contrived examples such as those presented don't strengthen the argument.
If you want more evidence, I suggest you go to Google and search for "mouse keyboard usability". Go past the articles on speech vs. mouse/keyboard interfaces and read the next twenty or so. The picture's pretty clear.
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
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
In frame-based keyboard-nav, the user spends just as much (if not more) time switching between overlapping keyboard-contexts as a regular user does in a WIMPS. Ever run emacs from within 'splitvt'? Ever run into the 'now I can just switch to that other frame with ^x-o.. wait, doh' scenario?
'regular' Windowing systems, IMO, are probably better at providing psychological cues as to the appropriate command context; the issue of 'proper context' fades almost to irrelevance if you're using the mouse exclusively, as there is *very* little variation in the fundamental idioms of GUI apps, even when using different windowing toolkits (would you like that button to be regular, radio, or checkboxed, sir?)
- 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.
Anyway, How do you make two windows appear at theie full size at the same time when they both need more than 50% of the screen? Answer: Either you overlap them, or you can't do it period.
I see the value of a window manager that LETS me easily arrange windows in a tiled fashion. I do not see the value in one that FORCES me to do it for every single window.
Don't label something "offtopic" unless you know the topic well enough to tell what's on topic.
I can see where you're coming from here, but why do we need to have either overlapping or docked rectangular zones anyway?
I personally much prefer docked things on my screen from amongst the current options. My first action when loading most apps/documents is to hit "maximise". Then again, I hate debugging in Visual Studio when I've got five or six of these darned things open. Even on a 1280x1024 monitor, I still only get about 1" square of source code visible by the time I've displayed everything else I need. That is obviously the exception rather than the rule, though.
On the other hand, I think we can do much better than this today. Why are windows still forced to be rectangular? Why do we need all the absurd window dressing? Just look at the amount of wasted screen real estate you've got displayed right now. Chances are you have some sort of docked toolbars at the top of your browser, and some wasted space associated with them, for example. Consequently, several UI research labs are currently toying with non-rectangular windows as a way forward. Look at the borders, scroll bars, menu bars, title bars, and other assorted rubbish littering your screen. That's really got to go.
I think these are the next steps. The major problems with overlapping windows will largely disappear along the way. When I can just have a nice, white area for typing my letter, and have other UI pop up in a context-sensitive way when I need it, without all the clutter, then we'll be making progress. (Yes, yes, I know there are alredy nice UIs in research labs that do this sort of stuff, and funky gesture-based UI to boot. I'm talking mainstream...)
If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
Everyone routinely gets to hit the wrong key. Closing a window is an action that definitely takes some thinking, and being able to see what you are doing on screen without having to double check on your keyboard is probably faster. Especially considering the ever changing layout of modern keyboards (really painful for who uses Borland-style cut & paste key combinations).
Also, normally GUI buttons allow to be clicked without performing the action until the mouse button is released. Something that gives that extra bit of reassuring feedback.
His description of the "MEMEX" foretold of today's personal computers, and accurately predicted many specific features of modern window managers, web browsers and multimedia authoring tools. In 1945, Vannevar Bush clearly and accurately envisioned many useful and practical techniques to "support the massive task of making more accessible our bewildering store of knowledge". Many of his visions have been implemented in modern applications, but what he wrote points the way to other useful information management techniques that remain to be implemented.
-Don
http://www.theatlantic.com/unbound/flashbks/comput er/bushf.htm
As We May Think
By Vannevar Bush
[...]
Science has provided the swiftest communication between individuals; it has provided a record of ideas and has enabled man to manipulate and to make extracts from that record so that knowledge evolves and endures throughout the life of a race rather than that of an individual.
There is a growing mountain of research. But there is increased evidence that we are being bogged down today as specialization extends. The investigator is staggered by the findings and conclusions of thousands of other workers -- conclusions which he cannot find time to grasp, much less to remember, as they appear. Yet specialization becomes increasingly necessary for progress, and the effort to bridge between disciplines is correspondingly superficial.
Professionally our methods of transmitting and reviewing the results of research are generations old and by now are totally inadequate for their purpose. If the aggregate time spent in writing scholarly works and in reading them could be evaluated, the ratio between these amounts of time might well be startling. Those who conscientiously attempt to keep abreast of current thought, even in restricted fields, by close and continuous reading might well shy away from an examination calculated to show how much of the previous month's efforts could be produced on call. Mendel's concept of the laws of genetics was lost to the world for a generation because his publication did not reach the few who were capable of grasping and extending it; and this sort of catastrophe is undoubtedly being repeated all about us, as truly significant attainments become lost in the mass of the inconsequential.
The difficulty seems to be, not so much that we publish unduly in view of the extent and variety of present day interests, but rather that publication has been extended far beyond our present ability to make real use of the record. The summation of human experience is being expanded at a prodigious rate, and the means we use for threading through the consequent maze to the momentarily important item is the same as was used in the days of square-rigged ships.
[...]
A new symbolism, probably positional, must apparently precede the reduction of mathematical transformations to machine processes. Then, on beyond the strict logic of the mathematician, lies the application of logic in everyday affairs. We may some day click off arguments on a machine with the same assurance that we now enter sales on a cash register. But the machine of logic will not look like a cash register, even of the streamlined model.
So much for the manipulation of ideas and their insertion into the record. Thus far we seem to be worse off than before -- for we can enormously extend the record; yet even in its present bulk we can hardly consult it. This is a much larger matter than merely the extraction of data for the purposes of scientific research; it involves the entire process by which man profits by his inheritance of acquired knowledge. The prime action of use is selection, and here we are halting indeed. There may be millions of fine thoughts, and the account of the experience on which they are based, all encased within stone walls of acceptable architectural form; but if the scholar can get at only one a week by diligent search, his syntheses are not likely to keep up with the current scene.
Selection, in this broad sense, is a stone adze in the hands of a cabinetmaker. Yet, in a narrow sense and in other areas, something has already been done mechanically on selection. The personnel officer of a factory drops a stack of a few thousand employee cards into a selecting machine, sets a code in accordance with an established convention, and produces in a short time a list of all employees who live in Trenton and know Spanish. Even such devices are much too slow when it comes, for example, to matching a set of fingerprints with one of five million on file. Selection devices of this sort will soon be speeded up from their present rate of reviewing data at a few hundred a minute. By the use of photocells and microfilm they will survey items at the rate of a thousand a second, and will print out duplicates of those selected.
This process, however, is simple selection: it proceeds by examining in turn every one of a large set of items, and by picking out those which have certain specified characteristics. There is another form of selection best illustrated by the automatic telephone exchange. You dial a number and the machine selects and connects just one of a million possible stations. It does not run over them all. It pays attention only to a class given by a first digit, then only to a subclass of this given by the second digit, and so on; and thus proceeds rapidly and almost unerringly to the selected station. It requires a few seconds to make the selection, although the process could be speeded up if increased speed were economically warranted. If necessary, it could be made extremely fast by substituting thermionic-tube switching for mechanical switching, so that the full selection could be made in one one-hundredth of a second. No one would wish to spend the money necessary to make this change in the telephone system, but the general idea is applicable elsewhere.
[...]
The real heart of the matter of selection, however, goes deeper than a lag in the adoption of mechanisms by libraries, or a lack of development of devices for their use. Our ineptitude in getting at the record is largely caused by the artificiality of systems of indexing. When data of any sort are placed in storage, they are filed alphabetically or numerically, and information is found (when it is) by tracing it down from subclass to subclass. It can be in only one place, unless duplicates are used; one has to have rules as to which path will locate it, and the rules are cumbersome. Having found one item, moreover, one has to emerge from the system and re-enter on a new path.
The human mind does not work that way. It operates by association. With one item in its grasp, it snaps instantly to the next that is suggested by the association of thoughts, in accordance with some intricate web of trails carried by the cells of the brain. It has other characteristics, of course; trails that are not frequently followed are prone to fade, items are not fully permanent, memory is transitory. Yet the speed of action, the intricacy of trails, the detail of mental pictures, is awe-inspiring beyond all else in nature.
Man cannot hope fully to duplicate this mental process artificially, but he certainly ought to be able to learn from it. In minor ways he may even improve, for his records have relative permanency. The first idea, however, to be drawn from the analogy concerns selection. Selection by association, rather than indexing, may yet be mechanized. One cannot hope thus to equal the speed and flexibility with which the mind follows an associative trail, but it should be possible to beat the mind decisively in regard to the permanence and clarity of the items resurrected from storage.
Consider a future device for individual use, which is a sort of mechanized private file and library. It needs a name, and, to coin one at random, "memex" will do. A memex is a device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility. It is an enlarged intimate supplement to his memory.
It consists of a desk, and while it can presumably be operated from a distance, it is primarily the piece of furniture at which he works. On the top are slanting translucent screens, on which material can be projected for convenient reading. There is a keyboard, and sets of buttons and levers. Otherwise it looks like an ordinary desk.
In one end is the stored material. The matter of bulk is well taken care of by improved microfilm. Only a small part of the interior of the memex is devoted to storage, the rest to mechanism. Yet if the user inserted 5000 pages of material a day it would take him hundreds of years to fill the repository, so he can be profligate and enter material freely.
Most of the memex contents are purchased on microfilm ready for insertion. Books of all sorts, pictures, current periodicals, newspapers, are thus obtained and dropped into place. Business correspondence takes the same path. And there is provision for direct entry. On the top of the memex is a transparent platen. On this are placed longhand notes, photographs, memoranda, all sorts of things. When one is in place, the depression of a lever causes it to be photographed onto the next blank space in a section of the memex film, dry photography being employed.
There is, of course, provision for consultation of the record by the usual scheme of indexing. If the user wishes to consult a certain book, he taps its code on the keyboard, and the title page of the book promptly appears before him, projected onto one of his viewing positions. Frequently-used codes are mnemonic, so that he seldom consults his code book; but when he does, a single tap of a key projects it for his use. Moreover, he has supplemental levers. On deflecting one of these levers to the right he runs through the book before him, each page in turn being projected at a speed which just allows a recognizing glance at each. If he deflects it further to the right, he steps through the book 10 pages at a time; still further at 100 pages at a time. Deflection to the left gives him the same control backwards.
A special button transfers him immediately to the first page of the index. Any given book of his library can thus be called up and consulted with far greater facility than if it were taken from a shelf. As he has several projection positions, he can leave one item in position while he calls up another. He can add marginal notes and comments, taking advantage of one possible type of dry photography, and it could even be arranged so that he can do this by a stylus scheme, such as is now employed in the telautograph seen in railroad waiting rooms, just as though he had the physical page before him.
All this is conventional, except for the projection forward of present-day mechanisms and gadgetry. It affords an immediate step, however, to associative indexing, the basic idea of which is a provision whereby any item may be caused at will to select immediately and automatically another. This is the essential feature of the memex. The process of tying two items together is the important thing.
When the user is building a trail, he names it, inserts the name in his code book, and taps it out on his keyboard. Before him are the two items to be joined, projected onto adjacent viewing positions. At the bottom of each there are a number of blank code spaces, and a pointer is set to indicate one of these on each item. The user taps a single key, and the items are permanently joined. In each code space appears the code word. Out of view, but also in the code space, is inserted a set of dots for photocell viewing; and on each item these dots by their positions designate the index number of the other item.
Thereafter, at any time, when one of these items is in view, the other can be instantly recalled merely by tapping a button below the corresponding code space. Moreover, when numerous items have been thus joined together to form a trail, they can be reviewed in turn, rapidly or slowly, by deflecting a lever like that used for turning the pages of a book. It is exactly as though the physical items had been gathered together from widely separated sources and bound together to form a new book. It is more than this, for any item can be joined into numerous trails.
The owner of the memex, let us say, is interested in the origin and properties of the bow and arrow. Specifically he is studying why the short Turkish bow was apparently superior to the English long bow in the skirmishes of the Crusades. He has dozens of possibly pertinent books and articles in his memex. First he runs through an encyclopedia, finds an interesting but sketchy article, leaves it projected. Next, in a history, he finds another pertinent item, and ties the two together. Thus he goes, building a trail of many items. Occasionally he inserts a comment of his own, either linking it into the main trail or joining it by a side trail to a particular item. When it becomes evident that the elastic properties of available materials had a great deal to do with the bow, he branches off on a side trail which takes him through textbooks on elasticity and tables of physical constants. He inserts a page of longhand analysis of his own. Thus he builds a trail of his interest through the maze of materials available to him.
And his trails do not fade. Several years later, his talk with a friend turns to the queer ways in which a people resist innovations, even of vital interest. He has an example, in the fact that the outraged Europeans still failed to adopt the Turkish bow. In fact he has a trail on it. A touch brings up the code book. Tapping a few keys projects the head of the trail. A lever runs through it at will, stopping at interesting items, going off on side excursions. It is an interesting trail, pertinent to the discussion. So he sets a reproducer in action, photographs the whole trail out, and passes it to his friend for insertion in his own memex, there to be linked into the more general trail.
Wholly new forms of encyclopedias will appear, ready made with a mesh of associative trails running through them, ready to be dropped into the memex and there amplified. The lawyer has at his touch the associated opinions and decisions of his whole experience, and of the experience of friends and authorities. The patent attorney has on call the millions of issued patents, with familiar trails to every point of his client's interest. The physician, puzzled by a patient's reactions, strikes the trail established in studying an earlier similar case, and runs rapidly through analogous case histories, with side references to the classics for the pertinent anatomy and histology. The chemist, struggling with the synthesis of an organic compound, has all the chemical literature before him in his laboratory, with trails following the analogies of compounds, and side trails to their physical and chemical behavior.
The historian, with a vast chronological account of a people, parallels it with a skip trail which stops only on the salient items, and can follow at any time contemporary trails which lead him all over civilization at a particular epoch. There is a new profession of trail blazers, those who find delight in the task of establishing useful trails through the enormous mass of the common record. The inheritance from the master becomes, not only his additions to the world's record, but for his disciples the entire scaffolding by which they were erected.
Thus science may implement the ways in which man produces, stores, and consults the record of the race. It might be striking to outline the instrumentalities of the future more spectacularly, rather than to stick closely to methods and elements now known and undergoing rapid development, as has been done here. Technical difficulties of all sorts have been ignored, certainly, but also ignored are means as yet unknown which may come any day to accelerate technical progress as violently as did the advent of the thermionic tube. In order that the picture may not be too commonplace, by reason of sticking to present-day patterns, it may be well to mention one such possibility, not to prophesy but merely to suggest, for prophecy based on extension of the known has substance, while prophecy founded on the unknown is only a doubly involved guess.
[...]
In the outside world, all forms of intelligence whether of sound or sight, have been reduced to the form of varying currents in an electric circuit in order that they may be transmitted. Inside the human frame exactly the same sort of process occurs. Must we always transform to mechanical movements in order to proceed from one electrical phenomenon to another? It is a suggestive thought, but it hardly warrants prediction without losing touch with reality and immediateness.
Presumably man's spirit should be elevated if he can better review his shady past and analyze more completely and objectively his present problems. He has built a civilization so complex that he needs to mechanize his records more fully if he is to push his experiment to its logical conclusion and not merely become bogged down part way there by overtaxing his limited memory. His excursions may be more enjoyable if he can reacquire the privilege of forgetting the manifold things he does not need to have immediately at hand, with some assurance that he can find them again if they prove important.
The applications of science have built man a well-supplied house, and are teaching him to live healthily therein. They have enabled him to throw masses of people against one another with cruel weapons. They may yet allow him truly to encompass the great record and to grow in the wisdom of race experience. He may perish in conflict before he learns to wield that record for his true good. Yet, in the application of science to the needs and desires of man, it would seem to be a singularly unfortunate stage at which to terminate the process, or to lose hope as to the outcome.
Copyright © 1945 by Vannevar Bush. All rights reserved.t er/bushf.htm
The Atlantic Monthly; July, 1945; As We May Think; Volume 176, No. 1; pages 101-108.
http://www.theatlantic.com/unbound/flashbks/compu
Take a look and feel free: http://www.PieMenu.com
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.
Also: In FVWM2 I have mapped SHIFT + arrow keys to move the cursor L/R. & Up/Down by small amount which lets me switch windows without reaching for the mouse. (CTRL + Arrows = switch desktops)
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.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
Siemens RTL Tiled Window Manager. It was distinguished by tiling windows, rather than allowing them to overlap. Appeared in X11R3/contrib.
I started to work at Siemens RTL (Research and Technology Laboratories) in Princeton just after the rtl manager was produced. You know, not even the developers used it! Tiled windows are not really that compelling. I don't know why you think so.
...overlapping browser windows. I run my desktop at 1024 x 1024. I find that narrow columns of text are easier to read than wide columns of text. Reading web content with maximized browser windows would make me look like I was watching a tennis match.
are key organizational features of both CDE and WindowMaker. WindowMaker and CDE let you create desktops which you can name and bind applications to. You can also duplicate applications across multiple desktops, or every desktop. Windowmaker goes one step further and allows each desktop to be a virtual desktop (scroll around within each one). And windowmaker has that cool little icon you can "flick" between screens with, very neat.
Black holes are where the Matrix raised SIGFPE
First, the top of the screen will seriously mess up focus follows mouse. Second, pull-down menus will always be crap for efficency and top of the screen is generally going to be a pull-down.
Also, what level of experence was the article talking about. This critical piece of information seems suspiciously absent from the article. I think we know that an inexperenced user of a piece of software will find menus much more efficent, but very experenced use will find short-cuts more efficent (assuming the program is text oriented).
It is essentually inconcievable that a person who has used a keyboard short-cut 1000 times (long enough to learn it) could accomplish something quicker by removing their hand from the keyboard, place their hand on the mouse, selecting two distinct menu items (ala pull-down), and finally replacing their hand on the keyboard.. it's obsurd. Clearly, this situation could be reverse if the person was using a drawing program wich had all importent fuction out in the open (not it pull-downs), ala the Gimp.
Personally, I think you should just axe the pull-downs and click on the background to have a menu appear near your mouse. Placing menus on the top of the screen only solves the vertical position problem, but dose little for the horizontal, plus you have all the difficulty of "hitting the target" when you return your mouse to the application window afterwards.
Also, when the commands excede a serton level of complexity (i.e. use dialogs) then you should probably be interacting with them on a text based level, i.e. have a little mini-shellish programable subwindow, ala Autocad, Norton Commander, or Konqueror (execpt Konqueror's shell window is just bash, so you can not use it to browse the web). I mean lets face it when you have a dialog you probably have enough complexity that some users will want to script things.
Actually, one of the coolest ideas I have seen was to restrict the mouse to *only* cutting and pasting and then make the cutting and pasting efficent enough to simulate menus. The idea was the cutting and pasting is most of mouse use, so make it good at doing that one thing.
The Christian religion has been and still is the principal enemy of moral progress in the world. -- Bertrand Russell
I like the way Winamp behaves, and have often wondered if I was ever going to see that kind of behavior in larger windows.
Its dockabable and such, but it doesnt lock you into one size or one position. Should something like that come about, I'd be all for it.
- Lady Shey
" I respect Tog, but I think his blithe assertion that "users don't remember trying to remember a key combination because it's a higher-level cerebral function" is pure horse hockey with nothing to back it up beyond his wishful thinking."
Not really. While there is quite a bit about the human mind that is still unknown. There is quite a bit that is. The concept of a "reflex" is one of them. What tog talks about can be thought of as a mental "reflex" or habit if you will. Try working on a non-standard keyboard and see how those "reflexes" cause your error rate to go up. Notice your frustration as you try to "fight" against it. It is very much a "higher-level cerebral function", and not BS.
How about using a mouse gesture to signify the "close window" action? Much easier to do than to hit a small target.
JM
Oink, Oink!!
I read the first two of your three links and gave up in disgust. Tog leans heavily on some "study", but for some reason does not provide a link. He claims that it takes two seconds to press a "command key" which is presumably any key that does not enter text.
I won't cite the fact that I don't take two seconds to press a "command key". Tog has already claimed that we are afflicted by micro-amnesia that suppresses this memory. Rather, I'll point to my observations of other people editing documents. When I watch an experienced user using vi, commands do not perceptibly interrupt the flow of keystrokes, except for the escape key which is inconveniently far from home row. As for "command keys" in GUI applications, I have no opinion. When the keyboard interface is viewed as a poor relative of the GUI (which is clearly how Tog views it) it may indeed be suboptimal.
Tog's advocacy is not convincing.
The early history of the Mac has been rewritten somewhat to make Steve Jobs look good. The Lisa was the innovative machine, with a real multitasking OS, multiple windows, and a hard drive. It just cost too much to build in 1982. The Mac was supposed to be the cheap model, but original versions were too slow to be used seriously. (One floppy, no hard drive, 128K, remember.) The original Mac was actually a flop. It was the LaserWriter, the first reasonably cheap laser printer, that saved the Mac, by giving it something worth doing. Not until the Mac got a hard drive and more RAM, bringing it up almost to the Lisa hardware level, did it make money.
Obscure, but real, history. The original Motorola M68000 couldn't support virtual memory. Not only was there no MMU, backout from page faults wasn't handled properly. The M68010, which fixed this, came along late, and the MMU (a separate chip back then) for the 68K was years late. Horrible hardware hacks were used by UNIX workstation vendors of the era to support page faults. Even if you're not paging, UNIX needs backout from memory protection faults to support dynamic stack growth. Apollo used two CPUs, one for the OS and one for the applications; on a page fault, the application CPU froze and the OS CPU started, paged in the needed page, and restarted the application CPU. The Lisa used a special compiler which avoided using instructions that didn't back out properly on a 68000, such as ones involving memory references and register incrementation. This hurt performance. The Lisa also had an Apple-built MMU which was a whole board of parts. That made the machine too expensive.
If Motorola had had the MMU situation fixed by 1984, six years after first silicon for the 68000, history might have been different.
this summer, i scanned over 4200 photos withPhotoshop. i would scan the photo, flip it, resize it, and apply a scratch filter. the first few days, using the menus, i got less than a hundred done. then i realized i could hit alt+ii to get the image size window, ctrl+ei9 for rotate clockwise, and ctrl+ei0 to rotate counterclockwise (IIRC). this saved me an amazing amount of time, believe it or not. toward the end of the project, i was doing several hundred per day.
--
fight global cooling
"that improved previously crappy MDI implementations in programs like Visual Studio and KDevelop"
Could someone explain to me why MDI is "crappy"? Did someone with a lot of influence one day say "MDI is crappy" and everyne just blindly nod and agree or smthn?
The way I see it... just like everything else it has its place in some things. I LOVE MDI text editors. MDI is also very well done in Cool Edit Pro.
sucks. We need something new, something unique and completely inovative. The only problem is that we need to fit both the GUI and instructions for the GUI at the same time. Little arrows indicating this opens a new menu, or a slide bar showing those changes a value and is at this value now, etc. Everything needs to change.
Question
http://www.ironfroggy.com/
More significantly, it has shown up as an application workspace paradigm that improved previously crappy MDI implementations in programs like Visual Studio and KDevelop.
The author has obviously not used Visual Studio in the last few years. Tiles, stacks, whatever you want. Microsoft changed direction on MDI back in 1996 or so.
One line blog. I hear that they're called Twitters now.
You're a total waste of space.
about this part:
Fitts' law explains why it's easier to use the Mac menu system, where the items are up against a barrier (the edge of the screen). It ends up making a larger effective target. This is also why the dock is effective.
The dock centers on the screen, and it can be set to enlarge the icons, this all makes the icons in the dock a moving target and thus harder for the user to memorize the location, which makes the above argument invalid, the current dock is not the time-saver it could have been.
Well if they claimed to be travelling in a straight line it might seem odd that they are revisiting the past. But since we are talking about curves, we should not be surprised to arc back towards the origin. When you've turned a knob from 0 to 10 in the name of "innovation", I guess the next move is to turn it back towards 0, again in the name of "innovation." Maybe Apple and Microsoft are grimacing plastic clown faces bolted to a merry-go-round. They are perpetually rushing into the future, but don't be surprised to see them in the same place later.
I first saw an early version of Acme when Rob Pike was giving a Plan 9 talk at Usenix (maybe Nashville? Maybe ~1990?)(Since Plan 9 uses Unicode, that's really 8 1/2 with a genuine 1/2 character...) I wasn't impressed so much with Acme, but Pike was mainly talking about it in the context that he'd tried to develop something that was much different from his previous Blit terminal window system, which was a pleasantly fast overlapping-windows system on a 68000 box. What really impressed me was the speed of the window system startup - he typed 81/2, hit return, and the window system was up and running in about the time it would take for a $ prompt to show up. His description of the environment was "Ken and I have spent 10 years studying things that window systems shouldn't do and we wrote one that doesn't do them." A bit ugly, but blazingly fast and lightweight. The window system was written in about 64KB of code; he compiled it during the talk (took a few seconds on the 680x0 Next hardware, and he commented that it was much faster on the Murray Hill Plan 9 CPU server cluster.)
Bill Stewart
New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
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.
I might be the only one who thinks so, but framing, docking, and stacking annoy me. Tabbing isn't so bad- -certainly no worse than simply having multiple screens (as the Amiga did, and as XWindows does... and apparently, now XP.) Frames are simply straight out.
The fact is -- cascading windows, slamming a window into the corner of the screen, and basically DECIDING FOR ME where a Window should go is the LAST THING I want a desktop doing for me. It's also the biggest reason I absolutely fscking HATE most Unix desktops.
The Mac, Windows, and even ancient old Amiga Workbench were really good about putting Windows where you wanted them (though on the Amiga you had to snapshot them) and not trying to dictate where they belonged for you.
Stacking Windows, Docking them, and dynamically resizing them without the users permission isn't elegant, it isn't convinient, and it's nothing but plain annoying. I don't believe these are features that any GUI even needs to begin with, but if they're going to exist they should be purely optional, with windows "Remembering" their positions and honoring the user's placement.
After all -- if I want 4 of my most recently opened windows in the four opposite corners of my screen, wouldn't I put them there myself?
Under Windows, my ICQ is always in the same spot (the left), my AIM is always in the same spot (the right), and my IE is not full screen and is positioned neatly near the middle of my 1280x960 display (on a 19" monitor). These windows and many others almost never get repositioned. They stay where I put them.
When I'm using my BSD box, and working in KDE -- I easily get rather annoyed that Windows just kind of pop up where they want to with no regards to what I want as a user.
So on the whole -- I can honestly say I don't agree with this as "progress" as the poster seems to see things -- to me I see it as some wise-ass people trying to push the envelope well beyond what is actually needed and changing things just for the sake of change. It is possible to ruin a good thing by trying to fix it when it isn't broken.
I wish people hell bent on GUI design would realize that maybe, just maybe, there really IS nothing wrong with some of the most basic concepts.
The wheel doesn't get any more round, after all.
"Everything you know is wrong. (And stupid.)"
Moderation Totals: Wrong=2, Stupid=3, Total=5.
Acme does take a bit of getting used to, particularly if you come from vi or somesuch where *everything* is keypressing. plan9 does some interesting things, mousewise.
/n/ftp) and type rio and then all child sessions will inherit that namespace. ftpfs presents remote ftp sites as part of the local file system.
For instance buttons 1 and 2 for cut
2 and 3 for paste
"terminal" windows are interesting in that you can click and type anywhere and then send the resulting text to rc (the shell) or the plumber (a regular expression based program launcher [as best I can describe it in a few words!]).
The window system has changed to rio rather thab 81/2. I never used 81/2 so I can't comment. rio is fast too though, but then again we have no cruft like title bars and a stupid desktop to cope with. A unique (i think) feature of rio is that you can run it inside itself! Why? well plan9 builds a filesystem view on a per process basis. So bind in your directories for this session (for instance run ftpfs and bind in your favourite ftp site to
Another nice surprise I had was the day I decided to compile a custom kernel. I set it all up and got ready to go downstairs and boil the kettle and have a cup of tea while I waited. I hit return and waited to make sure no mistakes showed up in the config file and pop! the prompt came back and it had finished, new kernel. The kettle wouldn't have even had time to boil!
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
Some months ago I had this idea: Use focusing instead of windowing. Probably an old idea...well however - I like it. Take a huge virtual desktop maybe 2x2 meters. In the middle put a tiny user interface with maybe 4 icons. The rest of the screen is empty. 1 icon for Memory, 1 for Harddisk, 1 for CD/Floppy and 1 to turn off. By clicking on any (any but the turn off button) small icons appear in a self-organizing manner. They 'know' what application they stand for and build grape-like structures. By moving your mouse above those grapes they zoom in and u see the icon (or icon-group) you'r looking for. Lets say you've already loaded a word processor. So you click on the "Memory" icon which represents all applications in memory. Now in a circular fashion
:-))
;-)) I'm too lazy to register right now. But don't call me coward...
all previously loaded programs start to self organize in a spiral around the central panel with your 4 icons. This spiral could look like a fractal or something...move over one of those grape-groups and click on your program. Now u see the background of your desktop move away, your central console gets out of sight and a second later you see your Word Processing windows move in focus. This "Window" is not a window. Its more like a sphere, or a platform. Half transparent and rounded. All pull-down menues are organized on the perimeter of this round platform. Switching to another Program works like this : Click a button to focus back to the central console. Open a new program. The focus changes again. etc...this all takes place in a 2-D environment. However, if you want to go to the network, it switches to 3d and when u zoom out u see a "galaxy" of stars (each representing a group of pc's or a single one) now u can focus in 3d to any of those stars. I love this...its like imagining the Operating system of the year 2100...
ISN'T THAT NICE
Oh, my nick is tmp2k/Germany
If the mouse is in all ways so much superior to the keyboard for speed, what's that funny console thing doing there in Mac OS X?
It seems clear (to me) that by (finally!) putting a console into their OS, Apple is admitting that there are some times when you really need a CLI (which implies using a keyboard for input as well).
Just to really drive this into the ground.. what's the faster way to type a message? The keyboard, or the mouse (using a bunch of little buttons on the screen representing letters and numbers)? I know, I'm being silly here, I just want to make a point.
Finally, It also seems clear (to me) that the GUI (with keyboard shortcuts) and the CLI (sometimes using a mouse for copy/paste) both have there place... that's why they're both still here.
Furry cows moo and decompress.
I always wondered why Macs put one menu bar across the top of the screen. It always confuses PC users terribly. Actually, that's not what confuses them, what messes them up is that they expect that once they've closed the window, the program has exited--and of course it usually hasn't. Then they double click on the program icon to restart the program and come to me to complain that they can't start the program. (But if they were paying more attention to the menu at the top of the screen they'd notice that it changed when they double clicked the program icon.)
:-) hack hack hack
But getting back to the subject: I have to agree with you about menu placement; i.e. placing the menu bar at the top of the screen or some other static/easy-to-find location is better than putting it at the top of the floating window. This probably helps explain why I usually maximize the windows of the programs I'm using heavily.
Also, now that I think about it, Command-W is a much better shortcut for window-close than Alt-F4 because of the distances between the keys. And it really sucks having the maximize/restore widget right next to the window-close widget (I'm always hitting maximize on accident--hate that). I guess I'm gonna have to start customizing my GUI heavily.
Furry cows moo and decompress.
That program was very innovative for the time. It might have looked a bit toyish and more like a game because of all the pretty graphics, but it was quite powerful, especially considering the platform.
Was? AudioMulch has yet to reach version 1.0, and is capable of an enormous range of manual and automatable music/sound processing tasks. My piece HighBirds (Prime) for 2 electric guitars (first guitar, second guitar) and playback, premiered last year at the Ought-One Festival, was created in AudioMulch.
There aren't many apps with a full range of oscillators, granulators, shapers, mixers, delays, reverbs, filters, modulators, etc., workable as an emulated equipment console as well as a patch bay.
Stretch AudioMulch across two 19-inch screens, and it's a powerful realtime audio (and Midi) processing and manipulation system. With a HD full of audio files for sources, I can compose/improvise a whole night's concert from a single application.
As for what it sounds like, it doesn't sound like anything except the composer who's using it.
Dennis
Not only are you stupid but you didn't even bother to read his whole post. Thanks for repeating exactly what he just said but with less intelligence.
Wow, what a huge leap backwards. Ion is almost exactly how the very first version of Windows (pre 3.0) worked. Windows wouldn't overlap, but instead tile automatically onto the screen.
Why not combine multi-function windows with the current free-floating "paradigm?" Best of both worlds. I could make this window contain this program, that program, and the other one, and this other window be this thing, and this other window be thing 3 and thing 4.
Is this not obvious to anybody else who looked at the ion screen shots?
That Xerox link is a lousy example of the origins and history of overlapping windows, considering that the Alto didn't have overlapping windows. The Alto just divided the screen into side-by-side regions, same as Windows 2.0 did about 10 years later.
For a desktop that merges commands with gui for file operations very nicely, take a look at Rox Filer
But only with multiple screens, or a good projector (which doesn't yet exist).
It would be great if instead of having to flip between virtual desktops in windowmaker if I could have, say, 3...one on the monitor in front of me, and one on each side. The side monitors would be touchscreens, and upon touching one of the open things, it would move over to my 'front' desktop. That would be very cool and useful, as I could monitor EVERYTHING without having to have it all on my front screen.
If you don't want overlapping windows I recommend larswm It takes a while to get used to but when you do it is a very effective environment.
Absolutely. Drawing from a different discipline- A very famous guitar player who is known for being emulated once said 'Dont copy me, once you get to where I am now I've already gone past it. Be original and find your own path'.(steve vai)
Which I happen to think is a perfectly good concept for life in general.
I do EDA, and I have 2 21" monitors and my "pager" is usually full.
Overlapping windows is just a side-effect of "not enough screen space."
I want something like the Sony Glasstron (head-mounted HDTV-quality display) with head-tracking so that when I turn my head left the virtual desktop scrolls that way, giving me more space without distracting my hands from working.
Stackable windows? Bah. More space, that's the real key.
I remember using MS Windows 1.0 - it didn't support overlapping windows, only tiled ones.
Man, I *knew* I should have stuck with it...!
i have been using StoneWM which is a stone-tablet based window manager. each time a program needs to draw information on the screen, the window manager tells me with a vision in the night, i then have one of my men (Lothar, of the Stone Carving People) come to my tent and draw this for me on a flat stone from the river. i have a large wooden table on which i can arrange many such flat stones. and when i need to cross reference between stones I have one of my women stand at the other side of the table and read to me. lately, Turok of the Accouting people has told me of a new interface paradigm known as the Way Of Paper Sheets. it is exciting to think we may be a part of this new breakthrough, and i am looking forward to implementing this in our city. apparently with this new system, programs (as i call our slaves in the catacombs beneath the town) can draw information to these sheets quickly and many can be carried at once, this sounds almost too good to be true. also we will not have to worry about important displays being used to kill rats and other vermin.
A Modal interface is an interface in which the program has to enter a specific state for certain commands to be usable. e.g. vi has a editing mode, and a paging mode, and a deletion mode.
The original philosophy behind modeless interfaces is that the questions "how do I get out of this" and "how do I get back to the original screen" were to be avoided.
The current control panel application (in OSX) is actually very similar to the pre 7.0 control panel-- one selected a control panel to work on, and the relevant controls appeared on screen. (Post OS 7.0, the control panel was simply a folder, and opening a control panel opened up a new window)
It's my impression though, that single window design does present problems. I never much liked the panes in "Project Builder."
I didn't see this posted on here already, but for those that are interested you may want to check out Microsoft's R&D efforts into OS UI's. Although their efforts are not perfect, nor the best way to do things, it is definately interesting. You can find the site at "http://research.microsoft.com/ui/". Of the projects under development here, the main one is the TaskGallery project, "http://research.microsoft.com/ui/TaskGallery/inde x.htm", which I've almost positive I've seen mentioned on Slashdot before. ,by other companies, into unique ways to present the WWW to users (3D worlds and such). But I think, as I've seen it mentioned here, that the key is to developing interactive and immersive sytems where screen real-estate is almost infinite (possible using VR glasses/goggles) and input device gestures are recognized and adapted to.
Besides MS, there are some very interesting projects under development
This is valid for all people in all cultures, and overlapping windows work on this principle. So overlapping windows have come to stay, because they work so well with how our brains work.
I was talking with a friend of mine the other day about user interface design, and we came to a conclusion - nothing revolutionary, but still.
There are three major OS branches I see - MacOS, Windows, and UNIX/Linux/OSS/etc.
In my opinion, UNIX user interfaces are the absolute worst as far as being user interfaces for one reason: they are designed from the code up; they are designed by and for the programmer, and where $user == "programmer", that's fine. The problem arises when non-programmers try to use it - they have to conform to it, which is not nice. Say whatever you want to about choice, but users don't want choice, they want a simple, clean, uniform way things behave. UNIX/Linux don't offer this. Sorry, but they don't.
Windows does offer this, and they DO keep the user in mind. The problem is that, while they have the user in mind from the start, the user interface trains the user how to do things. You learn things in Windows because you have to learn them, because the interface tells you how they should be. Thus it is a good thing done badly.
The Mac OS, from what I've heard, is incredibly easy. It was designed from the user down. It wasn't designed to be 'neat' or anything, it was designed with the philosophy of the user interface is the user's interface with the computer, as opposed to the computer's interface with the user.
I say 'from what I've heard' because I started using macs shortly after my ninth birthday, and I don't remember it at all - I can only assume it wasn't hard, because I was only nine at the time (ten years ago) and had no problem finding games and opening them.
User interfaces now, though need to take into account what people are doing (which is 'more'; more applications with more functions and more complexity), and figure out how to arrange things properly.
Ideally, I don't want a pointing device, I want a touch screen. I want a small, thin area on the side of the screen which I can use to access my programs, which should be ordered by category, similar to the way Palms are set up.
I don't really want to distinguish between applications that are 'open' or 'not open'. Saved state would be nice. If I choose an application, it brings it to the front, and if it was doing anything, then that should be restored, though the option to 'save document and discard state' would be nice, as would 'run in background' ability. I don't want to have to worry about 'open windows' or anything of the sort, I just want to focus on the task at hand.
This is the one thing that Windows doesn't understand very well, and other OSes don't understand at all (Linux/etc) in the user-interface category. For servers, you need multitasking, but except in a few cases (MP3 players, defragmenters, Disk Doctor, etc), I am doing one thing at one time, an I'd like my interface to reflect that. Maybe I have 10 programs running, but I'm only using one of them at a time. My IRC client and word processor are both open, but if I'm only typing my latest report, I don't care about anything else. If I'm running Maya, I don't want other programs popping up, and so on.
Well, that was a longer rant than I intended, but I hope I've said something worth reading. Just the way I see things, is all.
--Dan
Mnay of the users I support still feel the need to close one program before starting another. The concept of multiple programs running at the same time in different windows just blows their minds.
THIS SPACE FOR RENT
Tiling windows, which is how I always arrange my windows in practice anyway, have been around at least since the late eighties in Niklaus Wirth's original Oberon system. I'm not sure what it looks like now that others have gone jumping on bandwagons since Wirth's retirement. (here and here)
>> That program was very innovative for the time.
> Was? AudioMulch [audiomulch.com] has yet to reach version 1.0
I was talking about "Bars and Pipes" on the Amiga.
I absolutely abhor this behavior.
Perhaps I have developed bad habits, but I have developed the habit of scrolling the pointer the hell out of my way so that a stray mouse click doesn't perform some unintended function. This causes needless changes to the presentation on the u.i. for no good reason under the scheme you advocate. Keyboard shortcuts provide a handy way to change focus as well.
If I want to change focus, I will take the explicit action to do so, but simply moving the pointer around is akin to 'operator overloading'--I move the pointer for other reasons, too, not only to change which window gets the cheese.
I agree that there is not enough real estate on the most widely used monitor sizes to do things a better way. I suppose the original poster who wanted a quick way to hide something has a point as well: don't let your boss see you viewing pr0n at work!
---
slashdot: A failed experiment.
Back then, it was called "tiled" windows, and
nobody liked it, because everybody wanted a Mac.
I have been using Windows ME and XP recently, and also looked at a friends portable computer using win CE.
CE Has a nice interface in my opinion and keeps all the windows nicely organised for the small screen.
Litestep and thousands of other free window managers are great for this!
Check out www.tucows.com and C|Net for free window managers, find an open source one and configure it to behave as you like it.
I was chatting on IRC while the installer went on about its merry way.
Gaaaah! When installing on Windows, no other applications must be running! Ever! This is the First Rule wich appears First and Foremost on all Windows installers!
Perhaps you activated the dreaded Cancel button. Another less-known rule is never to use the Cancel button during installation. It may leave the system in an unstable state that requires re-installation of the entire system, and after that all your applications. This means that you must keep your hands and any pets and toddlers away from the keyboard, since the Cancel button often has focus and gets activated if you just press the spacebar or the return key.
This instability is of course a feature introduced by Microsoft to give us some adventure in our lives.
Terrorists can't threaten a country's freedom and democracy. Only lawmakers and voters can do that.
I see a few flaws in Tog's reasoning:
First, Tog doesn't consider RSI at all - personally, I and a lot of others find that the mouse is a far bigger culprit than the keyboard when it comes to wrist pains.
Second, Tog suggests that because using the mouse is a relatively low-level, "physical" task, and that therefore, using the mouse permits people to avoid pausing the high-level cognitive functions related to whatever they're actually trying to accomplish. I don't buy this -- high-level cognitition and low-level motor control can't always coexist nicely, unless the low-level task is one you've trained very thorougly to serve a particular high-level process (e.g. touch-typing). Read up on why mobile phones cause car accidents, even in hands-free mode.
Finally, he suggests that mousing "feels" slower and that people are mouse-averse because mousing is boring. But I see no reason to accept his underlying assumption that "slow" is worse than "boring". If I'm a data entry clerk or word processor whose productivity is dependant primarily on speed of input, that might be true. But input speed isn't the bottleneck for all computer use -- and maybe not even most. It used to take me around 8-12 hours to write an essay for a literature class. Maybe a quarter of that time is spent actually interacting with the computer, rather than sitting back in my chair, looking over my notes, and thinking about what I wanted to say.
(Side note on "slow" vs. "boring": When I'm driving, I'll happily take a somewhat longer route that allows me to keep moving steadily over one that requires me to sit in traffic, even if the latter would get me to a destination sooner.)
(Side note 2: I'm not necessarily accepting the "slow" vs. "boring" trade-off that Tog poses. Considering the lack of citations, I see no reason to accept his assertions about what the research shows. Combine the lack of cites with Tog's tone of condescension and bluster, and I think that while the emperor may not be naked, he's certainly showing a lot of skin.)
In my opinion, the most promising experimental application, even if still immature, is one of the neatest window managers around, ion.
There were tiling window managers in the X10 to X11R2 time-frame:
see for example
Ye Olde Windowe Manager's mention of
rtl.
The Andrew window manager was also tiling.
IMHO the most broken thing about current window managers is a "maximize" button that was sensible for 13" monitors and 640x480 but is just silly for 21" 1600x1200.
In the early to mid 80s there were two competing paradigms for window systems. The type of which Xerox was the principle example was known as West Coast windows. The type of which perhaps MIT's Lisp Machine was the prime example was called East Coast.
The idea behind the East Coast paradigm was that you usually wanted to use all of your screen real estate for a single window. You switched between them using the system key. So for instance if you hit System and then E it would switch you to the most recently used editor window or create an editor window if one didn't exist. Hitting it again would cycle to the next window of that type.
You could still resize windows and make them overlap if you liked so it wasn't mandatory (e.g. if you needed two windows side by side to compare something you could). And windows that it didnt make sense to make full screen typically weren't (e.g. popup menus). But you usually switched between a set of full screen windows.
That paradigm influences the way I use X today. I have a function key that brings up a menu of types of windows I can choose. Each menu choice cycles through the windows of that type. Except for some space reserved for status indicators around the edges most windows take up about all of the screen. I find it very productive and highly recommend it.