Y: A Successor to the X Window System
impto writes "Whenever someone brings up the topic of replacing X, everyone always says that's nice, but where's the code? Well, Mark Thomas put his money where his mouth is and produced a replacement that maintains network transparency while adding many of the features that people desire from X such as alpha blending and a built-in toolkit. It still needs a bit of work to be as featureful as X but it's a fresh start that takes advantage of current technology and ideas. Read the paper here in PDF (1.7MB) or PS or grab the source and start hacking."
That's all well and good, but one of the reasons that X is so successful is that you can use whatever toolkit you want, and all X really is is a network-aware framebuffer.
This leads to toolkit darwinism, which has left us with essentially GTK and QT as the two dominant toolkits. Imagine if X had been shipped with Motif as its native toolkit? Who the hell would use that in 2003?
You're doing it wrong.
What will they do after they've finished with Y and Z, they'll have no more letters of the alphabet then. It'll be a disaster
I have over 70 freaks, do you?
According to the webpage:
;-)
Y depends on:
* libSDL 1.2 (available at www.libsdl.org)
Now, doesn't libSDL again depend on X?
Note to self: get smarter troll to guard door.
UNIX desktop environments are a mess. The proliferation of incompatible and inconsistent user interface toolkits is now the primary factor in the failure of enterprises to adopt UNIX as a desktop solution.
:-)
So what do we do to solve this mess of user interfaces? Let's create yet another one! I love the way that geeks think
I don't really like this... X is mature and popular, replacing it will take a *lot* of time, and most people will not switch unless the major distributions do.
And anyway, alpha blending and an official toolkit? No. The unofficial X toolkits work well enough, and alpha blending is not very hard to hack in - it's also quite useless for anything other than eyecandy.
I doubt this project will get much highlight after this initial slashdotting.
...wouldn't it be more in keeping with tradition to call it X++?
philcrissman.com.
Everybody says X sucks, that it's bloated, that it's slow, ... and everybody wants to replace it. The best effort I've seen so far it Qt (especially Qtopia for palm devices).
I think X is like Unix : it was inadequate and bloated but computers have caught up with their demands, in terms of power and disk capacity.
Computers get more and more powerful, networks are faster and faster, and X is more and more lightweight comparatively. Combine that with decades of testing and millions of developers who have experience with it, and I can guarantee X is there to stay and evolve.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
There is no way to get consistency in a window system. People will port their favorite window managers and toolkits to whatever window system you create. MS Windows runs many of the same toolkits that X11 does. Apple is even worse, officially supporting OS 9, Carbon, Swing, and Cocoa-based applications on the same desktop, and now also X11; and in addition to all that, toolkits like Gtk+, FLTK, Swing are also being ported to native Quartz backends.
If you want consistency on your desktop, just choose to use a consistent set of applications. Most non-computer experts can't even tell the difference between an MFC, Gnome, KDE, and wxWindows application: they all look equally flaky and confusing to them. And most people incorrectly think that something is an OS X native application if it has shiny gumdrop buttons. In short, most people neither know nor care.
Read the paper. It is of shockingly good quality, both in the writing and the completeness of ideas. The writer is a college senior!
The document covers this with the obvious solution:
Some people don't like the name Y. I say hey, Y leaves us with Y Windows.. which is a good question.. why windows? Use Linux.
My Blog
Let's call it Youvert! ;-)
The preceding comments reflect the author's personal opinion and are public domain, unless explicitly stated otherwise.
4. It's a final year project. Sorry, but this guy's just an undergraduate student, no offense but I find it highly unlikely he can come up with something superior to X, QT and GTK (all of which this system supposedly replaces) in a year of work.
I was under the impression Linus started work on Linux while an undergraduate student?
Think nothing is impossible? Try slamming a revolving door.
This guy seems to know what he's talking about and as far as I can tell he's got a proof of concept to show allready. Along with solid research and design.
I wouldn't be to fast at hand with bashing this guy - he lists all the other XFree replacements and for some like Berlin/Fresco he can clearly state why they failed and what you have to aviod to not fail the same way. And he also acknowleges XFrees benefits and sees no point in overthrowing them.
Keep an eye on this project, this could be something really interessting.
We suffer more in our imagination than in reality. - Seneca
Well yes, but it allows people to transfer system relatively painlessly, should Y become accepted. Apple have been masters at this in the commercial sphere, having moved their user base first onto RISC and then from a proprietary OS to a less proprietary *nix based system every time providing a way to keep old ways of doing things unbroken. The Free Software community could learn a thing or to. An admirable effort, X Windows for all its merits and for all the work that has gone into it is still a bit of a pig although i see the human interface issues as more pressing than the architectural ones. I wish the Y guy all the best of luck with his project and ask him not to forget about putting good human interface at the core of his thinking.
True, but Linus didn't plan it as the next big thing that replaces Unix and Windows. It turned out quite well after years of work by many contributors, and the same thing might as well happen to Y. It's too early to predict anything, so in the meantime it's probably best to do as Linus says: forget about competition and just focus on writing good software.
Escher was the first MC and Giger invented the HR department.
BSD was originally developed at Berkeley - ie college students, gov't funding.
XWindows was originally developed at MIT - ie college students, gov't funding
GNU was originally developd at MIT - ie tenured college professors stealing BSD code and relicensing it.
Linux was originally developed by a college student in Finland.
See a pattern yet?
Perl is actually an exception in that it was originally developed to scan HTTP logs to see who was downloading porn at the NSA, and Larry Wall is now employed by O'Reilly which is the number 1 publisher of perl books, does a lot of perl training, etc. so there is a business model behind it.
Do you even lift?
These aren't the 'roids you're looking for.
You are making a common mistake. Just because someone is not skilled in the areas that you are, doesn't mean that they aren't skilled in other areas. Just because they have a hard time learning what you find easy doesn't mean that that don't easily learn many things that you find difficult to impossible.
E.g.: My wife has, after years of sporadic effort, finally learned that files are not stored inside of the programs that create them. I think. But she can pick up a new musical instrument and with a couple of hours practice play reasonably advance music on it. Not just scales, and not just strings. She specializes in ethno-musicology. Some things she handles well in an hour would take me years to do as well.
But with a bit of guidance she is able to handle ordinary WordProcessing, Graphics, and Music Composition programs. (The only problem is that she tends to save files in random places, and not understand why. Or where. I'm still working on trying to get her to understand disk folders.)
People have radically different skills. Learn to enjoy this. Or at least accept it without shouting. Its the people with different skill sets that have the most to offer each other.
I think we've pushed this "anyone can grow up to be president" thing too far.
Thank you *very* much for pointing this out.
For some reason, people (generally folks new to X) consistently manage to completely misunderstand how X works, and happily rant about it. Among the issues:
Problem: X has bad 3d support.
Answer: No, it doesn't. Manufacturers have just barely put out drivers, and still don't have great install procedures. Starting with a new system would make this problem orders of magnitude worse.
Problem: X uses lots of memory.
Answer: No, it doesn't. Try running pixmap_mem (and the analyze script that comes in the same package) on your system. Unlike Windows apps, X11 apps store pixmaps in the server. X11 newbies frequently confuse this with X using a lot of memory. Combine this with the fact that Unix memory utils multiple-report memory usage of shared libraries, and report device mapping as memory usage, and people look at X and say ("Oh, it's blowing 30MB of memory in overhead."). No, it isn't. Trust me.
Problem: X11 is inefficient.
Answer: No, it isn't. X11 is pretty damned efficient. Today's pixmap-laden interfaces can run much more slowly over a network than the original interfaces, whicch were mostly big, flat-color rectangles, but the same is true of VNC and similar.
Problem: X's multiple-widget set system is a bad idea.
Answer: No, it isn't. People look at X and think "Gosh, I don't want to use Athena apps." The thing is, the widget-independent design of X has been a huge boon. X11 dates to 1987. If we had been unable to advance through widget sets, we'd still be using ugly, grotty Athena. But, you say, this ignores the fact that Windows and Mac OS have advanced through the years! Nope. First, Windows widget sets *have* broken user-level compatibility on a regular basis. Menus in Office XP now work a lot differently than menus in 1987 did. Second, some widget sets are hamstrung by initial design flaws. The classic MacOS widget set does not include a slider widget, for example. As a result, years of application developers misued the scrollbar widget, made up their own widget (which led to even worse user interface problems), or just went without. The ability of X11 to evolve has let things like KDE's tearable panes come to the fore. Also, when it comes to APIs...the modern, easy-to-use APIs of GTK and Qt blow away the horrific Macintosh Toolbox API (note: I am not a Cocoa developer, so things may have improved) or the almost-as-grotty Win32.
Problem: X11 is hard to use.
Answer: No, it really isn't. Occasionally, piss-poor setup on the part of distro makers has made things more of a pain than it should be. If a user isn't interested in remote windowing, he shouldn't have to worry about xauth or xhost. This is largely a problem of the past.
The main "problem" with X11 is actually newbies to it making a bunch of claims about software that they haven't used and don't understand. They've frequently just come off of a decade of Windows use, and expect things to work in precisely the same way, and are horrified when there are differences.
The majority of people I've seen complaining about X11 are Johnny-come-lately types. Most of the older folks who have been using it for a while just don't care enough to respond to the complaints, which they see as pretty uninformed.
Now, there are things about X11 that aren't that great. X11 supports an *extremely* rich color model. If you're using Xlib (which you shouldn't be doing unless you're writing a widget set), it is a royal pain in the butt to support every color model available. This was done to handle the vast array of hardware that X11 has been run on.
X11 doesn't support a great way to share identical pixmaps from different apps. This is really hard to do in a secure way.
Basically, I'm reminded of the SSL discussion that came up recently. Everyone wants to run out and rewrite SSL to be simpler, faster, easier. They don't understand that the stuff in SSL is there because it *needs*
May we never see th
Read the paper. (I went to his project presentation and helped review the paper before it was submitted, so I don't need to. :) All of the details you want are clearly presented there.
:-)
And development has stalled until November because he's just finished his 4-yr Masters degree and is taking a well-deserved holiday before starting his new job.
Cheers,
David
1. Y has been designed so that an X compatibility layer would be possible to implement. You wouldn't get many of the benefits from using Y, but it would provide backwards compatibility. I'm pretty sure that's mentioned in the project report.
:-)
2. Wrong. Hardware interfaces for new drivers can always be derived from the X source code (where available); if it becomes big enough, then the companies may well be willing to describe their specs for a Y developer, too.
3. The KDE and GNOME desktop projects have a lot of code which is no-longer needed if adapted to run under Y. The applications could probably be adapted to Y with relatively little effort.
(I'm not an X/GNOME/KDE coder; the above may be an exaggeration one way or the other.)
4. ``this guy`` is a friend of mine. I know him, he's smart. He aced a first at one of best university's in the UK and got a prize for this project.
You are clearly only questioning the fact that an undergrad could develop something worthwhile when nobody else did. I'd much rather you'd debate the quality of the work rather than baselessly disparaging the person who created it.
Oh, and it wasn't a year of work, it was 9 months, tops. And he still had 8 other courses to do at the same time along with a break to do the requisite 8 final exams.
Cheers,
David
I see some flaws in the document posted.
I love research, and more than anything I love the people involved in doing research: those who create, explore and can give us future direction. But I also believe that the research must be truthful if we want to build on it.
The Y presentation paper is interesting on the ideas it introduced (we could argue whether they are new or not, since NeWS did did before, in fact, with a more extensible system) but it fails on presenting X correctly.
The document goes on to show that the X-based approach has lead to major GUI fragmentation, and how the MacOS and Windows do not have this problem.
On the screenshots where X looks bad, the author shows some old graphics program running together:, xpdf and two modern apps: mozilla/xul and gnome calculator. All of those programs have Gtk-based or Qt-based equivalents that would have made the whole experience consistent.
The screenshot should instead be presented as a proof that X can still run applications that were developed 12 years ago.
Then he shows the Mac and Windows. Again, not really honest screenshots, because even Apple is shipping two different GUI views: the brushed metal theme and the aqua theme (this combination kills me) and Microsoft is not exactly known for keeping their GUI look consistent across their product line: Office, MSN and the rest of the desktop use different styles and widgets.
So summing it up: the screenshots are presented to prove a point which happens to not be there.
Now, to make things even more interesting, here is a little bit that the author of Y might not be aware of: widget rendering on MacOS X happens on the client side, and the operation that the server supports is basically "uptade-rectangle-with-this-RGB-buffer", there is no magic of server-side widget rendering on MacOS X.
Also, doing an X protocol translator is not an easy job, but I wish them good luck pursuing this new adventure, it defintely sounds interesting.
Miguel.