Y Window System Project Started
cuppm writes "Y, Mark Thomas's final year project for his masters degree, is back in active development (outlined here). Here is the email I received: '...Y development is about to start up again. If you are interested in participating, the website is at: http://www.y-windows.org/. There are links to mailing lists there, and you can download the latest development snapshot, which should compile this time :o). I apologise if I did not respond to your email personally. I was on holiday in Japan when the story broke, and by the time I got back I had over 80 emails about the subject, many of them in depth. If you had specific points that you'd like to raise, I suggest re-raising them on the y-devel mailing list.' So for all those who think it's time for a X replacement, here's your shot. And for those X lovers, use Y's extensibility to make it X compatible." See our previous story for more background.
Sounds like a good reason to switch to Y Windows!
Is this successor to XWindows actually YWindows, or is it simply XWindows-1K?
The Y-windows site was Slashdotted 30 seconds after it was posted! A new record! Go Team!
(aahhadabahahah why windows)
Hi there
Maybe the XFree86 4.4 licensing problem would bring more people to using Y.
I find it highly unlikely that I would consider another future desktop additions. It would be more prudent to patch and hack on the labors that have already been provided ensuring both stability and security before adding other extensions. The whole damn planet has gone desktop happy.
Nothing beats ducttape and a trashbag
I may be new here, but will someone give a quick rundown on what exactly Y windows is and how it is different or is an improvement over X windows or any other windowing system?
"When the only tool you own is a hammer, every problem begins to resemble a nail." - Abraham Maslow (1908-1970)
there aren't :)
And for those X lovers, use Y's extensibility to make it X compatible.
So basically it's "Y-XFree86", right? There might be prior art here, I've heard people say that for years.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
Um... Women don't have a Y chromosome.
Women are XX, men are XY.
If it had been called "Y Don't You Do The Dishes, Bitch" then we might be laughing with you, and not at.
HTH -- ~Darl
I think you mean for men only -- (normal) men have XY sexual chromosomes, women are XX.
I think the renewed interest in Y-Windows may be doe to the licensing concerns about X's new license not being GPL compatible.
3... 2... 1... Trademark infringement lawsuit from The Open Group!
Quickly followed by a name change to "Y-windash".
These sigs are more interesting tha
...except for the fact that women are XX and men are XY.
find / -name *base* -exec chown us:us {} \; su -c someone 'export UP_US=thebomb' for f in great justice ; do sed -e 's/zig//g'
Um... Women don't have a Y chromosome.
Don't worry, most women he sees on the net are XXX probably, so he wouldn't know anyway.
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
I was reading an old book on X Windows the other day and the naming came something like this:
Stanford had an operating system called V where they developed a windowing environment called W. MIT needed such a windowing environment for the Athena project and borrowed the W system from Stanford. They made so many improvements over time that it no longer resembled the W system so they named it the X Windows system. Over time 11 versions were developed as more and more Unix companies got interested. But by then MIT had its needs met so an X Consortium was formed that developed the X11 system from revision 1 to 6 reaching the X11R6 release that we have now.
Wake me up when we get to Z-windows...
1: Do you use X on linux?
2: No. Y.
1: I was just wondering, what do you use?
2: Y!
1: I'm just curious, now will you please tell me what you use if you don't use X?
2: Y!
ok, that was sorta lame, how about...
tech Support: What desktop environment do you use?
user: ummm why?
tech: You use Y? Ok, so what you wanna do is...
user: What? I don't know what you're talking about.
no comment
Would you care to explain why the new X licence is better then the GPL licence (which is what you imply)? I don't feel I know enough about the subject to comment either way, but when making a contentious (on /. at least) statement like that it'd be helpful if you could explain your reasoning! (And I'm curious anyway ;-) )
Thank God. Finally, someone has decided to quit bitching about X Window and finally implement a system of their own.
For any programmers out there that are even remotely interested in getting Linux On The Desktop, consider this a call. A super-awesome rock solid kernel cannot be the end-all be-all for Linux. We need to have a good windowing system, one that's faster and more reliable than the competition. From what I know, X Window could use a great amount of improvement in those areas. This is your chance to make things better, and Get It Right The First Time.
--Stephen
Did you ever notice that *nix doesn't even cover Linux?
Try reading for once, GPL version 3 is supposed to take into account the incompatiblities with the new Apache License, and xfree86 4.4 new license. Then again it isn't out yet either.
i thought once I was found, but it was only a dream.
You forgot,
Y? Because we LIKE you! M-O-U-S-E!
There are two kinds of fool. One says, This is old, and therefore good. And one says, This is new, and therefore better.
Three points:
a)it looks like the only reason development started again was because of all the Xfree86 licensing hubbub(which isn't going to be around much longer, because Xfree86 will most likely cave). If the project did not have the merits to succeed before, I do not see how things have changed in such a way that it will be successful long-term, and this was a blatant "look at me" attempt. Y was dead, FreeDesktop was humming along quietly.
b)Most of the "I'm going to replace Xwindows" projects are doing so because its supposedly "slow" and "bloated", and we see a large number of posts in every Xwindows-related story on slashdot claiming the same thing. Most of them are wrong.
c)We already have an interesting, viable alternative(FreeDesktop)...and it's got heavy involvement with the major developers of Gnome and KDE, the two most popular desktop systems. Everyone is playing Chicken with Xfree86, while hedging their bet(and strengthening their position with Xfree86) by starting work with FreeDesktop. Y is nowhere to be seen in all of this, especially if it's only got one guy- versus a whole group of some of the best Linux programmers around.
Please help metamoderate.
Taken from their site:
About Y
I've got tired with the state of desktop GNU/Linux. Most of the problems that I see with it can be traced back to the underlying window system, X. So I decided to write its successor...
Y was my final year project for my masters degree at the Department of Computing, Imperial College, London. I set out to design and begin the implementation of a modern windowing system. The Y design has the following features:
Network Transparency
Contrary to popular belief, supporting network transparency does not reduce the speed of the window system on local hosts. Further, with Y's in-server knowledge of widgets, applications run over a slow network can appear almost as responsive as local applications (especially when compared to an X application).
Modularity (plug-in style: dynamically unloadable and reloadable)
Unload an old video driver, load a new version. On the fly. No restart in sight.
In-server implementation of widgets
Y specifies a core set of widget classes. Objects of these classes are stored in the server, where they are closer to the user and thus more responsive from the user's point of view.
Consistency and Themeability
Y widgets use the currently loaded theme to render themselves. Since all server widgets are using the same theme, all widgets appear consistent throughout the desktop. Client applications can also use the theme's drawing operations, allowing specialised widgets to make themselves fit in with the look-and-feel.
Support for hardware acceleration
The Y design can make use of hardware acceleration to speed up rendering operations. This can even include the use of 3D-accelerators' textures to draw windows with (someone has already implemented a prototype of this which is very smooth).
Better internationalisation, localisation, and accessiblity
In-server widgets means there can be exactly one current language, one complex input method system for languages that require them, and one set of accessibility features.
Some more information can be found in my individual project report. If you have any more questions, ask them on the appropriate mailing list.
The current implementation is, however, very basic. It needs a lot more work before it will be usable on a day-to-day basis.
For the folks asking "What's wrong with X?", I suggest you seek out the X windows chapter of that seminal work on the subject, "The Unix Haters Handbook" by Simson Garfinkel, et al.
Me? I take a cue or two from the output of 'xdpyinfo'. When something requires more than 20 different extensions to fit in the modern world, it's perhaps time for a re-think.
But if Y is going to work, the some level of backwards compatibility might be reasonably expected. Personally, I would suggest library level shimming rather than protocol level (that is, Y windows should come with a libX11 that implements the X API but talks to a Y server).
I'm a little surprised, in fact, that Apple didn't do such a thing for OS X. Rather than toss in an X server, they could have supplied a libX11 that simply implemented all of the calls in DPDF. One less bell to answer, one less egg to fry.
An X server is still nice for remote display situations, but honestly: Who does that anymore (and could they not be accomodated with VNC)?
Fantastic. New users find the selection of different toolkits for X confusing and inconsistent both in appearance and behaviour. One standard toolkit will help with newbie usability greatly - though whether it will stand the test of time remains to be seen. Windows seems to be doing just fine with it's standards though, so I rather suspect the same will apply to Y.
There is nothing like a little competition to hot things up - perhaps this will also give the languid Xfree86 project the kick up the backside it needs.
I wish the Y project the best of luck!
biopowered.co.uk - catalytically cracking triglycerides for home automotive use since 2008. Just say no to big oil!
So why is it going to succeed where these failed? :
fresco
YAX (Y Ain't X)
The Y Window System
Oh never mind. What's the point?
Stick Men
Yeah GPL and Xfree 4.4 may not be compatible with each other. but that doesn't mean one has to change for the other. that applies to both Xfree and GPL. If someone is starting a fork or a brand new project that doensn't mean its necessarily bad. Diversity is good. just like we have KDE and GNOME its better to have alternatives. Just my thought.
wait, every time i sit down in from of my M$ windows machince i ask, why windows?
Evolution or ID?
Abbot: Are you using X Windows?
Costello: No, Y
Abbot: I just want to know
Costello: Y
Abbot: Look, All I want to find out is what controls your display?
Costello:: I just told you?
Abbot: Told me what?
Costello:: No, "What" is the name of the window manager....
Abbot: I am not talking about the window manager!
From excellent karma to terible karma with a single +5 funny post...
This is all taken from the PDF file.
I for one, am all for standardizing a window system. That's not saying that we can't have competiting Window managers, but there is standard of the communication to the windows system. This is (IMO) what is holding back Linux from the desktop.
Every Super Villan uses Linux.
While we're at it, more questions:
1. How hard is it to port an application to Y? (Is Mozilla going to come any time soon?)
2. How fast is it on older machines/PDAs? Is it mostly designed for new, beefy systems? (I noticed the 3D accel stuff, but is it required?)
1. 2.
The GPL should be less like a virus-- infecting whatever code gets close to it.
It should be more like a tiger-- going out and hunting down other code to kill.
It still has some broken links, though.
Strictly speaking, we were doing a four-year undergraduate degree which resulted in a Masters award at the end.
YINX (y is not xwindows)
CB
free ipod and free gmail!
I may be new here, but will someone give a quick rundown on what exactly Y windows is and how it is different or is an improvement over X windows or any other windowing system?
Simple, Y is One Better.
Just like my amplifier, which goes to 11.
I'm not normally an irrational zealous dickhead, but I figure "When in Rome..."
Actually, I'm guessing it was a Masters. The way it works at Imperial (where Mark, and I, went), you can do either a 3 years course and walk out with a BEng (Bachelor of Engineering) or do an extra year and get an MEng (Master of Engineering). Both are "first" degrees, and so might be called Bachelors in some parts of the world, but you get a Masters certificate, so it's a Masters. The more traditional way of getting a Masters in the UK is to go back to university some time after completing your original Bachelors degree and do a short (1-2 years) "conversion" course, usually in a different subject. At Imperial, people who do this can be distinguished because they get an MSc (Master of Science) rather than an MEng. In my experience they also tended to be french. But I'm not sure why that was ;)
---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"
I would encourage students to look through the source code. To grasp and understand what goes on behind the scenes for a windowing system, before the project gets enormous. Besides the tar file is pretty small, maybe you can contribute while the project is in it's infancy and not intimidating.
"It takes many nails to build a crib, but one screw to fill it."
I think a lack of standardization/uniformity is what's hurting the Open Source movement. You can't get that many people together, and have them agree on -one- way to do things. Everyone is out to push their own little twist. The result is a bit chaotic to anyone looking from the outside. (And to some from the inside as well, I'm sure.)
Hate 'em as much as I do, the one thing MS has done well is ensure compatability. Obviously there's problems; but the basic principles of windows applications are near uniform. I don't think you can say the same for a lot of OSS. Chalk it up to people being sheep, if you want, but until there's one clear leading force, Linux (sadly) won't succeed on the desktop.
I for one, am all for standardizing a window system. That's not saying that we can't have competiting Window managers, but there is standard of the communication to the windows system. This is (IMO) what is holding back Linux from the desktop.
Most agreed. If this project does take hold and considerable development efforts begin, I believe this could be the answer for Linux finally taking over on the desktop/workstation market.
X's bear of UI's make unnecessary duplicate effort on both parties (ie: KDE/Gnome). While they both might be good, a lot of code functionality is duplicated between them. If this was removed and put into the window server (Y), it could drastically improve usability and turnaround times for next development releases.
I think the $75,000 question is what can we (userbase) do to help promote the development and adoption of this? I, for one, would love to join the development team and if ample time is available, I just might do so. I highly encourage other coders who have time to spare to join as well.
# fuser -v
#
About a year ago, I had started work on something I called YX (yes, the pun was intended). It didn't get very far, I'm glad that someone is working on such a project. I definitely intend to help with this project, though.
I have discovered a truly marvelous
hit #y-windows on irc.freenode.net if you want to chat about Y.
CB
free ipod and free gmail!
Don't DRI's GEM, XEROX Star, GEOS, DesqView, NeXTStep, BellCore's MGR, Sun NeWS, MultiTOS, AmigaOS, Plan 9 rio count, and Berlin/Fresco count?
Is it just me, or is their logo surprisingly similar to that of GTK+?
"one thing MS has done well is ensure compatability "
Should read " enforce conformity "
OSS should support a standard "default" for things -- but still allow customization. I guess some people would argue that's what RedHat is.
the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff
this is the question that is going to make or break y windows (or berlin or whatever the "next" window manager is)
if you want an example of a successful transition of a key technology look at two examples from apple. that's right, apple.
it was a lot of work to keep that backwards compatibility, but it's what made the transition work.
so. the lesson: invest a lot of time and effort into backwards compatibility. lots.
2 1337 4 u!
Skinner: Not the interrogative, but rather a windowing system with the unlikely name of "Y".
Chalmers: Well that's just great, Seymour. We've been out here six seconds and you've already managed to blow the routine.
[storms off, muttering] Sexless freak.
Escape Pod Films: Sketch Comedy and Web Series
Come the revolution we'll be glad for it.
Now obviously some people do run applications remotely, but most don't. Therefore I wonder if X (or Y) shouldn't be run rootless on top of a fast local desktop rather than drag the whole desktop down by running underneath it.
Shame on you, mods.
I'm with you, with this caveat though.
X is not a GUI system. It is a display system. Ratpoison, for instance, requires X to run, since it runs in graphical mode as opposed to text mode, but is not a GUI.
As such replacing X really has nothing to do with replacing your GUI.
There is something to be said, however, for occasionally replacing old, crufty systems with newer shiney ones that work better.
In the case of X though, since it's function is so low level, arguements as to what is meant by "better" abound.
KFG
You are simply citing the differences between OS and any company.
In Open Source Development there is a Naturally driven variations. Think if it as leaves driven before the wind. Eventually most of them end up in the same place.
With any company, you do as the boss says or you're toast. Any questions?
I think there is a lot of merit in having variations in WindowManagers. I will fight that to the death. But when you have to apply layer upon layer of Glue Code to get some really useful, it implicates a problem exists. And when the various solutions are all inconsistent and independently parallel to each other, you have another implication of a potential problem.
If done correctly, most of this new code implimentation wouldn't require a visual (user aware) change to any of the existing Window Managers. However it might provide for a more consistent approach so that all buttons, labels, etc. appear the same. Today that doesn't exist unless you choose to use only a certain base library for your graphics (eg: Qt)
The Y web site doesn't tell me what license this is to be realeased under. Anyone here know?
For Y to be remotely usable for me, it would need good support for OpenGL on nVidia and ATI graphics cards...for which (annoyingly) we only have binary drivers.
So - my questions would be:
1) Can Y use GLX protocols and work with existing (binary only) OpenGL drivers?
2) There is mention that Y can use hardware accelleration on 3D hardware. My concern about this is how much of the valuable 3D resources such as texture map memory it consumes. Generally, X runs plenty fast enough without using those resources and I wouldn't want to impact my 3D capabilities in order to make the 2D windowing system run ten times faster than it really needs to run.
Certainly X needs updating - it's old and it shows it's age.
www.sjbaker.org
As long as it's network transparent I don't care either. If I can tunnel apps over my SSH connection from one box to another then it's pretty useless for me no matter how fast it is.
>X is too slow
On the contrary, I fnd it's quite fast with a good accelerated AGP card. The network transparency is a very nice feature that I use regularly.
>X places to much burden on the programmer (XLib)
No argument that raw Xlib is a bit hard to use. That's why we have things like GTK.
>X has no standard
I have no idea what this means. X IS the standard for unix-like operating systems.
>Xfree86 is over 10 years old
So am I. So is UNIX. So are most of the theories in Computer Science. Shound we throw them away? Having been enhanced and debugged for 10 years is a big plus, rather than a minus.
In summary, X is just fine. Y may eventually be better, and they're welcome to try to get it there, but these arguments haven't won me over. It's wonderful to have alternative implementations to point out the flaws in existing systems (so that they in turn improve), but to say the new system is fundamentally "better", well, that's going a few better arguments than this.
The new X license has a clause that says that you must attribute the XFree86 team (with some specific language). Essentially, the incompatibility is that the GPL doesn't require that, so you can't take code from XFree and throw it into your GPL'd program. (Similarly, they've never been able to take GPL'd code and put it into XFree86.)
I don't see the big deal, myself -- if you want to use their code, you use their license -- but if people want to get apopletic about it, they're welcome to do so.
How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
Unless there's some history that I'm unaware of, motif is a widget set that ran on top of X -- analogous to GTK+ or QT. Motif was not under a free license. There is another project, Lesstif, which was supposed to be compatible with motif, while being free -- that may be what you're thinking of.
Of course, at this point, Motif is pretty much dead, at least on the free Unix desktop, because it was succeeded by more technologically advanced widget sets. I don't think that we will see any migration away from X until the alternatives provide a similar jump in technology.
How can we continue to believe in a just universe and freedom to eat crackers if we have no ale?
It's premature. We're not even at X12 yet. Hell, we're not even at X11r7 yet!
: )
maybe we can merge Y-windows with Fresco
http://www.fresco.org/
Here I sit back, reading slashdot on a pentium 166MMHX, with 80M of memory, through Galeon and the X Windows System on a OpenBSD machine.
I read the posts that say X is slow.
X is currently using about 5% - 7.5% of my processor. It jumps up to about 15% when I change windows. MPG123 consistantly uses more CPU then X. Galeon tends to use more CPU then X as well.
I read the posts that say X is bloated.
X is currently using 15MB of memory/8MB resident. Galeon is using about 16MB / 27 MB resident.
As for hard to set up, linux distros usually set up X for me. There are even several configuration utilities shipped with XFree86.
I also tend to use the network transparency of X, which is easily accomplished through ssh -X.
Don't know why you guys keep having problems, but may I suggest bloated OS installs and bloated WMs?
FVWM + XFree86 works for me!
Funny that I should read your post right after opening the Y Windows project report. The very title of the report is "Y: A Successor to the X Windows System"
Oh, so like SCOs code then?
Xfree86 is over 10 years old
I resent that the fact that something is over 10 years old is good enough reason to replace it. I'm over 10 years old.
If they'll replace the default cursor with a Y instead of an X.
I was at Stanford during the development of W/X, as a user of early version, but not a developer of X. It was a time of rapidly evolving technology, so some standards they guessed right, while others were kludges. The technology was the workstation, a computer small enough to put into the office (the size of half-height file cabinet) and enough power to run UNIX. PCs were way too underpowered to run UNIX and bit-mapped graphics. Apollo (absorbed into HP) was the UNIX king, but all its standards were proprietary. Sun was just a couple years old and its standards were half-open, half-proprietary- a practice they continue to this day. DEC (absorbed into HP) was willing to tolerate UNIX on its min-VAXes, but not write all the missing parts- especially window graphics. So they essentially delegated that to Stanford and MIT with hardware and R&D grants. So there was a lot of R&D then on how to do client-server computing and graphics.
The primary problem at that time was the availability of a suitable object-oriented programming language. Everyone knew that was the future of software. The UNIX crowd preferred something related to C. C++ was very unstable, while ObjectiveC, based on on SmallTalk, was good but proprietary. The fledgeling company NeXT (in the Stanford industrial park, later absorbing Apple Computer) decided on ObjectiveC. The Stanford W/X group decided to use neither of these but invent a quasi OOP extension to C in the Xt Toolkit. And XWindows has suffered ever since.
X isnt slow: What is layered on top is slow
X is a standard: People break that standard with layers on top.
XFree is old: My wife is over 10 years old too.. so what? ( X11 is even older )
Xlib sux: Ok, ill give you that one.. but programmers arent forced to use low level libraries.. Ever hear of QT?
---- Booth was a patriot ----
Mine has a built-in web browser, MIME extractor, yEnc support and a display engine optimized for fleshtones.
I call it "The XXX Windowing System".
X is a single-threaded client/server application which provides windowing services and network transparency.
Since the terms 'client' and 'server' tend to be redefined every year or two by the Xfree team, nobody else really knows which is which any more. X interfaces directly with video drivers and also with the window managers.
The problems are fairly numerous and unfortunately difficult to fix:
Single-threaded X is forced to share its timeslice with every client (?) program, which leads even people like Linus to complain about GUI latencies on 4-way systems with top of the line hardware. Not so cool. Kernel 2.6 contains some hacks to kludge around this problem, but the underlying issue still hasn't (yet) been addressed. Considering Xfree's Design by Committee creed, it never will be fixed. You might say that X is rotten by design. You might more accurately state that X is 1980 technology, and wasn't meant to do the things that modern users expect as a matter of course (eg. 3D low latency, non-stuttering graphics). There isn't an elegant solution aside from ditching X entirely.
From the other end, the Xfree API is a big mess of kludges. Extensions have proven an excellent tactic to obfuscate and uglify code.
just like the humble blood clot... turboporsche@telus.net
The essential program for Y which will let it get anywhere has to be an X server. Then people can migrate to it without being disconnected from their X applications. Something nice with a rootless mode, like X runs on MacOSX.
"You know you want me baby!" - Crow T Robot
Most 'new' things are generally 'better' than old things.. That's because most of the time new things are simply the logical evolution of old things. (Disclaimer: You can find thousands of counter-examples for this, there are obviously a lot of factors involved here.. but I think the basic point holds).
The Y proposal is very evolutionary. It uses the collective experience gained from the successes and failures of X to build a better mousetrap. I would certainly expect it to improve upon what X does while keeping those things that work and work well. A LOT has changed in terms of tools, technology, and know-how since X was designed... why not put those idea to work in a new system?
Turn s60 photos into awesome videos with mScrapbook for all S60 3rd edition phones!
Xfree86 is over 10 years old
And that means it shoud be scrapped? Win32 is also over 10 years old, do you think we should just scrap that too?!?
Oh, wait... point taken. I'm going to go download Y now.
Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
If you run 'startY' within X, Y will appear as a Window on X. This is because Y dosent use its own graphics routines, it uses SDL. Hence it will run on any hardware SDL supports. I couldn't get any applications on it to work though :(.
Well, X is officially the X Window System. The shorthand XWindows is entirely colloquial.
For the umpteenth time, the 'big deal' is that a *ton* of stuff already uses their code, at least in the form of linking to their libraries. A lot of that stuff is GPL, and so can no longer be linked with said libraries and distributed without violating either the GPL or the new XFree license. As a result, we either dump all this GPL code, or we dump XFree 4.4. XFree 4.3 still works well, and is covered by the old license, hence no dumping of GPL code. Which would you choose?
You may ask "what GPL code is so all-fire important?". Well, QT for one (and by extension all of KDE). I'm sure several key components of Gnome as well, though I dunno for sure if the new XFree and the LGPL clash. And once you've eliminated all the window managers (most are GPL), then why do you need XFree86 at all?
I kind of like the way that X calls are low level, and that frees people to build nice widget sets like GTK and QT on top of those base Xlib calls. That's something that X does right, IMHO. And having the network transparency at that level is good too. However, I find Y's idea of a network transparent widget set intriguing, as I don't yet have a high-speed connection at home. I'm not saying get rid of network transparent Xlib, but I think building a network transparent high level widget set could make applications be nicer to run for me over a dial-up modem. Granted, apps would have to be ported to this new widget set, but still, I think it could be worth it. Maybe the X guys could pick up this idea.
TZ
Guys, the reason why we are all still using X is not because windowing systems are so hard to create, it is because we all have so much software invested in X now which would somehow need to be ported over.
No, an X emulation layer is not going to solve it. What is the point in having a new window system if all of my apps get bogged down by an emulation layer? Why bother?
I wish the Y developers the best of luck. But first they must put down their C++ compilers, crack open the source to Qt, GTK etc and have a good look inside and see how these toolkits work and realise that they can't change anything above this software layer. They can only work inside the widget toolkit layer and below. People (developers!) are not going to switch the toolkits their applications use.
--
Simon
Well, if there was ever a more clear-cut case where something should be developed in the D language I've never seen it.
-- thinkyhead software and media
Quick questions what's harder to rewrite? the legalese of XFree's newest licensing or a windowing system?
I don't think XFree will keep the language that's in the licensing once they get enough pressure from the distros.
A rewrite of something as complicated as X (and everything that depends on it!) Go read some joelonsoftware and get some opinions on ground-up rewrites.
I'd rather see concerted efforts to overhaul the driver effort and acceleration rather than recreate the world.
Rewrite X: booo!
Refactor X: yaaay!!!
Actually, building AA into the client isn't as hacky as you'd think. What Xft does is implement a generalized compositing mechanism in the X server. One of the many uses of this compositing mechanism is AA'ed text. Ergo, keeping the AA mechanism on the client is actually reasonable, because other uses of the compositing mechanism will also be in the client.
A deep unwavering belief is a sure sign you're missing something...
You hear a lot of people bitch, but mostly because they do not understand it. People tend to do that. Hell, I did that myself, before people beat some sense into me and made me actually understand the system I was bashing.
X does have some problems. The set of actual problems with X, and the set of perceived problems with X are more or less disjoint.
X is not slow. X is not a memory hog. X's feature set is not outdated. It does, however, have a very weird way of handling color, has some protocol peculiarities, and the default interface library (xlib) makes it hard to write fast apps. Most of these things can be fixed without ditching X. For example, there is an extension called XFixes which fixes certain problems with the protocol. There is a new interface library called XCB which is more "low-level" and makes it easier for toolkit authors to identify potential performance issues. Freedesktop.org's new X server will incorporate compositing and OpenGL-acceleration, to make X competitive with Longhorn, all within the existing X framework!
A deep unwavering belief is a sure sign you're missing something...
Because consistent look and feel is very important? Because it speaks volumes for the overall design that has gone into the OS? Because it's aesthetically pleasing?
One cannot put these things aside as unimportant, because they are surrogates for cues that people use on a day-to-day basis for things like selecting a mate or procuring products such as food. Some examples that spring to mind:
People are animals. Sophisticated and intelligent animals, but animals nonetheless. To treat the basic instincts we all possess as "trivial" is to ignore the basic truth of existence.
Maybe a quick experiment would help: drive up and down the strip in a late model civic with a nice paint job. Now repeat the process in a Ferrari which has every body panel painted a different color: yellow, red, silver, black, blue and white. Any idea which will get noticed for all the wrong reasons?
HBH"Smart is sexy." -- D. Scully ("War of the Coprophages")
Does this mean it could be ported to Win32, BeOS and AmigaOS?
Actually, I've yet to find any piece of software that manages to stay intact when I fire a photon torpedo at it.
XWindows was being worked on in 1983 at MIT. That would be X10. It was developed for DecStation 100's, which were 1280x1024 1-bit display screens (this is why X does pretty good with modern resolutions but is really stupid with color, somewhat different than Windows which was designed for much smaller resolutions but assummed at least 16 colors were available).
The X11 most people are familar with was developed in 1985 and really appeared in 1986. It had a different (worse, imho) rendering model (the old one had a current point and moveto/lineto like PostScript). It also introduced the seperate window manager process, Visuals, multiple colormaps, and the wacky font-naming scheme with the dashes (before that fonts were named things like "fixed12" for the 12-pixel tall fixed-pitch font).
> Hate 'em as much as I do, the one thing MS has done well is ensure compatability. I have to disagree with you. In every single new version of excel, my old macros stopped working.
Y was designed to
a) learn something about network programming
b) implement a replacement for X11 of which Mark Thomas think that it is:
1) too slow
2) place too much burden on the programmer
3) no standard toolkit
4) reaching its software lifespan
5) too complex.
ad 1) It is correct that X11 is unusable on less than 10 Mbit connections (this could be changed, see below).
ad 2) Unless you use the raw network protocol, it does not place burdon on the programmer. It is true that everything above Xlib was ill design (especially the Xt, and athena widgets), but this crap has been replaced long before. -- The only environments that still use Xt are Motif and KDE apps. In contrast GTK and GNOME use the raw Xlib.
ad 3) It is true that the toolkit (Xt, Xaw etc) should have been implemented on the server-side. But this was not possible until now; what X11 indeed needs is a toolkit on the server-side. Of course this toolkit should be extensible, that means that it should be possible to dynamically add new widgets to the set of available widgets living in the address space of the X11 server. Moving the toolkit to the server would also reduce the network overhead thus addressing problem #1. Of course, this requires more memory on the server-side as the server must now be linked with an interpreter language such as Mono, Java, Guile.
Another drawback would be that the actual widget-communication protocol would essentially be proprietary.
Note that Y only defines a small set of widgets on the server-side and that there's no mechanism to dynamically extend this set. So the communication overhead with Y is almost the same as X11 (it may be better or worse in some areas).
4) I think it's clear that this is a nonsense argument. For example no one would seriously argument linux, as it is 10 years old now, has thus reached the end of its lifespan.
5) Yes, some functionality provided by the X11 client libraries and by certain X additions was complex. But most of this crap has already been thrown out, e.g.: Xprint, Xt, DisplayPostscript, the broken X11 I18N implementation.
What Y promises to deliver is:
1) A non-dynamically extensible object-based system on the server side implemented in raw C
2) A message passing system that is as efficient as X11's (it may be better or worse in some areas, see the Clock example which has a huge overhead).
3) Yet another toolkit implemented in C, but this time on the server-side
4) Modularity. This is indeed a strong point for the Y system (compared to XFree86). However, the new Xserver [www.freedesktop.org] attempts to address this issue, too.
5) A client library for C++. Whow. Ehm, what is wrong with Qt? Should all people throw away their work just because somebody thinks that some software has reached the end of its lifespan (whatever that may mean!)?
Anyhow, I suggest to read Mark Thomas proposal anyway. It isn't that bad; at least Y has a theoretical background; in contrast to other attempts such as picoGUI [www.picogui.org]
I read the posts that say X is slow.
One of the first sections in the original "Y Window System" paper listed the problems with X. It started off with "X is slow." However, it made a very specific allegation. It was not that X is slow per-se, but that it is highly sensitive to latency. Yeah, we all run X11 applications on our local desktop, and they're lightning fast. We can even run X11 applications from machines close by on the LAN. But very few people ever try to run X11 applications across 20 hops of the internet. Unless you have somehow ensured very low latency connections, you're gonna have lag city.
The X Protocol is very verbose. It's one of the reasons that there have been projects to try to compress or otherwise remove redundancy from the protocol. But, at some level, it's the protocol itself which needs rethinking when it comes to speed.
My two cents...
How many people swap out the engines in a car that still runs fine? How many people are still running Windows 98 on old hardware and will upgrade their OS when they buy a new PC?
Whether things freeze at XFree86 4.3, the X people return to sanity and things continue onto 4.4, or Y replaces X altogether... Joe User (especially at a corporate desktop) is going to notice the brand of underlying windowing system about as often as a husband notices the brand of shoes his wife is wearing.
The distros will make up their own minds. For the commercial ones, the default will be the one they feel helps their distro meet the qualifications of: does it go, does it look nice, and does it run on standard unleaded?
- Greg
Start a happiness pandemic
Nonsense. Microsoft's market dominance is as a result of a bundling deal signed in 1982 with IBM, and since that time, dirty tricks to ensure monopoly control.
Microsoft have killed all competitors to come along by offering a favourable OEM price on windows/DOS only to vendors who ship every computer with a Microsoft OS installed.
Even IBM wouldn't bundle their own OS/2 on their computers because it would mean adding more than a hundred US dollars to the price of each machine they sold with windows on it.
However, I'll demonstrate by answering them.
> X is too slow
On the contrary, I fnd it's quite fast with a good accelerated AGP card. The network transparency is a very nice feature that I use regularly.
The original document outlining Y specifically says that X is fast. Locally. But you try running a very interactive X11 application across a many-hop internet connection with lots of latency and then you'll see just how slow it is.
This is one of the problems with X, that the protocol is very sensitve to latency and is very verbose. Unnecessarily so, IMHO.
Does that mean the speed issues are such that you shouldn't use it on a desktop? Certainly not, as testified by the thousands of people who use it for such every day.
That's why we have things like GTK.
Again, this is addressed directly by the PDF:
> Xfree86 is over 10 years old
So am I. So is UNIX. So are most of the theories in Computer Science. Shound we throw them away?
Of course not. But age can certainly bring problems. Again quoting the PDF:
In summary, X is just fine.
For many purposes, yes. But it's starting to show signs of not being able to cope with what window systems are being asked to do in the last 5 or so years. It's worth revisiting now and again.
squeak!
As I walk alone I wonder what went wrong
With our love a love that was so strong
And as I still walk on I think of
The things we've done together
While our hearts were young
I'm walking in the rain
Tears are falling and I feel the pain
Wishing you were here by me
To end this misery and I wonder
I won-won-won-won wonder
Why why why why why why she ran away
And I wonder where she will stay
My little runaway run-run-run-run runaway
I'm walking in the rain
Tears are falling and I feel the pain
Wishing you were here by me
To end this mesery and I wonder
I won-won-won-won wonder
Why why why why why why she ran away
And I wonder where she will stay
My little runaway run-run-run-run runaway
Run run run run runaway.....
Gary Dunn
Open Slate Project
Except that with the Composite and Damage extensions in the X server over at freedesktop.org, there are compositing managers out there that store buffers of each window in RAM and then render them to the screen with extra effects (see http://ktown.kde.org/~fredrik/composite/ and http://freedesktop.org/~keithp/screenshots/ for some examples).