To read all comments associated with this story, please click here.
Maybe you don't, but the thing that pisses me off EVERY time I use Linux is just how jerky the UI is.
Accelerated X is more than just wobbly windows (and that is something that would be silly to actually keep - its likely there for just showing what CAN be done, not what WILL be in actual implementation)
Going from OSX's beautifully double-buffered, OGL accelerated Aqua to Windows's lucky to not split windows as you drag them quite as badly as in the past, to some Linux desktops where window movement is just appalling, please.
Linux needs this, and updating workspace managers etc will also come in useful.
I don't need this stuff. Sure its fun to play with, by for day to day stuff I find it more annoying than anything.
If it's annoying, than the designers aren't doing their jobs properly. Putting the display server on GL isn't about fancy animations, it's about a number of very practical human interface issues:
1) It's about making anti-aliasing pervasive on the desktop. There is no excuse in 2005 to not have a fully anti-aliased desktop. NeXTStep showed us the way decades ago, and they were running on ridiculously primitive hardware by today's standards.
2) It's about polishing the UI by eliminating flicker and tearing. Again, this is a very old concept, but has yet to reach the desktop except in OS X. Flicker-free animation has been the standard for games since I loaded my first NES cart, and probably a good deal longer.
3) It's about enabling user interface designers to come up with new ways of interacting with computers, inside the existing WIMP paradigm. OS X's animations are actually a huge part of this. Fundementally, animations are about establishing transitions. Transitions are important in a UI, much like they are important in a story or presentation, because they help the user track the changing state of the desktop. Well done animations make transitions more natural, and enable the user to figure out where everything is without thinking as much about it.
4) It's about enabling artists to create more graphically-rich user interfaces. I don't know about you, but all else being equal, I'd much rather read a polished, glossy magazine than a simple, drap newsletter. The computer interface is no different.
Ultimately, it's about providing the mechanisms to allow designers to make interfaces that are both more pleasant to use, and more efficient to use (through a reduction in cognitive load).
I agree with everything rayiner said but the thing he (sorry if you are a 'she' rayiner :-) is that when most people are using the desktop they have an extremely power processor sat on the graphics card doing nothing.
Xgl will offload much of the graphic processing to this currently unused processor and freeing up the load on the CPU!
1) sorry but i dont buy the need for that. maybe im old hat but i just dont buy it.
2) can be dealt with without the need to go opengl. what is needed is some buffering of the desktop graphics. going opengl for that is overkill...
3) maybe so. but again i wonder about the need to go opengl to handle animations. 2d acceleration have been around a very long time.
4) just as long as we dont end up with a polished piece of glass that will shatter if you as much as look at it funny. build it to work reliably first!
as for cognitive load. silly me, but i find that simple recognicable shapes helpe there more then a million and 1 shades of any color
having the ability to create buttons in 1001 diffrent shapes dont help much. it just means that i have to rember what the button is in that interface vs this interface...
This is so true and well-written, I had to blog about it. http://djst.org/blog/2005/12/22/animated-desktop-for-the-sake-of-us...
and that is what we call a lack of vision
compositing is designed to speed things up, to make actions possible. these actions can and should serve a purpose in the arena of user feedback.
not everything comes down to useless animations. but you are probably only used to windows so its immaterial.
Why move away from commandline? Wasn't win 3.1 good enough? What acceleration provides is capabilities to innovate in ways that couldn't previously be done.
While there will always uses of new technology that have no merit other than looking pretty while taxing your computer, advancements like the OpenGL acceleration have given the tools to create more useable interfaces that would be otherwise impossible to create. And often you need the technology in place so you can experiment with it to find a new paradigm. One area I hope they go to is some standard backend that all programs communicate with, which will resize icons, text, and like dynamically as you change the resolution. Among other things it would help those with poor sight to easily move to higher resolutions.
Also, as others have mentioned, there are immeadiate practical benefits as well with anti-aliasing and eliminating problems like flickering.
One technology I believe will be key in the future is storing normal (not game) window contents on the graphics card in vector form.
People keep missing the fact that Cairo antialiases objects to a fixed sized buffer. If the window manager transforms this buffer in any way other than a straight copy all of the antialiasing is lost. Even simple scaling ruins the antialiasing computation.
Storing the window contents in vector form lets the antialiasing computation be deferred (and done on the GPU) only after the window manager has decided on final window placement. Doing this requires GPU based glyph bitmap generation, but this has already been demonstated to work.
Yes, all of this can be done on the main CPU and that line of thinking gave us WinModems!
Simple example:
Ubuntu has this gksudo thing that shades the desktop when the user needs to submit a password. The shading is done to make it clear that you can't do anything else while the dialog is showing.
The problem is that this shading effect has to be done in a way that makes it essentialy just a full screen screen shot, hiding the actual state of the desktop.
With the help of OpenGL an effect like this could be implemented so that you still see the real desktop.
I was thinking that it would be best to put a blurry glass (transparency) effect over (using shadows to imply heigt difference) the desktop to communicate the input block.






Member since:
I don't need this stuff. Sure its fun to play with, by for day to day stuff I find it more annoying than anything.
The desktop used to be a tool to get to other programs, but now we need fancy animations and things on the desktop. Why are people wasting so much time there? And don't say we need the speed. Anything recent can handle a variety of graphical special effects already.
New 3d effects without a new paradigm for the desktop and how we react with it is just wasted time.