| « More on Layers | Email 2.0 » |
Sat, Jan 28, 2006
![[Icon]](rsc/img/chain_link.gif)
No, not an anti-MS rant, I'm talking about the generic, cross-platform approach of putting GUI apps in rectangular boxes called 'windows' - I think they're on the way out. And so, to break my recent monoblog trend and also to brush up on my Gimp skills, here's some possible advances.
Back when we first started having graphical interfaces, we had 2-dimensional rectangular screen. To make the most of it, we broke it up into multiple smaller rectangles, one per application. Windows.
And that made sense, when we were working with 2D hardware. But 3D-accelerated graphics are the current desktop trend. What's been done with it so far? They've added shadows around windows to emphasize their placement, added mini-views of the window to the Alt-Tab task switcher, and made it possible to flip windows around.
That's really just minor changes to what we've already got. Throw it away, and think about a truly 3-D interface. What does it give us?
Well, it pretty much means transparency & resizing can be done in near-limitless fashion. So let's build on those two as a starting point, instead of starting with existing windows ideas and adding 3D features to them.
Instead of windows, let's talk layers. You're already using layering techniques with windows: The active window sits 'in front' of all the other windows. Fine, but it means each window is obscured by the one above it.
Unless you're using a desktop with multiple virtual screens, such as, oh, every major Linux window manager. In this case, you can spread your windows over multiple screens to keep them from getting in each other's way.
A useful idea, but still old-school.
Instead, let's imagine an unlimited number of layers are available, any size you like. When your desktop starts and you have an empty screen without apps, you have one layer, the size of your screen: The 'desktop'
Now you start up a web browser. You now have two layers: The desktop layer, and the browser layer. The browser occupies the whole of the screen, but not the whole layer: Layers are any size needed. If the page is bigger than will fit on the screen, it simply continues down the layer, and you scroll up & down the layer instead of scrolling the window.
Since you're online, you also fire up your IM client. Up it pops on a third layer. Note the lack of borders, as it's using the whole layer, not a discreet window. And note the layer is transparent so you can still see what else you were doing:
So far, it sounds & looks fairly like what we have right now, huh? Where's an advantage?
Well, let's look at what happens when we actually get an IM message, which would normally pop-up a new window that gets in the way of our web browser. An annoyance.
How can we make it less annoying? Well, what if the layer-manager software we're using was programmed to bring up new IM windows in a transparent layer, which it puts visually in front of our current layer but doesn't give focus to?
Effectively, this means that we continue to do whatever we were doing, with keyboard & mouse input only affecting the browser, with the entire browser visible, but we can also see that we have a new message, who it's from, and what they've said.
An improvement. We can then finish what we're doing in the browser & only then give the IM focus, making it fully-visible and the recipient of keyboard input.
But what about when we've got several conversations going? A bit hectic with the Alt-Tab, surely?
Nope: Here we take a leaf from the 'virtual screens' functionality, and also from the graphics editors with multi-layer functions: We anchor layers together. All our IM layers get merged into one super-layer.
So now, each time we get a new IM whilst browsing, we still see that new message transparently. But when we reach a convenient place to switch from browsing to IMing, we switch to the IM super-layer and see all our IM layers. Essentially, we're manufacturing virtual screens as we need them by merging our layers.
So you eliminate a few annoyances & get better use of 'screen estate' with layer managers. What else?
By using layers instead of windows & being able to give a layer a degree of transparency, multi-windows tasks become much easier. If, for instance, you have some text in a picture that you want to transcribe, you could have the picture transparently visible as you tapped away with the word processor:
Or you could zoom out on your layers & have them side-by-side in a tiled superlayer:
Searching within a document doesn't have to obscure part of the screen if the search is in a separate layer:
Alerts such as calendar reminders, instead of an annoying dialogue box that you have to Okay to get rid of, or that are confined to the taskbar where they don't get noticed. Replace them with a new layer, and:
What about when you have so many IMs going that you juts can't fit them all onto the screen? Time to make use of varying zoom-levels within your superlayer: The active IM is full-size, the rest are miniaturised:
And now let's think about a taskbar: It's a widespread concept.
But instead of being a separate applications, it's just another layer. A wide, short layer, but a layer nonetheless. The 'Start' button is not an integral part of the bar: It's a simple one-button QT or GTK application that's been 'swallowed' in the taskbar layer. You can have any other applications you like swallowed into the taskbar as well: An icon manger to launch applications, a clock, more menu-launching buttons, etc. Such configurability would make the taskbar even more useful than it is today.
Also swallowed in our taskbar layer are miniature views of every other layer and/or superlayer. So when we're in our browser & want our taskbar, we hit the shortcut key and up it pops in its default small view.
Want a better look at the IMs in the superlayer? Give it a click! The active contents of each layer within the superlayer are shown:
Want an even better view of everything? Expand the taskbar layer to fill the screen! (I'd show you a pic, but frankly I'm tired. So just imagine it, yeah? ;)
And so on and so forth.
There's nothing hugely radical in there, and a lot of it could be done with windows. I just wanted to 'float' the concept of ditching windows & using layers instead.
Hope it didn't come across as too dull. . .
![[Links]](http://geekblog.oneandoneis2.org/skins/112/rsc/img/chain_link.gif)
Hmm.. new look for twitter? I hope it gets less "Ick! Change! Put it back!" nonsense than Facebook..
08/02/12
Facebook Syndication Error
11/02/12
![]()
I last listened to:
Johann Pachelbel - Canon in D major
Most recent photo:
Submersible houseboat