Domain: fresco.org
Stories and comments across the archive that link to fresco.org.
Comments · 106
-
Re:You have the right idea
However I am quite dubious about actual "widgets" with user interface rules, based on work I did with NeWS.
Do you still have some documentation on NeWS? I've been looking all over the net for something but wasen't able to find much. I'd love to put up some links to documentation on NeWS on our website. We allready have a lot of other GUI systems covered. I don't really get where you are going with the rest of this paragraph, so I can't comment on this.
I also see this as locking us into user interface designs that will become obsolete.
We try to assume as little as possible about the objects getting created in the API. A button is "a objects that decorates a given graphic (label) reacts to some event executing a given command". The rest is an implementation detail: Wether that button is a simple rectangle or a 3D mesh with fancy lighting is of no interesst to the application.
The concept of a menu that controls a simple hierarchy could be outdated soon, already there is lots of interest in user-reprogrammable menus.
Fresco is concerned with displaying a menu (a set of given topics triggering given commands). Where those options come from is not the concern of a display server. To do reprogramable menus you need support in the client, the server will just make sure that all menus look and feel the same, no matter which program generated them. Of course some client-side library helping the developer to do reconfigureable menus is desireable. But how does that differ from let's say X?
I also expect window borders and titles to disappear if we can get the idea of them out of the server/window manager and into programs.
Why should a program be concerned with such implementation details? Why should a application developer care wether his program runs in fullscreen-only mode (no resize/move controls needed at all), in a classical windowing style (titlebars), in a style you propose (everything but the actual GUI elements of the application offeres the functionality of the titlebar) or a 3D VR environment (user just walks away).
Fresco can handle all thos estyles and probably lots more with ease, neatly separating the complete thing out into the "DesktopKit" (in X-terminology: WindowManager).
And I'm sure many other changes can happen that I have not thought of.
That's why we try to keep fresco as flexible as possible, trying to avoid "hidden assumption" like that we are rely on pixels, run on a 2D workspace, have a mouse and a keyboard only. run singleheaded or interactive, ... . That way there is very little need to hack on an extension to get around those assumptions once we discover that those were too restrictive. Only time will tell how successful we are with our struggle of course. -
Lets stop this bloat and refocus our efforts
Lets face it. X is pure bloat. Nobody uses X for what it was designed for. I have tried to run applications remotely several times and it doesn't work. Its slow, laggy, the graphics is screwed up and it is just not worth it. Everybody just uses x for desktop interface which it does very poorly. The windows are choppy when moving them opaquely and there are no advanced graphics acceleration features like alpha blending. We need to rethink the desktop. And The Fresco Project is my bet for the future of un*x desktops.
-
Re:What we need is more radical than a fork of XFr
Actually there is a fairly decent replacement for X, its called Fresco. It has "real" alpha transparency and is vector based. It is suppose to be a replacement for X, and was originally designed by the X consortium I think -- either that or (some of) the people that originally designed X.
But again, Fresco, and every other "replacement" for X's problem is drivers. You'd HAVE to get nVidia and ATI (especially nVidia) on board or it will never really get anyware -- just like Fresco and FrameBuffer are today. -
Re:What we need is more radical than a fork of XFr
Help develop Fresco. That has all the features you request (apart from the compatibility layer which can be added later once it turns useable:-)
-
Re:The problem of rewriting/forking XFree
he extensibility of X11 is such that almost any addition can be made
(or removed) with little problem.
What is X + ExtensionY? Is that still X? A application relying on ExtensionY will no longer run on plain X, will it?
With the current X11R6 standard comming out 1996 I keep wondering how many of todays cool new applciations will actually work on a server offering only what is part of the standard from back then...
X11 is good at what it does, a network transparent graphics protocol. Throwing this out would either require you to be tied to a single machine or rewrite much of X11 in any case.
Not really. Fresco is less then 190K lines of code. I am convinced that if you would reinplement it as an extension to X you wouldn't be able to reduce that number. That's one of the reasons we did not go that way. -
Re:Don't fork X
-
Compiled
There is a cross-plaform vector-based (3D) network aware GUI project underway, written in C and C++ and using OpenGL called Fresco. It's still in early development, but it has a couple of demos you can run.
-
Re:And that is why OS X will ultimately beat LinuxTrying to make Linux a desktop OS is like trying to make an octapus by nailing more legs onto a dog.
Actually, Linux isn't the problem. The Linux kernel is not a bad piece of software. The problem is X. X is a truly ancient solution to the problem of drawing windows on the screen. It was designed beck in the days when a graphical terminal was just that; a machine connected to a mainframe which had a graphical display instead of a textual one. X advocates claim that it has great network transparency. In a way, they are right, but the transparency is at too low a level. Compare X and MS Remote Desktop over a low-bandwidth link for an example. Modern features, like alpha blending are not supported by the X11 protocol, and adding 3d acceleration has to be done by hacking in an kludge of OpenGL, which destroys the network transparency.
There are some open source projects, like Fresco that aim at providing an alternative to X, but Apple have actually created one with Quartz Extreme. A lot of the problem with Linux is that it is living in the past, trying to recreate X/UNIX from decades ago. When they find a bit that's too antiquated to be useful, they hack it a bit until it looks kind-of modern.
Microsoft threw out DOS with NT (although they supported it until Windows Me), Apple threw out the old Mac OS with OS X. Th *nix crowd are still trying to adapt legacy ideas to modern computing. They will probably be able to for years to come, but eventually they will discover that you have to break backwards compatibility, or end up with a horrible kludge of aging ideas.
An aside: Have you noticed how many Linux users claim x86 is good, in spite of being a hideous architecture, because it's popular, but refuse to accept a parallel claim about Windows?
-
Re:Let the flames begin ... and ignore them.
Well, you could look here to find out about Fresco.
In short, in Fresco, everything is a vector, compared with X in whihc everything is a bitmap. Instantly everything becomes scalable i.e. resolution independent. It uses CORBA for communication, so it's network transparent, like X, from the word go. It is modular and Object Oriented, similar to X. It is designed to use OpenGL for rendering. X uses 2D acceleration. Yes, X allows you to do 3D, but X itself is 2D. Fresco is a much cleaner and more modern design than X. That's not to say X is a poor design, but it is nearly 20 years old and it is testament to its designers that it's lasted this long and has been extended this much. -
we arleady have one..
we arleady have a vctor based UI.. its called Fresco
-
Check out Fresco
You may want to check out Fresco, which would allow exactly that. In particular, the Fresco vs. X page might be interesting to you.
-
Check out Fresco
You may want to check out Fresco, which would allow exactly that. In particular, the Fresco vs. X page might be interesting to you.
-
THEY HAVE ONE...
its called Fresco.
-
Oh yes we do care about X's network abilitiesWhile it does have neat abilities, like being able to access workstations across a network, end users don't care about those.
Wanna bet?
Because of X, I get away with having one (1) good, fast computer that I keep reasonably updated -- the "mainframe". I have two other computers, and I don't do squat on them: They just function as X terminals, so that my wife and I can sit upstairs, downstairs, or in the garden with the laptop, and do email, surf, or whatever on the big machine (well, there is the rare LAN game on Win98 that is fun, too). Your "solution" would force me to fully maintain three computers. If that is progress, please count me out.
Also, if even half of the people here who keep bitching about X would spend even half of their time doing something about even half of the problems they keep talking about, X would either be far more advanced or Fresco would already be up and running. Obviously, X does enough of what most people want: If the X complainers were in real pain, you would have put your keyboard where your postings are a long time ago.
-
Your argument doesn't make senseThe fact that X is network transparent isn't a valid counterargument to the statement that X-Windows served its term, but isn't getting any better and so should be replaced.
X-Windows doesn't have a monopoly on network transparent UIs. Fresco, one project working on a high-quality UI, is also network transparent.
-
Projects they support
SPI looks like it's been pretty defunct for a while now anyway
... On the List of projects they list Berlin, which had it's name changed to Fresco, how long ago now?? -
Re:Comparison to PicoGUI?
There's a list of GUI-related projects I find very inspiring on Fresco's link page under Other GUI Projetcs. I hope we can get all the good things from all those systems together into Fresco... of course since they vary widely wrt. the scope and ideas behind each project that will not really be possible. But all of them have some very nice ideas and deserve to get some attention from anyone wanting to design a new GUI system (or improve an existing one) IMHO.
Also make sure to check out the "Important external Link" Sections for such interessting things like Squeak and more:-)
Do you have a link to more informations on NeWS (or other projects as interessting as that)? The one in said list does not really give that much information... -
Re:You know, Fresco...doesn't ring a bell?Your comment is profoundly uninformed -- did you ever bother to read the website and understand what Fresco actually is?
If a pda and the original mac could have a better gui then X in 1/100th of the memory then it had to go.
Don't be silly -- the display systems on the original Mac and most PDAs are both inferior to XFree, and don't use 1/100 of the memory (far more, or rather, X uses far less).
I use to be an X hater untill recently. Berlin is no longer needed except on older systems or pda's.
Uh, no. Berlin is not a "fast lightweight display server" or whatever you think it is. It's a innovative windowing system that aims to implement some radically new ideas in desktop graphics. From the Fresco introduction:
Fresco is a consistent, configurable, stand alone, modular, and device independent user interface system, formerly known as Berlin. Fresco is based on the concept of a server side scene graph. It uses CORBA, which results in the whole system being network- and language transparent.
For more information on what exactly is new and different about Fresco, the research it is based on, and more information the project, try actually reading the website before commenting, okay? -
Re:Debian packages
You think that's bad? So far, the only way of running apps on it (it has none of its own) are to run... an X emulator!
-
Re:Maybe in 10 years
-
Re:Maybe in 10 years
-
Not 5 years old?
From the FAQ:
berlin is not 5 years old. the berlin project formally started around 1997 (making us 3.5 years old)
*ahem* Somebody fix it, it's a wiki web after all. I'm too lazy. -
Re:X is not slow.
Fresco's technical merit is in its design, as documented in the book Design Patterns.
The interfaces are all well-defined as CORBA IDL files. You should read them. First thing you should understand is how to compose Graphics. Fresco is to TeX what Mozilla is to CSS. HBoxes (which are Graphics) are filled with Graphics, and the LayoutKit has the smarts to do the layout appropriately, including alignment. Very fancy stuff. Window placement, orientation, zooming are all handled by a stack of 4x4 matrices so the demos of rotated windows falls pretty naturally out of the design.
Bottom line is, just because you don't know how Fresco works, don't claim that rotating windows is its only technical merit. That's like saying that ability to count is a computers only technical merit. -
Berlin - Fresco name change
See THIS LINK in the story. -
Re:Old news
And some of the screenshots are treble, like this one
That "screenshot" is not a screenshot of Fresco. It's a screenshot of gv displaying postscript generated by a very early version of the Postscript DrawingKit -- in effect demonstrating that Fresco can now print.
-
Old news
-
Old news
-
Re:Berlin
You could check the link titled Name change...
-
Answer
-
Confusion
-
Confusion
-
Confusion
-
Re:So fix XI'm following your suggestion! I'm replacing the part of the X-Server I don't like with my own 'Implementation': The protocol. We needed a new name for that and came up with Fresco. Other people have done the same and used names like GNUstep (although they are merging their code back into X), PicoGUI, OpenBeOS, 3dwm, to name just a selected few.
Since all of these are very much different from X. Some of the projects mentioned go way beyond anything proprietary GUIs can do today! So if we are reinventing wheels, at least we are improving allong the way.
Regards, Tobias
-
Re:Why I love X and will defend it to the death...Yes, we all like X. But since Fresco was mentioned allrteady I'll step in on its behalf here. I knoe PicoGUI a bit and both projects are somewhat similar from the ideas behind it all (allthough with a very different implementation and emphasis:-)
With Fresco you get network transparency. We use CORBA to develop Fresco, so that's a free bonux. I know all those CORBA is bloated, jadajada, arguments, but I am confinced they do not apply to Fresco: We knew from the very beginning we will use CORBA and have taken its strength and weaknesses into account designing the overall system.
Anyway: Fresco is network transparent and it uses way less bandwidth then X. The protocol is so much more high level! The small demo we got only uses 1.9kBit/s to hold the connection with the remote server. I don't know any numbers for X, but VNC needs 800kBit/s when used to 'forward' the Fresco server to another computer via its protocol. It was using the same demo but with less then half the screensize the original server ran at. Not that the screensize does matter with Fresco. Of course I did the same things with the window (moved, rotated, shaded it, opened subwindows, etc.) using VNC to forward the display and running the Fresco server locally and having the client connect from the remote maschine.
Fresco allows for different 'WindowManagers' (of course we call them 'DesktopKit'). Those are loaded into the server and are not normal clients like in X, that's the basic difference.
You got a good point wrt. the decades of testing. Obviously neither PicoGUI nor Fresco can give you that. But then there's less testing needed: The servers have much less code. All the graphic-card handling stuff is separated out into libraries like SDL, GGI or whatever. Those have been thouroghly tested for a while now, makeing that critical component rather relyable.
Hardware support is not as bad as you imagine. Since neither PicoGUI nor Fresco (nor any other project in a sane mind) is writting graphic drivers themselves! There are excellent libraries, kernel modules, etc. around to do that. If there are only X-drivers, then you can still run on X-windows (it spoils the purpose of replacing X, I know:-) till one of the farious 'rip the drivers out of X'-projects is successful. There are several of those arround even now.
Finally you use the if it works, don't fix it argument. I like that, but obviously X does not work or there wouldn't be so many X-extensions getting actively developed. As I see it, you can either extend X (to Y or whatever you want to call it) or work on something new like PicoGUI or Fresco or some other project. In both cases you end up with a system where applications developed for it will not run legacy X-Systems (without considerable efford of the Programmer/Toolkit writer). Once you use an extension your application breaks for X-without-said-extension. So baiscally you end up with a system not 'forwardward' compatible with vanilla X, independent of wether you extend X or write something new. X-with-extension is of course backward compatible, but a compatibility layer can be added to another system later if need be. That's a lot of work, agreed, but the very simple case of just letting a X-server run in a window was allready demonstrated in Fresco.
Regards, Tobias
Some URLs you might find interessting: the Fresco Homepage, a short comparison of Fresco and X (the server is slow, please bear with it), finally a page listing among other things Other GUI Projects I found to be interesting for various reasons (both dead and alive;-).
-
Re:Why I love X and will defend it to the death...Yes, we all like X. But since Fresco was mentioned allrteady I'll step in on its behalf here. I knoe PicoGUI a bit and both projects are somewhat similar from the ideas behind it all (allthough with a very different implementation and emphasis:-)
With Fresco you get network transparency. We use CORBA to develop Fresco, so that's a free bonux. I know all those CORBA is bloated, jadajada, arguments, but I am confinced they do not apply to Fresco: We knew from the very beginning we will use CORBA and have taken its strength and weaknesses into account designing the overall system.
Anyway: Fresco is network transparent and it uses way less bandwidth then X. The protocol is so much more high level! The small demo we got only uses 1.9kBit/s to hold the connection with the remote server. I don't know any numbers for X, but VNC needs 800kBit/s when used to 'forward' the Fresco server to another computer via its protocol. It was using the same demo but with less then half the screensize the original server ran at. Not that the screensize does matter with Fresco. Of course I did the same things with the window (moved, rotated, shaded it, opened subwindows, etc.) using VNC to forward the display and running the Fresco server locally and having the client connect from the remote maschine.
Fresco allows for different 'WindowManagers' (of course we call them 'DesktopKit'). Those are loaded into the server and are not normal clients like in X, that's the basic difference.
You got a good point wrt. the decades of testing. Obviously neither PicoGUI nor Fresco can give you that. But then there's less testing needed: The servers have much less code. All the graphic-card handling stuff is separated out into libraries like SDL, GGI or whatever. Those have been thouroghly tested for a while now, makeing that critical component rather relyable.
Hardware support is not as bad as you imagine. Since neither PicoGUI nor Fresco (nor any other project in a sane mind) is writting graphic drivers themselves! There are excellent libraries, kernel modules, etc. around to do that. If there are only X-drivers, then you can still run on X-windows (it spoils the purpose of replacing X, I know:-) till one of the farious 'rip the drivers out of X'-projects is successful. There are several of those arround even now.
Finally you use the if it works, don't fix it argument. I like that, but obviously X does not work or there wouldn't be so many X-extensions getting actively developed. As I see it, you can either extend X (to Y or whatever you want to call it) or work on something new like PicoGUI or Fresco or some other project. In both cases you end up with a system where applications developed for it will not run legacy X-Systems (without considerable efford of the Programmer/Toolkit writer). Once you use an extension your application breaks for X-without-said-extension. So baiscally you end up with a system not 'forwardward' compatible with vanilla X, independent of wether you extend X or write something new. X-with-extension is of course backward compatible, but a compatibility layer can be added to another system later if need be. That's a lot of work, agreed, but the very simple case of just letting a X-server run in a window was allready demonstrated in Fresco.
Regards, Tobias
Some URLs you might find interessting: the Fresco Homepage, a short comparison of Fresco and X (the server is slow, please bear with it), finally a page listing among other things Other GUI Projects I found to be interesting for various reasons (both dead and alive;-).
-
Re:Why I love X and will defend it to the death...Yes, we all like X. But since Fresco was mentioned allrteady I'll step in on its behalf here. I knoe PicoGUI a bit and both projects are somewhat similar from the ideas behind it all (allthough with a very different implementation and emphasis:-)
With Fresco you get network transparency. We use CORBA to develop Fresco, so that's a free bonux. I know all those CORBA is bloated, jadajada, arguments, but I am confinced they do not apply to Fresco: We knew from the very beginning we will use CORBA and have taken its strength and weaknesses into account designing the overall system.
Anyway: Fresco is network transparent and it uses way less bandwidth then X. The protocol is so much more high level! The small demo we got only uses 1.9kBit/s to hold the connection with the remote server. I don't know any numbers for X, but VNC needs 800kBit/s when used to 'forward' the Fresco server to another computer via its protocol. It was using the same demo but with less then half the screensize the original server ran at. Not that the screensize does matter with Fresco. Of course I did the same things with the window (moved, rotated, shaded it, opened subwindows, etc.) using VNC to forward the display and running the Fresco server locally and having the client connect from the remote maschine.
Fresco allows for different 'WindowManagers' (of course we call them 'DesktopKit'). Those are loaded into the server and are not normal clients like in X, that's the basic difference.
You got a good point wrt. the decades of testing. Obviously neither PicoGUI nor Fresco can give you that. But then there's less testing needed: The servers have much less code. All the graphic-card handling stuff is separated out into libraries like SDL, GGI or whatever. Those have been thouroghly tested for a while now, makeing that critical component rather relyable.
Hardware support is not as bad as you imagine. Since neither PicoGUI nor Fresco (nor any other project in a sane mind) is writting graphic drivers themselves! There are excellent libraries, kernel modules, etc. around to do that. If there are only X-drivers, then you can still run on X-windows (it spoils the purpose of replacing X, I know:-) till one of the farious 'rip the drivers out of X'-projects is successful. There are several of those arround even now.
Finally you use the if it works, don't fix it argument. I like that, but obviously X does not work or there wouldn't be so many X-extensions getting actively developed. As I see it, you can either extend X (to Y or whatever you want to call it) or work on something new like PicoGUI or Fresco or some other project. In both cases you end up with a system where applications developed for it will not run legacy X-Systems (without considerable efford of the Programmer/Toolkit writer). Once you use an extension your application breaks for X-without-said-extension. So baiscally you end up with a system not 'forwardward' compatible with vanilla X, independent of wether you extend X or write something new. X-with-extension is of course backward compatible, but a compatibility layer can be added to another system later if need be. That's a lot of work, agreed, but the very simple case of just letting a X-server run in a window was allready demonstrated in Fresco.
Regards, Tobias
Some URLs you might find interessting: the Fresco Homepage, a short comparison of Fresco and X (the server is slow, please bear with it), finally a page listing among other things Other GUI Projects I found to be interesting for various reasons (both dead and alive;-).
-
Fresco
The PicoGUI people mentioned Fresco which is a similar peice of software (aparantly the author didnt know it existed). However, Fresco is a little different. It doesnt target PDAs (well at least not exclusivly).
Unfortunatly, Fresco is really only useful for Demo's right now. But something like this could replace X in years to come, basicly because it'll standardise a lot of things that initial scare users and have them running for the hills when they first encounter X, kde, gnome, window-managres+, gtk, qt, etc... This things, turns all that, into one package, something i've been waiting for.
MacOSX does a pretty good job of this, but who has the money for it really? :)
The fresco homepage is above, but go right here to find out what it really is. -
Fresco
The PicoGUI people mentioned Fresco which is a similar peice of software (aparantly the author didnt know it existed). However, Fresco is a little different. It doesnt target PDAs (well at least not exclusivly).
Unfortunatly, Fresco is really only useful for Demo's right now. But something like this could replace X in years to come, basicly because it'll standardise a lot of things that initial scare users and have them running for the hills when they first encounter X, kde, gnome, window-managres+, gtk, qt, etc... This things, turns all that, into one package, something i've been waiting for.
MacOSX does a pretty good job of this, but who has the money for it really? :)
The fresco homepage is above, but go right here to find out what it really is. -
Re:How about Berlin?
"it doesn't look like much has changed since February."
That's because it's not Berlin anymore. It's Fresco. Last I heard, they were planning a new release of Fresco for this week. -
Why berlin?
We have Fresco!
;) -
Re:What's the point?I believe Apple is the "first" to start making use of the video card's GPU for day-to-day stuff.
You are completely wrong. Did you actually bother to check this 'fact'? That's like claiming Apple was the 'first' to ship protected memory and preemptive multitasking in an operating system.
Hardcore systems produced by the likes of SGI have done this for years. WindowsXP supported this from its release, introducing it to consumer operating systems a year before Apple shipped their hardware accelerated Quartz in Jaguar.
For Christ's sake, even Berlin had this before Apple. And you know, that's just sad.
-
Sorry, couldn't resist...
-
Re:Huh
Pfff! And I wanted to have my aterm at a weird angle.
You want Fresco (nee Berlin nee Fresco, it's the amazing rubber name) -
The anti-pro-X debate is missing the point!
There are a lot of people whining about X (myself included). Most people say X is (take your pick) bloated, slow, obsolete, inefficient, or hopeless. Now some of these individual claims may have some truth to them, but the fact is that X despite its knarliness, works, and it works today. There isn't any real alternative, and it can continue to be extended for a long time.
But people who say such things about X are missing the point. X is ugly, in the same way that x86 is ugly. I think the analogy is a very apt one. Both are rather old designs, both are the most prevalent, both have had to be extended numerous times (and successfully), and both work, and work quite well. But neither one will get any design awards: the only thing we're doing at this point with either of these is leveraging the existing code base (i.e., the millions of x86 binaries on the one hand and X applications on the other) and avoiding duplication of past work by building something from scratch. And frankly, I think both are beginning to reach the end of the line: the further we go, the more effort we need to expend for an increasingly marginal return.
For the x86 example, Intel perceives this, and wants to jump ship now, even though its replacement is not as robust, fast, or powerful as its last top of the line. Once again, people who point this fact out are missing the point: Intel is laying down a roadmap, to service a broader goal of an architecture it can grow with for the next decade or more.
Why can't we do the same with X? It's going to get harder and harder to grow with X, so lets lay some groundwork now for a window system we can grow with for the next decade or more.
I am shocked and amazed that more comments are not mentioning Berlin, that is, Fresco. Do people not know about this? This is the only project I've found that has half a chance of being a suitable replacement for X. There's a framework there, a coherent vision, and even a basic running system. This isn't vapor, folks, or are these people a bunch of anti-X whiners with no code to back up their pointless bitching. They're not FUD-mongers; at least listen to their well-balanced (I think) justification as to why they're working on this project. It's quite easy to see that they're not at all motivated by hatred of X, but by a desire to design an elegant and network-transparent window system.
Why don't we have more of that nowadays? Half the OSS movement seems to be driven by hatred of Microsoft (or simply closed-source software), rather than love of elegant, useful, robust code born of honest work. At some point someone is going to have to worry about more than simply getting things done as quickly as possible, be-damned-how-it-works, and think more about design and the way things should be. The former type of attitude breeds stuff like MS Windows. Is that really what you want your windowing system to become? If something isn't done before long, X is going to be just like Windows: pasted and taped together and building on a merely serviceable codebase. This, I think, would be a great injustice to X. Let it die a peaceful and honorable death now, rather than a violent and hate-filled one later when it becomes so horrible, so monstrous, that the issue of replacing it is forced upon us and we throw its head on the guillotine.
Remember that at its inception X itself was merely a design framework by people who wanted to do a windowing system the right way. That X has served so well for so long is a testament to that foresight. But please, let us have the foresight to know when to design something new on that same basis, learning from what we have done. A rejection of the code does not mean a rejection of the vision or of the talent that bore that code. -
The anti-pro-X debate is missing the point!
There are a lot of people whining about X (myself included). Most people say X is (take your pick) bloated, slow, obsolete, inefficient, or hopeless. Now some of these individual claims may have some truth to them, but the fact is that X despite its knarliness, works, and it works today. There isn't any real alternative, and it can continue to be extended for a long time.
But people who say such things about X are missing the point. X is ugly, in the same way that x86 is ugly. I think the analogy is a very apt one. Both are rather old designs, both are the most prevalent, both have had to be extended numerous times (and successfully), and both work, and work quite well. But neither one will get any design awards: the only thing we're doing at this point with either of these is leveraging the existing code base (i.e., the millions of x86 binaries on the one hand and X applications on the other) and avoiding duplication of past work by building something from scratch. And frankly, I think both are beginning to reach the end of the line: the further we go, the more effort we need to expend for an increasingly marginal return.
For the x86 example, Intel perceives this, and wants to jump ship now, even though its replacement is not as robust, fast, or powerful as its last top of the line. Once again, people who point this fact out are missing the point: Intel is laying down a roadmap, to service a broader goal of an architecture it can grow with for the next decade or more.
Why can't we do the same with X? It's going to get harder and harder to grow with X, so lets lay some groundwork now for a window system we can grow with for the next decade or more.
I am shocked and amazed that more comments are not mentioning Berlin, that is, Fresco. Do people not know about this? This is the only project I've found that has half a chance of being a suitable replacement for X. There's a framework there, a coherent vision, and even a basic running system. This isn't vapor, folks, or are these people a bunch of anti-X whiners with no code to back up their pointless bitching. They're not FUD-mongers; at least listen to their well-balanced (I think) justification as to why they're working on this project. It's quite easy to see that they're not at all motivated by hatred of X, but by a desire to design an elegant and network-transparent window system.
Why don't we have more of that nowadays? Half the OSS movement seems to be driven by hatred of Microsoft (or simply closed-source software), rather than love of elegant, useful, robust code born of honest work. At some point someone is going to have to worry about more than simply getting things done as quickly as possible, be-damned-how-it-works, and think more about design and the way things should be. The former type of attitude breeds stuff like MS Windows. Is that really what you want your windowing system to become? If something isn't done before long, X is going to be just like Windows: pasted and taped together and building on a merely serviceable codebase. This, I think, would be a great injustice to X. Let it die a peaceful and honorable death now, rather than a violent and hate-filled one later when it becomes so horrible, so monstrous, that the issue of replacing it is forced upon us and we throw its head on the guillotine.
Remember that at its inception X itself was merely a design framework by people who wanted to do a windowing system the right way. That X has served so well for so long is a testament to that foresight. But please, let us have the foresight to know when to design something new on that same basis, learning from what we have done. A rejection of the code does not mean a rejection of the vision or of the talent that bore that code. -
Re:Proof of concept
3D window skew. Yeah, that's a lightweight, fast, and efficient feature that everyone needs.
You seem to be under the impression that this is an extra feature added solely to look cool in screenshots. Fact is, the ability to skew, rotate and scale fall directly out of the fact that all of the transformation are stored as simple matricies. That's efficient.
Fresco also works in real-world units such as centimeters instead of arbitrary pixels, making things like the choice of screen resolution obvious; always pick the highest. Things don't get smaller when you up the res. This is why Fresco is the future.
-
Re:Just how bad is X? [fixed link]
erm, I meant www2.fresco.org, not www.fresco.org. Oops.
-
Re:Just how bad is X?
Berlin no longer exists; it is now Fresco. And it works, although not terribly well. You can't use it for day to day stuff, but it has a lot of stuff that would be difficult to add in X. My only problem with Fresco is that it forces you to use their one toolkit (uniformity or something). Maybe one day it will replace X, but for now X is better (just like GNU/Linux is better than pure GNU using the Hurd).
-
This is great and all...
...but X, for all its extensibility, is getting long in the tooth. X is the x86 of the software world: we've squeezed it much, much farther than the original design intended, and it still functions servicably--but who really admires it in the abstract? Both are ugly.
In the meantime, I do longingly await Fresco/Berlin. Now that's nice. Now only if it were usable...
Let us now all observe a brief moment of reverent and mournful silence to mourn the NeWS that might have been.... -
Re:If it's resource constrained, why run X?I agree wholeheartedly. It's interesting how people clamor for a new GUI "because X sucks" and try to get away from client/server and toward using the framebuffer directly... but then you end up like something like GTK/framebuffer or DirectFB that, while nifty, aren't usable as a real windowing system because they have no way to arbitrate between multiple applications.
If you look at some of the real next generation GUI projects out there like Fresco or PicoGUI client-server architecture is still important in the design, but other changes are happening: the applications communicate with the server at a higher level, the server handles rendering in more modern ways, etc.
But client/server is definitely a good thing, and itn't just for running remote apps.