11 ms·
Side Tabs: Prototyping An Unexpected Productivity Hack
- asakura89 12y agoLooks ugly in windows. And show to on the right is not working. Waiting for a better version. :)
- dhenein 12y agoAgreed! My work was done on OSX, as a proof of concept. My colleague Hayden is doing some great work to carry it forward, including Windows support (https://github.com/dhdemerson/VerticalTabs https://github.com/dhdemerson/VerticalTabs)
- asakura89 12y agoWhy it needs Windows support? Isn't it just an xul, js and css using xulrunner on every platform? Sorry, I ask because I never code in xul before.
- euank 12y ago"show on the right" required a restart after being checked to work for me in linux. Perhaps that helps?
- randallsquared 12y agoOddly enough, the apparent lack of the setting (or maybe it didn't seem to work) drove me to https://addons.mozilla.org/en-US/firefox/addon/side-tabs/ https://addons.mozilla.org/en-US/firefox/addon/side-tabs/ around six or eight months ago.
- randallsquared 12y agoAbout two hours later, I've switched back: Vertical Tabs is very slow, and makes Firefox 30 on Ubuntu 14.04 seem slow. Ah, well.
- superfunc 12y agoI had the same experience on Elementary.
- zo1 12y agoSecond time i find myself plugging this add on: https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/ https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... You can put it on either side, and it doesn't look as ugly as "side-tabs" that you linked to. No, I'm not the author or anything, I've just been using this thing for a good solid few years. And I can't believe people are now falling for this silly side-tabs prototype when a perfectly Good, 100% working side/tree tab add on is already available and mature.
- randallsquared 12y agoI totally agree that side-tabs isn't the prettiest thing in the world. That said, the tree-style-tabs addon seems to be built around a concept that I don't need, which is why I hadn't really considered it before. It does seem to be fast, though, so I'll give it a try for a while and see if my life improves. Thanks!
- dubcanada 12y agoI wish this existed for Chrome, they used to have a command line flag (–enable-vertical-tabs) but they turned it off. Which made me really sad. Does anyone know of a nice looking version of this for Chrome?
- forgotpasswd3x 12y agoChrome doesn't really allow you to modify the interface enough to do this, but there's an extension called Tab Outliner, that works similarly, and has some extra features as well. https://chrome.google.com/webstore/detail/tabs-outliner/eggkanocgddhmamlbiijnphhppkpkmkl https://chrome.google.com/webstore/detail/tabs-outliner/eggk...
- sprokolopolis 12y agoI am enjoying this on OSX. I tried Tree Style Tabs in the past, but was not a fan of how it looked. This looks much better and is working nicely so far. In the future it would be nice to see collapse-able tab groups. Pinned tabs should have a visual distinction, rather than only being pinned to the top. An icon, badge, or subtle change in background shade would work. Looking good!
- dhenein 12y agoThank you! Really appreciate it. My colleague's fork is tackling pinned tabs and some other cool ideas, check it out! https://github.com/dhdemerson/VerticalTabs https://github.com/dhdemerson/VerticalTabs
- lstamour 12y agoOne idea I'd just thought of adding might be to use the empty space below the tabs with a top-list of frequently used URLs, excluding those already open. And maybe the most recently closed tabs. Also when mentioning productivity, I immediately thought of putting check boxes or labels on the tabs. Or swipe actions.
- wldcordeiro 12y agoI'd like to see the same dark theme on Linux otherwise I'll stick to tree style tabs.
- erichurkman 12y agoSlick. I've tried the popular tree style tab extensions a few times over the years, but this one feels the most natural. The others were always too complicated. One nit: the target area to trigger the resize is super tiny. 1 pixel, I think.
- dhenein 12y agoThanks, glad to hear you like it :) Good call on the resize target, I'll look at that!
- minikites 12y agoOmniWeb did this over a decade ago: http://i.imgur.com/U4Q5siY.jpg http://i.imgur.com/U4Q5siY.jpg I'm glad it's getting more popular but surprised it's taken this long. It makes more sense to use horizontal space on a widescreen monitor.
- Mister_Snuggles 12y agoYup. They also had a list view that's similar to what's being shown here. Omniweb was great back in the day, it's too bad it's no longer around.
- josh64 12y agoOr is it? http://omnistaging.omnigroup.com/omniweb/ http://omnistaging.omnigroup.com/omniweb/ Now with OS X 10.9 support!
- blahedo 12y agoI'm glad OW got a mention here; I miss its tabs very much. More than just putting the tabs vertically, it included a thumbnail and a scrollbar, both of which I found incredibly helpful; my workflow hasn't been the same since I switched away from it.
- Leynos 12y agoSomething Omniweb did(/does?) was remove common prefixes from the titles of multiple open tabs from the same web site. This further served to maximize usage of limited screen real estate (something that vertical tabs already helps with greatly, of course). I wonder if there's an addon for any modern browsers to do this. I'll need to check once I get home.
- ciniglio 12y agoSafari does something very similar on 10.9. I think it looks at the titles of all the tabs and tries to find the sections that have least commonality between them (not just common prefix).
- manish_gill 12y agoThis causes the address bar to climb up and disappear halfway on my OS X Nightly. :(
- mordero 12y agoI've been using Tree Style Tabs[0] with Firefox for a long time. Being able to nest tabs and then collapse them is awesome. It is hard to live without it when using Chrome (I know there is a similar addon for Chrome[1], but it doesn't have the same feel since it just adds a new window off to the side and still has the tabs across the top). [0] https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/ https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... [1] https://chrome.google.com/webstore/detail/sidewise-tree-style-tabs/biiammgklaefagjclmnlialkmaemifgo?hl=en https://chrome.google.com/webstore/detail/sidewise-tree-styl...
- lcedp 12y agoTST is awesome. "Bookmark this tree" & "Close this tree" features make so much sense when one researches some topic.
- subsection1h 12y agoWhile I love Tree Style Tab, I think separate windows for separate topics is more useful than trees, and I think saving windows/topics as sessions using the Session Manager extension is more useful than bookmarking, especially seeing as how Session Manager supports appending windows to previously saved sessions.
- mordero 12y agoSometimes what I think will be a quick search turns into multiple tabs so its really easy to pull a tree into a new window and then save it using Session manager.
- TomDavey 12y agoAgreed on separate windows for distinct topics. For that, I find the FireTitle extension invaluable: https://addons.mozilla.org/en-US/firefox/addon/firetitle/ https://addons.mozilla.org/en-US/firefox/addon/firetitle/ You can flexibly add text to the title bar of each window to name the window as you choose. These names show up in Aero Peek etc. to make switching between windows effortless. TreeStyleTabs, FireTitle, and a few other FF extensions are what keep me firmly in the FF camp. Its extensibility is the best of all the browsers IMHO.
- ozymandius182 12y agoAny chance of this being published via Mozilla Add-Ons, or do you want to keep it as a prototype?
- dhenein 12y agoRight now it works (best) on OSX, I'd love to get some help to make it work better across platforms. My colleague Hayden's work will probably progress faster than mine (this was just a side project for me!) https://github.com/dhdemerson/VerticalTabs https://github.com/dhdemerson/VerticalTabs
- yxhuvud 12y agoVery nice to see FF designers discovering the joy of vertical tabs, but it seems pretty strange to not have the article mention the traditional solutions to that, like Tree Style Tabs. Are the designers living in a bobble when it comes to extensions?
- dhenein 12y agoThanks for pointing this out, I should have made mention in my post :) I've have seen tree style tabs – which does a great job for more advanced organization of tabs. For my experiments (and Firefox features in general), we try and focus on simplicity and the more general audience.
- baby 12y agoTST is pretty simple to use and extensible if you want more. What you did was... not really practical. Have you tried using TST for a few days? I promise you won't be able to go back to any other way of browsing.
- MortenK 12y agoFor developers and other tech guys maybe. But the average, non tech savy users have a very hard time understanding hierarchies and therefore tree controls. It's to such a degree that UX specialists like Alan Cooper strongly suggests never using tree views unless the data is naturally thought of as a hierarchy, such as a family tree etc.
- callahad 12y agoIf you want to try this out, download release.xpi from the repo and drag it into Firefox. Link: https://github.com/darrinhenein/VerticalTabs/raw/master/release.xpi https://github.com/darrinhenein/VerticalTabs/raw/master/rele...
- emn13 12y agoIs there a reason this isn't on the firefox addons site? I think it's bad practice to recommend people run arbitrary code from the internet when there's a simple alternative.
- aroch 12y agoOP isn't the primary addon developer and doesn't want to steal eyes/users from his friend? There are lots of addons that are, at least in part, distributed as blobs from github
- rational-future 12y agoTIL: putting code on the firefox addons site makes it secure by pure magic.
- mcpherrinm 12y agoWhere "magic" is a review: https://addons.mozilla.org/en-US/developers/docs/policies/reviews https://addons.mozilla.org/en-US/developers/docs/policies/re...
- rch 12y agoMore generally, but in the same vein, I miss the side panel from Opera -- it's both easy and satisfying to 'throw' the mouse into the side of the screen to get access to extra control real estate.
- phkahler 12y agoI like the idea of the windows task bar on the left side, but instead of showing thumbnails if it showed document titles we could just use that instead of side-tabs. Start a new browser window instead of a tab and let the desktop environment handle that. Of course there's persistence issues, but those could be resolved. I guess I don't like duplicating functionality between application and the desktop, and all the apps getting tabs is just that. Perhaps the desktop implementation needs to be better rather than having apps do it themselves?
- shock 12y agoI've tried many vertical tabs add-ons for Firefox, but, sadly, none are at the point where I can use them consistently. Some issues that I had: - interface buttons disappeared: new tab, tab groups - bugs when reordering tabs - looked out of place/ugly even with the default theme That said, this is a sufficient hindrance for me daily that I'm considering learning add-on development to be able to fix these issues in those add-ons or create my own. One thing that I'd love to have is the ability to reverse the order of the tabs and place the buttons at the top of the vertical tab bar instead of the bottom. I'm surprised that it isn't an option in any of the ones I tried: having the new tab button near the menu button would be a big usability improvement for me (I use the vertical tab bar on the right).
- zo1 12y agoThen I guess you haven't tried a recent version of: https://addons.mozilla.org/en-US/firefox/addon/tree-style-tab/ https://addons.mozilla.org/en-US/firefox/addon/tree-style-ta... I've been using it for, I think, 2-3 years. And it's come a long way since the early days when it was buggy. I suggest you give it another go with a more recent version. And don't be put off by the ugly screenshots on the add on page as it's not quite what it looks like anymore.
- baby 12y agoRecent version of TST are perfect imo. You can customize them exactly how you want them to behave.
- scottjad 12y agoWhere I really want side tabs is on my Android Nexus 7 tablet. On it in Chrome I normally browse the web in portrait mode and I can see the titles of about three tabs, but only a few words of each. With a slide out side panel on the left (activated by dragging left to right from off the screen onto the screen) I would be able to see the titles for 15 or so tabs, with larger press areas and close buttons. I realize for every tab switch this would require a swipe and a click, but as it is now the tab is often not one of the three visible and so I already have to swipe multiple times across the tab bar to see the tab before clicking it.
- otakucode 12y agoChrome had side tabs for a long time. It was a 'hidden feature' you had to enable in the about:config screen. But Google knows how you're supposed to surf, and vertical side tabs are not it. So they tore it out. Many issues were opened on their bug tracker asking for it to be replaced, but the final word came down - 'we don't like vertical tabs, and therefore no one can have them. Stop opening new issues.'
- DonHopkins 12y agoSheez. Why not enable users to drag any tab to anywhere along any edge of any window? Tabbed window manager with pie menus for The NeWS Toolkit 2.0, from 1991: http://www.donhopkins.com/home/movies/TabWindowDemo.mov http://www.donhopkins.com/home/movies/TabWindowDemo.mov NeWS PostScript source code: http://donhopkins.com/home/archive/NeWS/tab-3.0.2.ps.txt http://donhopkins.com/home/archive/NeWS/tab-3.0.2.ps.txt
- DonHopkins 12y agoAlso, you should be able to push and throw windows around on the screen, and they should bounce off the the screen edges! ;) Here it is in Lisp for Genera: http://www.donhopkins.com/drupal/node/103 http://www.donhopkins.com/drupal/node/103 And in Forth for X10: http://www.donhopkins.com/home/archive/piemenu/uwm1/hacks.f http://www.donhopkins.com/home/archive/piemenu/uwm1/hacks.f
- andrewflnr 12y ago
- sbeckeriv 12y agoI would like to know why it disappeared from Firefox mobile. The early version had it where you swiped to get the tabs on the left. http://dknite.files.wordpress.com/2010/10/firefox-fennec-mobile-android.jpg http://dknite.files.wordpress.com/2010/10/firefox-fennec-mob... I am going to try an add an auto hide. Right now I have the tab bar at 50px. When I hover over it with a delay I would be nice to expand.
- wahsd 12y agoI have never understood why this has not been done far sooner and why the big browsers don't at least support the option. It makes absolutely no sense to use up vertical space on wide-screens (which everyone now has) on tabs that then have to collapse, stack, or shrink when we could take advantage of all that white space left and right of the content to list all the tabs including labels and even add a few more pixels of vertical space. It's so baffling to me. I don't understand it.
- ben0x539 12y agoIt's not as much as a win if you just don't maximize your browser window.
- sparkie 12y agoOpera (as usual) had this ability for years, although I have not used recent versions of their browser, so dunno if it's still there. They also added a nice "tab group" feature, which was/is much better than firefox's half-assed tab group feature (which isn't even "visible" by default because it sucks). EDIT: Can find older versions to check it out here (Appears as 12.17 is the last version which had this): http://www.opera.com/download/guide/?os=windows&list=all http://www.opera.com/download/guide/?os=windows&list=all. You simply right click the tab bar and it has place> top/left/right/bottom. I use Firefox now, and couldn't survive without Tree style tabs, although I still miss a significant number of features from Opera, although from what I gather, they basically thrown away most of it and now have not much more than a clone of Chrome. This is baffling to me too - current Opera is a clear regression from what they had 5 years ago.
- baby 12y agoHow does this compare to Tree Style Tab? I've been using TST for years and I don't want to downgrade.
- AdrianRossouw 12y agoI quite like vertical tabs, but then we build a product based around publishing content in this format : http://wayfinder.co/pathways/53998ffd774fd817001977ef/falsehoods-programmers-believe http://wayfinder.co/pathways/53998ffd774fd817001977ef/falseh...
- signa11 12y agoi have fvwm configured to have decorations on the left side, since most monitors have more X than Y pixels...
- snambi 12y agoWhy should the tabs be at the top. side looks better. Because it is easier read than the top.
- Camillo 12y agoThis post attempts to walk a fine line between hyping up the work the author has done and recognizing the contributions of... largely the wrong people. - There is a pretty popular Firefox extension called Tree Style Tabs, by "Piro". It is awesome, it is actively maintained, it works great. It has around 100k active users. - Some time later, "philiKON" (Philipp von Weitershausen) made a smaller extension that just shows tabs vertically. "It is heavily inspired by and borrows ideas from the excellent Tree Style Tab add-on", its page says. I used it for a while, but it fell into disrepair and I switched back to TST. Vertical Tabs has around 5k users. - Finally, "Vlad" made a fork of Vertical Tabs to fix it up a little, since philiKON had abandoned it. So who does Mr. Henein credit? Mainly himself and his colleague Vlad. Vlad is credited as the author of Vertical Tabs at the beginning of the post, although what he was not "something [Henein]’d be willing to trial" (ouch). It needed Henein's touch to "bring this add-on to a level where users would find it delightful and usable enough to at least give it a fair shot." But still, he does credit his pal Vlad for doing most of the work, and even throws in a mention of von Weitershausen in the middle of the post, without explaining what he has to do with Vertical Tabs. No mention at all of Piro or Tree Style Tabs, even though it was the inspiration of Vertical Tabs, and to this day is used by orders of magnitude more people. In fact, its existence seems to be intentionally removed. "The hypothesis I was hoping to validate was that there was a subset of the Firefox user base that would find value in the layout that Side Tabs enabled. I wanted to bring this add-on to a level where users would find it delightful and usable enough to at least give it a fair shot." I would say that TST, its over 2 million downloads over at least 7 years, and its 100k active users validate that hypothesis pretty well. I think this is a pretty shoddy way for Mozilla to treat a member of its community. There is an add-on that introduced all of these ideas to Firefox, is well-known and appreciated by Firefox power-users, and has been tirelessly maintained for seven years, yet they go and act as if "side tabs" (he even slipped his own new name for it in there) were some amazing new area of cutting-edge experimentation, while giving a hat tip to a derivative of a derivative of the original extension. And then all the flowery rhetoric: "This is how great things are built; rarely from scratch, but more commonly on the shoulders and brilliance of those who came before you." "I’ve had great response on Twitter from developers and users who love the add-on and who can’t wait to share their ideas and thoughts. It’s awesome to see ideas take shape and grow so organically like this. This is collaboration." Maybe I'm crazy, but the whole thing just rubs me the wrong way.
- ksec 12y agoLooks like it doesn't work very well on Windows Machine.
- DonHopkins 12y agoSide tabs are great, because text is wider than it is tall, so you can fit a lot more of them on the screen, to manage more windows. But why restrict yourself to the top edge, the bottom edge, one side or the other, when you can allow the user to drag the tabs around to any place along any edge that they want? I am perplexed that all tabbed user window frames don't allow this useful and obvious feature, after all these years. Also, tabbed windows work very nicely with pie menus, and tabbed frames plus pie menus are an excellent combination for window managers and web browsers. I implemented side tabs in a commercial product in 1988, for UniPress (Gosling) Emacs 2.20 running on the Sun NeWS and SGI 4Sight window systems, and I used them for the HyperTIES hypermedia browser and authoring tool that I developed with Ben Shneiderman at the University of Maryland Human Computer Interaction Lab. HyperTIES Hypermedia Browser and Emacs Authoring Tool for NeWS HyperTIES is an early hypermedia browser developed under the direction of Dr. Ben Shneiderman at the University of Maryland Human Computer Interaction Lab. http://www.donhopkins.com/drupal/node/101 http://www.donhopkins.com/drupal/node/101 Designing to Facilitate Browsing: A Look Back at the Hyperties Workstation Browser By Ben Shneiderman, Catherine Plaisant, Rodrigo Botafogo, Don Hopkins, William Weiland. http://www.donhopkins.com/drupal/node/102 http://www.donhopkins.com/drupal/node/102 Here's some stuff about it from Wikipedia: https://en.wikipedia.org/wiki/Tab_(GUI) https://en.wikipedia.org/wiki/Tab_(GUI) The NeWS version of UniPress's Gosling Emacs text editor was the first commercially available product to pioneer the use of multiple tabbed windows in 1988. It was used to develop an authoring tool for the Ben Shneiderman's HyperTIES browser (the NeWS workstation version of The Interactive Encyclopedia System), in 1988.[2][3] HyperTIES also supported pie menus for managing windows and browsing hypermedia documents with PostScript applets. Don Hopkins developed and released several versions of tabbed window frames for the NeWS window system as free software, which the window manager applied to all NeWS applications, and enabled users to drag the tabs around to any edge of the window.[4] HyperTIES was a "hypermedia" browser, a term first used by Ted Nelson in 1965. The first "web" browser came out later in 1990,[5] and the term "World Wide Web" was not invented until 1990.[6] HCIL Demo - HyperTIES Authoring https://www.youtube.com/watch?v=hhmU2B79EDU https://www.youtube.com/watch?v=hhmU2B79EDU Here's another different application of tabs that I developed on NeWS, a visual PostScript programming interface. The Shape of PSIBER Space: PostScript Interactive Bug Eradication Routines Written by Don Hopkins, October 1989. University of Maryland Human-Computer Interaction Lab Computer Science Department College Park, Maryland 20742 http://www.donhopkins.com/drupal/node/97 http://www.donhopkins.com/drupal/node/97 Also, here's a video of an even more general implemented of tabbed window frames with a pie menus based window manager, that I implemented at Sun Microsystems for The NeWS Toolkit 2.0: http://www.donhopkins.com/home/movies/TabWindowDemo.mov http://www.donhopkins.com/home/movies/TabWindowDemo.mov Here is the source code in PostScript for a few different implementations that I gave away for free back in the 80's and 90's: This is the original version for NeWS 1.1 that shipped with UniPress Emacs, and that I used for the HyperTIES hypermedia browser and authoring environment, which is demonstrated in the video at https://www.youtube.com/watch?v=hhmU2B79EDU https://www.youtube.com/watch?v=hhmU2B79EDU : % Tab window class http://donhopkins.com/home/archive/NeWS/tabwin.ps.txt http://donhopkins.com/home/archive/NeWS/tabwin.ps.txt This is the PSIBER Space Deck for NeWS 1.1, which uses its own form of tabbed sub-windows whose tabs you can drag around to any edge, described in this paper http://www.donhopkins.com/drupal/node/97 http://www.donhopkins.com/drupal/node/97 : http://donhopkins.com/home/archive/psiber/cyber/litecyber.ps.txt http://donhopkins.com/home/archive/psiber/cyber/litecyber.ps... This is the first version I implemented for NDE 1.0 on X11/NeWS while at the University of Maryland: % NDE Tab Frames % Copyright (C) 1989 % By Don Hopkins, University of Maryland Human Computer Interaction Lab % May 13 1989 http://donhopkins.com/home/archive/NeWS/tab-1.ps.txt http://donhopkins.com/home/archive/NeWS/tab-1.ps.txt This is the second version I implemented for NDE 1.0 on X11/NeWS while at the University of Maryland: % tNt Tab Frames, release 1.0 % Copyright (C) 1990 % By Don Hopkins, University of Maryland Human Computer Interaction Lab % Started, May 13 1989. % Reimplemented mostly from scratch for X11/NeWS FCS. http://donhopkins.com/home/archive/NeWS/tabframe-1.ps.txt http://donhopkins.com/home/archive/NeWS/tabframe-1.ps.txt This is the final version I implemented for The NeWS Toolkit 2.0 while at Sun Microsystems, which is demonstrated in the video at http://www.donhopkins.com/home/movies/TabWindowDemo.mov http://www.donhopkins.com/home/movies/TabWindowDemo.mov : % Tab Windows for the NeWS toolkit % Version 3.0.2 % This file implements a pie menu tab window manager for the NeWS toolkit. % It should work with TNT2.0fcs on OW2.0fcs and TNT3.0beta on OW3.0beta. % This code and the ideas behind it were developed over time by Don Hopkins % at the University of Maryland, UniPress Software, and Sun Microsystems. % Pie menus and tab windows and NOT patented or restricted, and the % interface and algorithms may be freely copied and improved upon. http://donhopkins.com/home/archive/NeWS/tab-3.0.2.ps.txt http://donhopkins.com/home/archive/NeWS/tab-3.0.2.ps.txt I also implemented a tabbed window manager for X11 based on "uwm", which I can't find a link to right now. And at Sun we developed but never released a really nice extensible window manager with tabs, pie menus, rooms, virtual desktop, and other cool features, that managed both NeWS windows and X11 windows: http://www.art.net/~hopkins/Don/unix-haters/x-windows/i39l.html http://www.art.net/~hopkins/Don/unix-haters/x-windows/i39l.h... Some notes about OWM OWM is the "Open Window Manager" we prototyped in NeWS. We enhanced the NeWS window frames so they sported indexing tabs, pie menus, rooms, and a scrolling virtual desktop. Many of our enhancements were separatly developed, and plugged together orthogonally like legos. All NeWS applications could use these fancy frames, and the Open Window Manager wrapped X clients in the same frames that NeWS windows got! This way, factoring the window frames out as a part of the toolkit, and implementing the X window manager separately, NeWS applications don't have to know a thing about X window management, and X clients can go on doing the same nasty things they've always done, and everybody get the benefits of dynamic extensibility, and a consistent user interface, by using the default window class! I39L window management complicates pinned menus enormously. TNT menus pin correctly, so that when you push the pin in, the menu window simply stays up on the screen, just like you'd expect. This is not the case with XView or even OLWM. Under an I39L window manager, the Open Look pinned menu metaphor completely breaks down. When you pin an X menu, it dissappears from the screen for an instant, then comes back at a different place, at a different size, with a different look and feel. If you're not running just the right window manager, pinned menus don't even have pins! There is no need for such "ICCCM compliant" behavior with TNT menus. When they're pinned, they can just stay there and manage themselves. But were TNT windows managed by an external I39L window manager, they would have to degenerate to the level of X menus. Under the OWM solution, pinned TNT menus work correctly, and they inherit their pinned window behavior from ClassPopupWindow, the same class managing pinned X menus. The look and feel is high quality, consistant, maintainable, and intentionally extensible. If I39L window management has such a negative impact on pinned menus, how else will it impact other parts of the toolkit and applications? Will it effect popup notices? Since they need keyboard input for the buttons, will they have to play the I39L window management game? How do we get the notice tail (a separate canvas) to line up, if the window manager decides to wrap a frame around the notice window? It is impossible to know how it will effect TNT applications, because the toolkit was specifically designed to be subclassed and extended in areas that overlap with I39L window management. NeWSRoom and the TNT virtual window manager are examples of simple, interesting extensions to the window class that are in direct conflict with I39L window management. We would be giving up a lot of actual and potential functionality, that we designed the toolkit to support in the first place. We need to redesign the window class for greater flexbility and easier subclassability, but those goals are at odds with I39L window management. The result of a cross of these two opposing goals would be massivly complex and would sacrifice most of the important advantages of the TNT approach. However, the OWM approach to window management, wrapping X windows in instances of the TNT window class, synergizes with extensions to the window classes. As an extreme example, you can make OWM wrap window frames with title tabs that pop up pie menus full of handy window management functions around all your X windows. There are several other technological advantages of managing X windows internally with NeWS, over managing them externally with X. By an external window manager, I mean one that is in a separate address space as the windows. Relative to the server, all windows are internal, all X "Xlib" and NeWS "wire service" clients are external, and NeWS canvas objects and light weight processes are internal. But an external X window manager is in a different address space must try to manage many shared resources at a distance, an intrinsicly difficult task, imposing limitations on the whole system and unavoidably restricting the user interface possibilities. The management of arbitrarily shaped windows becomes very complicated under an I39L window manager. In contrast, PizzaTool has a popup pizza preview window, whose shape is a rectangular frame around a round (or semi-circular, depending on your appetite) pizza window, with the space between the inside of the frame and the pizza cut out. It was very easy to implement, by subclassing ClassPopupWindow and overriding the /path method to cut out the inside of the frame and ask the center pizza client to add its shape to the path. When you move or stretch the window, you see a rubber-band preview of the actual shape the window will take when you release the button. The pizza path procedure knows to maintain a 1:1 aspect ratio (no oval pizzas), that centers the round pizza in the frame as you drag the resize corner around. The shape of a TNT window is not simply defined by curves or bitmaps -- it is defined by a method of the window object, which can apply constraints and may depend on the state of other objects in the system, like the size or number of slices of the pizza inside the frame. All this nice interactive feedback is totally trivial to implement with TNT, and is completely impossible with an I39L window manager. And even if an I39L window manager could be programmed to perform such custom feedback, it would still have to grab the server and lock out all other animation in the process, instead of using nondestructive overlays like TNT. X11 window managers must grab the server in order to animate rubber-band feedback over the screen when resizing and moving windows. This grabbing causes many problems with NeWS synchronous interests, that can be demonstrated by pressing the "Help" key while dragging out a rectangle on the root background. NeWS can do a much better job at managing global resources in the server because it is in the same address space and it has facilities like the overlay plane specifically designed to implement such window management functions, without even grabbing the server. This antisocial server grabbing behavior is just one symptom of a general class of problems with external X window management, including other important issues such as keyboard and colomap focus. If NeWS alone manages the input focus, it can manage it perfectly. An X window manager alone cannot, because it runs in a foreign address space, and is not in a position to synchronously block the input queue and directly effect the distribution of events the way NeWS is. But even worse is when an X window manager and NeWS both try to manage the input focus at once, which is the situation we are in today. The input focus problem could be solved in several ways: OWM solves the problem elegantly, as PSWM did in the past; OLWM could be made NeWS aware, so that when our own customers run our own external X window manager on our own server that we ship preinstalled on the disks of our own computers, OLWM could download some PostScript and let NeWS handle the focus management the way it was designed. It's criminally negligent to ship a product that is incapable of keeping the input focus up to date with the cursor position, when you have the technology to do so. Your xtrek has paged the window manager out of core, and the console beeps and you suddenly need to move the cursor into the terminal emulator and type the command to keep the reactor from melting down, but the input focus stays in the xtrek for three seconds while the window manager pages in, but you keep on typing, and the keys slip right through to xtrek, and you accidentally fire off your last photon torpedoe and beam twelve red shirt engineers into deep space! Oh yeah, and here is a picture of pizzatool: http://www.art.net/~hopkins/Don/images/pizzatool.gif http://www.art.net/~hopkins/Don/images/pizzatool.gif