Slashdot Mirror


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."

72 of 666 comments (clear)

  1. more info please by tannhaus · · Score: 2, Insightful

    The website (available by clicking his name) should really include more information. It tells us that Y is the replacement for X, but offers NO reasoning. What problems does it solve? What features does it have? Can I install it alongside X? With this little bit of information, it makes me not even want to download it. Sorry.

    Also, it should be noted development has stalled on this project. He says it should start up again in November.

    1. Re:more info please by Anonymous Coward · · Score: 2, Insightful

      I havent read the pdf, but I got the impression that information about that could be found there.

    2. Re:more info please by d3faultus3r · · Score: 2, Insightful

      Yeah, most of the information is in the pdf. However, there should have been a summary since the pdf itself is 78 pages long.

      --
      read my blog
      musings on politics and technol
    3. Re:more info please by larry+bagina · · Score: 5, Interesting
      Apache was originally developed at NCSA in Illinois - ie college students, gov't funding.

      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.

    4. Re:more info please by kiltedtaco · · Score: 2, Interesting

      GNU was not developed at MIT. Stallman resigned from the AI lab before doing anything on the gnu project. Oh and the BSD code stealing line is bullshit too. There's no BSD code in the GNU system, and I'm not sure why anyone would relicense BSD code under the GPL.

    5. Re:more info please by David+McBride · · Score: 4, Informative

      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

  2. Built in toolkit by Michael+Hunt · · Score: 5, Interesting

    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?

    1. Re:Built in toolkit by SkArcher · · Score: 2, Interesting
      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.
      The arguement here seems to be not that the inconsistency between who puts what tools onto a given system puts off the casual users, which tbh is a fair point. Use the custom tools for those that need them, but a generic interface makes the norms happy, which is what breaks market share monopolies
      --

      An infinite number of monkeys will eventually come up with the complete works of /.
    2. Re:Built in toolkit by CausticWindow · · Score: 5, Insightful

      I agree to some extent.

      However, the state of toolkits under X is now quite a mess. How many of them are there again? 15? 20? All with their own look and feel, and all with their own pain in the ass dependencies. It's not enough that GTK and QT is somewhat of a standard. That's still one toolkit too many.

      Ideally, there should be one standard toolkit api that is easily extensible by developers (ie a very flexible widget system), easily reconfigurable by the users (one standard look and feel, that "power users" can change).

      --
      How small a thought it takes to fill a whole life
    3. Re:Built in toolkit by lscoughlin · · Score: 2, Insightful

      And if his Y takes off, it can replace X withoutht causing you any problems at all at all.

      I'm not really sure, in truth,how your post is relevent to what's going on, and i'm a bit put off by your sarcastic whine about gamers etc.

      All to be followed by a (rather poor) backhanded attack on windows. Except this isn't about Windows with a capital w.

      In short, what are you talking about, and who on earth modded you up?

      --
      Old truckers never die, they just get a new peterbilt
    4. Re:Built in toolkit by IamTheRealMike · · Score: 4, Insightful
      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?

      Come now. Windows has shipped with a standard widget toolkit since its very first version, yet it has definately evolved since then.

      Don't assume that had X got a built in toolkit, it would never have evolved. Given the extensibility of X it probably would have evolved nicely, in fact.

      However, likewise you shouldn't assume that if X had a built in toolkit everything would use it. Of course, this would not be the case. Mozilla would still use XUL. OpenOffice would still use the VCL. Wine would still use its clone of win32 widgets. Some apps would still reinvent widgets for whatever reason (just as they do on Windows and MacOS X).

      Toolkit compatability is best dealt with by standards, IMHO, rather than just moving them around....

    5. Re:Built in toolkit by Spoing · · Score: 4, Interesting
      Come now. Windows has shipped with a standard widget toolkit since its very first version, yet it has definately evolved since then.

      Yes, though enhancements show up much more slowly in Windows. Except for the icon and interface whitewash with XP, it's not much different from what was shipping with Windows 3x.

      To drive this point home: I've been showing off Linux at work using Knoppix and a USB pen and have had people astounded...to the point I'm starting to temper thier expectations. Simple things like tabs, and complex things such as ioslaves (with a real world example) leave them saying Microsoft doesn't stand a chance against Linux. Well, that's too much enthusiasm but I hope this gets the point across;

      Windows itself has improved the base widget set, though most Windows apps still look like they were designed for Windows 95 and very few of these new widgets are used there.

      --
      A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
    6. Re:Built in toolkit by ivan256 · · Score: 2, Insightful

      The choice in a tradeoff between flexability and marketshare in a product that doesn't require marketshare to survive should be obvious.

    7. Re:Built in toolkit by The_DOD_player · · Score: 2, Insightful

      What you're suggesting is that instead of having complaints and working toward a solution, we should simply ignore the faults.

      No, thats definently NOT what I'm suggesting. I'm stating that X is NOT slow. I've meet quite a lot of people that have heard some place, that OSS requires less CPU power than Windows, so they load RedHat 9 on some poor old Celeron 300a, turn on all the eyecandy on KDE, and expect it to perform like the previus Windows 98SE installation. Then it goes: X is slow and bloated. Let me see... It has network transparency?! hmmm.. windows dont, so that must be it!! lets remove network transparency, then it'll be all better."

      The fact is, X is an old protocol, designed to work on slow machines, and KDE3 is not supposed to be compared to Windows 98.

      X does not need to be replaced.

    8. Re:Built in toolkit by 0x0d0a · · Score: 4, Informative

      all X really is is a network-aware framebuffer.

      I disagree. VNC could reasonably be called a network-aware framebuffer. X, however, provides drawing primitives, color management, font rendering, windowing...

    9. Re:Built in toolkit by 0x0d0a · · Score: 2, Insightful

      The arguement here seems to be not that the inconsistency between who puts what tools onto a given system puts off the casual users, which tbh is a fair point.

      Frankly, OSS is generally not about making Joe Sixpack happy. Most OSS software is far better than the closed-source equivalent...for techies.

      I'm not really broken-hearted about the state of affairs, either.

    10. Re:Built in toolkit by Anonymous Coward · · Score: 2, Insightful

      > That's still one toolkit too many.

      Both Gnome and KDE are based on this "One True Toolkit" ideal, which as everyone knows is bogus and extremely unlikely to happen anytime soon. It's just not going to happen.

      It's time for some pragmatism on the Unix desktop. Accept the fact that there's going to be 20 different toolkits and start standardizing 'themes', keyboard commands, clipboard handling, and everything else.

      Windows users don't know or care if their app was written in MFC, XUL, Borland, or Eclipse. That's because all of those toolkits agree on the same behavior (MS UI Standards) and share the same configuration (registry).

      On UNIX, however, the developers are "in your face" with their toolkit choices as part of the marketing effort for their "one true desktop". gUsers don't Kare what gToolkit you Koded too, asswipes.

    11. Re:Built in toolkit by Amiga+Trombone · · Score: 2, Interesting

      And if his Y takes off, it can replace X withoutht causing you any problems at all at all.

      Even if it doesn't replace X, it's still a project worth persuing. Y is, if nothing else, an opportunity to try a different approach to a UNIX windowing system. There's no reason it's best ideas couldn't be re-absorbed back into X, if they're successful at solving real problems. For example, Linux, KDE and Gnome have been influenced by ideas from such sources as Windows, Plan 9, Mac OS and UNIX. It's unlikely Linux would have come as far as it has if it had merely been a straight re-implementation of Minix.

      If Y is a significant enough improvement over X to make it worthwhile replacing X, then it will replace X. Even if it isn't, it's still an opportunity to test new approaches, and the most successful ideas can be integrated back into X.

      Sounds like a lot to be gained, and nothing to be lost by persuing this.

      So why not?

    12. Re:Built in toolkit by Jamie+Zawinski · · Score: 2, Interesting
      Imagine if X had been shipped with Motif as its native toolkit? Who the hell would use that in 2003?

      Absolutely everybody, that's who.

      The only reason that GTK and Qt exist is that Motif was expensive, and therefore not widely available on free Unixen. Lesstif was not usable until several years too late.

      It remains one of the classic, tragic, colossal wastes of time that so many people put so much work into building GTK and Qt from scratch, instead of sinking that same amount of effort into fixing Lesstif. We would be years farther ahead of the game if they hadn't felt the need to play the "Not Invented Here" game.

      As someone who's done a lot of work with both, I can tell you that the differences between the Motif and GTK APIs are really pretty trivial.

    13. Re:Built in toolkit by Anonymous Coward · · Score: 2, Insightful

      The laggyness of Linux GUI is primarily a kernel problem. Expect it to improve vastly with 2.6.x kernels. See the new post on kernel 2.6.0-test6.

    14. Re:Built in toolkit by John+Allsup · · Score: 2, Interesting

      Nice soundbyte... clear, simple, and wrong.

      The fallacy is to assume that it is indeed a simple marketshare vs flexibility tradeoff. It is not.

      The problem with flexibility is always a question of 'how much'. It is not a case of more=better (for then surely a simple framebuffer in which every application can write at will is the best option, allowing every possible graphical behaviour.) On the other hand, not flexibility is another losing hand. The problem as I see it with X is: too much flexibility in the wrong places.

      It is like choosing your programming language: there are many different languages, each with a different level of flexibility and different traits, each of which has their strengths and weaknesses. For example, FORTRAN is excellent for writing high performance numerical codes, where performance is important. It lacks flexibility in places precisely so that the compilers and compiler designers have plenty of flexibility in optimising the code. But from the point of view of coding with it, it can be a PITA. On the other hand, machine code gives you total freedom, total flexibility, but makes things far too complicated to do in practice (for project of significant size.) Then, VB lets you knock up a quick Windows app in no time, and Delphi has similar advantages. In every case, there is a variable amount of flexibility, and where it is varies. In the case of language, there is the tradeoff in programmer flexibility vs. compiler-designer flexibility.

      In the case of GUI's, again there is a choice of flexibility between application programmers and GUI-system programmers. Getting the right choice is all important. To do this, you need to see the problem in its entirety (what I describe as the total user experience.)

      (A similar situation is faced by mathematicians when choosing their area of mathematical machinery with which to approach a given problem. Different solutions, some more elegant than others, appear given different levels and arrangements of abstration.)

      --
      John_Chalisque
    15. Re:Built in toolkit by Jamie+Zawinski · · Score: 2, Informative

      Well what can I say in response to your unsubstantiated claim, other than "you don't know what you're talking about."

      GTK exists because Motif was not widely available to the potential users of GIMP. GIMP had originally been written using Motif, and then GTK was written to replace Motif so that GIMP would not have a dependency on non-free software.

      And also because (by their own admission) the GIMP authors didn't know Motif that well, and thought it would be easier to just write their own toolkit that only did the few things they needed: GTK was never intended to be general-purpose.

      Fast forward a few years, and GTK has bloated out to do all the things that Motif did, from i18n on down.

      Gigantic waste of effort. Colossal.

      You can read their own summary of the history on gimp.org.

    16. Re:Built in toolkit by spitzak · · Score: 2, Informative

      I worked plenty with XIntrinsics and Motif at Sun, where I worked on OLIT (the Open Look Toolkit, which was their XIntrinsics toolkit) and emulation of Motif widgets in OLIT. I also implemented several Motif widgets, including the GridBag layout I designed to get around the horrors of Xi layout (this still lives on in the Java Grid layout widget).

      All I can say is that I am personally quite relieved and happy that Motif is gone.

  3. Yeah but... by Sir+Haxalot · · Score: 3, Funny

    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?
    1. Re:Yeah but... by Anonymous Coward · · Score: 5, Funny

      Following standard ASCII the next characters should be [, \ and ]. You've got to admit, "the opening bracket window system" has something to it, although I'm not quite sure what that something is exactly.

  4. Depends. by termos · · Score: 4, Interesting

    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.
    1. Re:Depends. by Leffe · · Score: 5, Informative

      ./configure --without-x

    2. Re:Depends. by Sentry21 · · Score: 4, Informative

      Now, doesn't libSDL again depend on X? ;-)

      No, it doesn't. There is an X backend to SDL, but it can also do the fun stuff on its own, as well, and runs on many platforms. From the FAQ:

      Q: How do I choose a specific video driver?
      A: You can set the environment variable "SDL_VIDEODRIVER" to the name of the driver you want to use. The drivers available depend on the platform and SDL compile-time options. Here is a partial list for some platforms:

      • Linux:
      • x11 - (default) Use the X11 windowing system
      • dga - Use XFree86 DGA 2.0 for fullscreen hardware acceleration
      • fbcon - Use the framebuffer console
      • directfb - Use the DirectFB API
      • svgalib - Use the SVGAlib API
      • ggi - Use the General Graphics Interface API
      • aalib - Use the Ascii Art library
      Win32:
      • directx - (default) Use the DirectDraw API
      • windib - Use the standard Win32 GDI

      And from the website:

      Simple DirectMedia Layer supports Linux, Windows, BeOS, MacOS Classic, MacOS X, FreeBSD, OpenBSD, BSD/OS, Solaris, IRIX, and QNX. There is also code, but no official support, for Windows CE, AmigaOS, Dreamcast, Atari, NetBSD, AIX, OSF/Tru64, and SymbianOS.

      Thus, not only can his example be made to work under X (theoretically), but it will also work on pretty much every other OS you'd want to use it on, and some you wouldn't. Also, in addition to being runnable anywhere, it can also run directly on the Linux framebuffer, which means that all that needs doing is hardware acceleration for the framebuffer, and then Y, as well as many other SDL apps (perhaps with slight modification), will run quite well without having to have X loaded. That, to me, sounds like a good thing.

      --Dan

  5. So... by segfault7375 · · Score: 4, Funny

    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 :-)

    1. Re:So... by Quixote · · Score: 4, Insightful
      Sometimes you need to step back and reimplement things from scratch. X has been a monumental achievement, no doubt; but it never hurts to take a fresh look and see if you can do it better.

      This is the strength of the Open Source model. The source is out there for everyone to see; think you can do it better? Step up to the plate and take a swing!

  6. Y, eh? by Leffe · · Score: 4, Insightful

    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.

  7. Y window system is fine, but... by revividus · · Score: 4, Funny

    ...wouldn't it be more in keeping with tradition to call it X++?

    1. Re:Y window system is fine, but... by Orne · · Score: 4, Funny

      I know, I know!

      Instead of X-Plus-Plus, lets just shorten it to XP!

  8. License? by Hythlodaeus · · Score: 2, Interesting

    What's the license?

    --
    For great justice.
  9. oh no, not another one :( by Rosco+P.+Coltrane · · Score: 5, Insightful

    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
    1. Re:oh no, not another one :( by quigonn · · Score: 3, Insightful

      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.

      Could you please stop these inadequate comparisons that are totally false? When Unix was developed, it was a lightweight and powerful operating system. Regarding lightweightness, some derivations and incarnations of Unix still are.

      --
      A monkey is doing the real work for me.
    2. Re:oh no, not another one :( by aussersterne · · Score: 5, Insightful

      Everyone says that X is so bloated, yet I used to run X on a Sun 3/80 with 16MB memory and a 68030 (think Mac SE/30) processor. In its day it ran circles around PCs and Macs. A little later when I finally "gave in" and switched to PC hardware, I bought a 386DX/25 with 8MB memory and a massive 600MB ESDI hard drive, and ran Linux+X on that. I used FVWM as my window manager and often made use of applications like emacs and NCSA Mosaic. The hardware was much faster under Linux+X than under Windows 3.1. Yes, X on an 8MB, 25MHz PC.

      Today X still compares favorably to Mac OS and Windows in terms of functionality and even in terms of things like 3D game frame rate. I don't think X has ever been slow and bloated compared to simultaneous "alternative" technologies like Mac OS or Windows.

      I think the new rush of Linux users in the late '90s and early '00s just happened to get a bum driver or two thanks to the "newness" of X to commodity PC hardware and the longtime lack of manufacturer support for X on such hardware. No matter how many times I read it, I just don't buy the notion that X is slow and bloated in comparison to the alternatives.

      --
      STOP . AMERICA . NOW
    3. Re:oh no, not another one :( by IM6100 · · Score: 2, Informative

      The hardware was much faster under Linux+X than under Windows 3.1. Yes, X on an 8MB, 25MHz PC.

      I first ran Windows 3.1 on an XT. It was a 10MHz 8088 with a Hercules card. It was responsive enough to be useful. I upgraded to a 286 after awhile (I think it was a 12 MHz.) Eventually I upgraded to a 386, because then I could (cooperatively) multitask.

      I still have Windows 3.1 on an old laptop (a 386SX with 4 megs of RAM). Believe me, Linux and X run far more bloated on such hardware. I have NetBSD and X on an SE/30 to this day.

      I don't know why you think it's amazing that X would run on an 8 MB 386.... You definitely didn't run any of the current bloat desktops on it...

      --
      A Good Intro to NetBS
    4. Re:oh no, not another one :( by Arker · · Score: 4, Informative

      I first ran X on a 386-25 with 8mb ram too. I agree with almost everything you said. People that think X is slow are trying to run GNOME, KDE, or maybe E with a bloated configuration, a crappy video driver, and quite probably all their libraries compiled with debugging on. X is a wonderful thing, lightweight, fast, powerful, and it runs fine on hardware that any recent version of Windows (or Mac OSX) wouldn't even attempt to run on.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
  10. pointless and hopeless by penguin7of9 · · Score: 5, Insightful
    People think that if they just put the toolkit into the server, things will get consistent:
    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.

    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.

    1. Re:pointless and hopeless by penguin7of9 · · Score: 3, Informative

      X11 toolkits are pluggable--you plug whatever toolkit you want into the client.

      If you put anything "pluggable" into the server, you need an architecture-independent runtime for it and you end up with DisplayPostscript, NeWS, or Java. Is that what you want? Then go right ahead and use them: that's what they are there for.

  11. Read the paper. by Futurepower(R) · · Score: 5, Insightful


    Read the paper. It is of shockingly good quality, both in the writing and the completeness of ideas. The writer is a college senior!

    1. Re:Read the paper. by more · · Score: 2, Interesting

      The paper is written around one idea, simplifying the internal structure of X. However, it is against the simplicity of X by claiming xlib's level of abstraction too low. One should start from the requirements, like the internal simplicity, and modern features. One should also specify the scope of the windowing system; mobile systems need other type of solutions from zillion-pixel worksations. Y lacks the obvious new features needed, such as subpixel cursor positioning, anti-aliasing, and 3d. IMHO, the paper is written by a confused state of mind - there is nothing shockingly good in it.

      --

      -- Imperial units must die --

    2. Re:Read the paper. by csp · · Score: 2, Insightful

      A college senior? You do realize that Imperial College is part of the University of London? He's actually just finished his BSc in one of the best computer science departments in the UK...

  12. Re:A pointless endeavour... by sgarrity · · Score: 5, Informative
    "1. If it can't run existing X windows applications it's useless. Additionally if it can't run anywhere it's useless."

    The document covers this with the obvious solution:

    "Legacy X Protocol Handler

    In order to support the wealth of X applications that already exist, and to ease the transition from X to Y, an interpretation layer will need to be built. This is an excellent example of the elegance of the design of Y. The X layer can be implemented as an in-server driver module. This module would, upon initialisation, create an appropriate socket to pretend to act as an X server. When X applications connect to this socket, the X module would translate the requests into equivalent Y requests. One drawback of supporting the X protocol is that many of the advantages of Y, in particular the lightweight protocol and server-side objects, will be lost."
  13. The name.. by eniu!uine · · Score: 5, Funny

    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.

    1. Re:The name.. by IM6100 · · Score: 3, Informative

      There is no such thing as X Windows, except in the mind of the ignorant. It is called 'The X Window System' or 'X'.

      'X Windows' is what illiterate journalists call it, and the people whose main experience with X is reading their inaccurate prose.

      --
      A Good Intro to NetBS
  14. new name by lordcorusa · · Score: 4, Funny

    Let's call it Youvert! ;-)

    --
    The preceding comments reflect the author's personal opinion and are public domain, unless explicitly stated otherwise.
    1. Re:new name by satterth · · Score: 2, Funny

      It's not easy being green.

      --
      Being called a dork on Slashdot must be like being called the retard in special ed.
  15. Re:A pointless endeavour... by Disevidence · · Score: 4, Informative

    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.
  16. Not your standard 'YaXFree-replacement'. by Qbertino · · Score: 5, Insightful

    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
  17. Re:A pointless endeavour... by SWroclawski · · Score: 2, Insightful

    No I don't agree, and here's why:

    While people usually talk about X compatibility- that's not usually what they want. They want application compatibility. They want Mozilla, GNOME, Emacs to work on their computer *usually*.

    Look at Opie and you realize that, given sufficient numbers of apps, you don't care as much about the libraries.

    So what's important would be to port things like GTK and QT to the new target (however you choose to do that, be it at the X toolkit layer or the GDK layer, or whatever).

    An example of the success of this method are the number of Free applications for Microsoft Windows and OS X.

    While some apps talk to X directly, the number of users who will be effected is smaller.

    If something else can provide the ability to use the same apps, allow same/similar features and provide some benefits, then I don't see why we can't give it a chance, even if it breaks one compatibility.

    It's the infinite compatibility problem that has forced x86 down people's throats for so many years.

    Sometimes you need to make a new protocol and provide a migration path.

    - Serge Wroclawski

  18. Re:A pointless endeavour... by gsdali · · Score: 3, Interesting

    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.

  19. An insightful answer (was Re:A pointless endeavour by VP · · Score: 2, Informative

    ... unless you have read the paper, of course, in which case it will be a pointless answer...

    1. There is an explanantion of how X compatibility can be achieved, and it is pointed out that such a compatibility is required for Y to become widespread,

    2. Under the requirements, he lists the kernel 2.4 ATI driver, so he is using existing XFree drivers.

    3. see other posts in this thread

    4. It's a framework, with a working base implementation. The paper is well written, and allows for the real work on Y to commence. Of course it will take more than one year to make it complete, but of all the "replacements" of X, this one seems to be best positioned for a possible success. After all, it took another undergraduate 4-5 months to get his hoby project to a working state to be shared with others, and it took few years before that project took off...

  20. Y code makes use of GCC C extensions by truth_revealed · · Score: 2, Interesting

    This is not particularly important since Y is a work in progress, but you can see use of a GCC C extension in Y's button.c:

    static struct WidgetTable buttonTable =
    {
    c: &buttonClass,
    reconfigure: buttonReconfigure,
    paint: buttonPaint,
    pointerButton: buttonPointerButton,
    pointerMotion: buttonPointerMotion,
    pointerEnter: buttonPointerEnter,
    pointerLeave: buttonPointerLeave
    };

    That's not necessarily a bad thing - I think GCC is one of the best compilers around. The only issue here is that that particular named struct member syntax construct has been deprecated since GCC 2.5 and may be dropped in the future. If I understand the GCC docs correctly I think the alternate C99 syntax would be:

    static struct WidgetTable buttonTable =
    { .c = &buttonClass, .reconfigure = buttonReconfigure, .paint = buttonPaint, .pointerButton = buttonPointerButton, .pointerMotion = buttonPointerMotion, .pointerEnter = buttonPointerEnter, .pointerLeave = buttonPointerLeave
    };

    But I could be mistaken.

  21. Re: Linux comparison by TeknoHog · · Score: 3, Insightful
    I was under the impression Linus started work on Linux while an undergraduate student?

    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.
  22. Re:Well... by Ploum · · Score: 2, Interesting

    Yes, but aren't Xouvert and DirectFB others starts ?

    I'm lost in those things...

    Will we have a replacement for X ? Will we have the choice when installing Linux (like KDE or Gnome) ?

    Will we have a simple and light software for home users and a big, with network support, for the IT ?

    I'm not sure to really understand what this news means.

  23. Up to a point... by BrokenHalo · · Score: 2, Interesting
    a generic interface makes the norms happy, which is what breaks market share monopolies

    That's true, as far as it goes, but is pretty much unnecessary.

    The "norms" as you call them can click through a RedHat or Mandrake install if they want, and if they accept the defaults will end up with a desktop that is not so far removed in usability from a Windows interface that they will be incapacitated. At least, unless they are such complete morons that they shouldn't be allowed within spitting distance of a computer...

    This notion that everybody should throw out all desktop environments except one and unify is all very well until you try to decide which should go or stay.

    The whole point is to enable freedom of choice, not to turn Linux desktops into Microsoft-style dictatorships.

    1. Re:Up to a point... by HiThere · · Score: 5, Insightful

      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.
  24. YOU are the real problem, not the interface. by The+Spoonman · · Score: 2, Insightful

    unless they are such complete morons that they shouldn't be allowed within spitting distance of a computer...

    It's offensively mindless ramblings like that that are a) keeping Linux out of majority desktop share and b) keeping the sterotype of the arrogant geek strong in the hearts and minds of millions.

    Computers are not important enough to serve as the deciding factor of one's intelligence. I would argue that social skills are a much better yardstick, and by using it on your post above, I see that you shouldn't be allowed within spitting distance of another human being (loosly assuming that you are one yourself).

    Computers are just pieces of equipment that some people understand, and some don't. Could you rebuild your car's engine from scratch, or do you take it to a mechanic? Does he make you feel like an imbecile because you don't know how to tune your own fuel injectors?

    The norms need some kind of consistent interface, and Linux (or *nix in general) just doesn't provide that. Yes, they can click through a Redhat install (doubtful as one of the first things to do is partition the drive, and I can't see my mother doing that), but it'll be different enough from what they know. And, then, what if they want to install a new piece of software? Do they have GTK? Probably. QT? Again, good possibility. OCaml? Ahhh...I don't know...and they sure as hell aren't. (I know, not a toolkit, but an example). All they know is when RPM tells them they need it, they won't know how to get it. And, considering how well written 90% of the install docs are, they'll never find out.

    --
    Which is more painful? Going to work or gouging your eye out with a spoon? Find out!
    http://www.workorspoon.com
  25. Probably was a troll by Wills · · Score: 2, Informative

    To say the security of X is horrible because silly people have done "xhost +" is ridiculous! Doing "xhost +" should make absolutely no difference to your computer's security with respect to network attacks because your computer should have a firewall which (at least) blocks incoming and outgoing X11 connections. Anyway, if you want to run X applications on remote computers, the best way to do so is to use ssh for securely forwarding the X11 connections to/from the remote computers., e.g.

    ssh -X -l login_name remote_computer

    or

    ssh -X -l login_name remote_computer X_program

  26. This whole story is a waste of time by 0x0d0a · · Score: 5, Informative

    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*

    1. Re:This whole story is a waste of time by Wolfier · · Score: 2, Interesting

      >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.

      Do you mean that X is efficient for flat-color rectangles but inefficient for pixmap-laden interfaces?

      If so, the definition of efficiency needs to be updated. Today, efficiency means efficiency dealing with pixmap-laden interfaces. Anything is efficient for flat-color rectangles.

      This efficiency is not comparative. "VNC and other interfaces are inefficient too" is not a good excuse for X to be inefficient as well.

      >Problem: X's multiple-widget set system is a bad
      >idea.
      >
      >Answer: No, it isn't. [snip]
      >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.

      How is it different than GTK 1 and GTK 2? QT 1 and QT 2 and QT 3? As far as I know, most, if not all, applications have to be rewritten, so X widget sets *also have* broken user level compatibility on a regular basis.

      Once an application have chosen a widget set, it is doomed in the sense that it has to be revised when the widget set does - it is unrelated to how many widget sets a system can support.

      So, in this sense, the single widget set settings on Macs and Windows is NOT a disadvantage at all when compared with X.

      >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

      As QT and GTK and other X widgets can evolve, Macs and Windows widgets can evolve just as well.
      So the "ability to evolve" is not unique to X11. This argument of how X11 is "superior" is just plain nonsense.

      >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.

      Show me a good way of pasting one selection over another selection under X without retyping.

  27. Bad assumption by 0x0d0a · · Score: 2, Insightful

    The thing is that you're assuming that all widget sets provide the same functionality (or that you can go with the least-common-denominator). In reality, that'd make for some pretty awful applications. You'd have to give up your KDE-draggable-panes (not supported under Win32), your sliders (not supported under classic Mac OS), gtk's easy layout system that provides automatic resizing support (Win32 and classic Mac OS use a pixel-based layout system). Some widget sets use infinite progress bars (XUL), some use animated icons (Windows). The two can't fit in the same space.

    You're thinking of something simple, like theme engines. These *are* pluggable, and plenty exist for gtk. You can't just drop in a new widget set, though.

    Xlib *was* designed so that it's easy to develop widget toolkits, though.

  28. Rebuttal by David+McBride · · Score: 4, Informative

    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

    1. Re:Rebuttal by David+McBride · · Score: 3, Interesting

      The plan is to continue development. Up to this point, due to the nature of an individual project, development had to be done solo -- although we had various discussions regarding the design of the system.

      Hopefully, when Mark gets back from holiday and gets settled at his new job, we'll be able to get going again.

      Cheers,

      David

  29. Thomas' critique of X by po8 · · Score: 2, Insightful

    Well, I've only gotten as far as the critique of X at the start of Thomas' paper. This critique is a classic /. "X sucks" troll in academically semi-polished form.

    Point by point:

    • X has too much latency: See Packard's paper in Freenix 2003: high latency is not an inherent X attribute, even over high-latency connections.
    • X requires a toolkit for ease of programming: Duh. As opposed to what, exactly?
    • X needs standardized UI semantics: This is moot. You may use X+Gnome or X+KDE if this is what you desire. Either is a fairly good and fairly complete system with standard UI semantics. The existence of two such systems is no more troublesome than the simultaneous coexistence of Windows and MacOS.
    • X is "an incoherent mess": When making this argument, it is always useful to confuse the protocol with the implementation. The existence of Kdrive is a nice example of how much the latter can be cleaned up. The protocol hasn't changed in 20 years except for extensions: the argument that the extensions don't work together is supremely unconvincing, supported by one lame example. freedesktop.org has made a lot of progress in a short time in refactoring and standardizing X.
    • X is complex: It is. Unfortunately, it is a response to complex application requirements. Again, one lame example involving perhaps the most demanding application running is cited. And again, freedesktop.org is standardizing mechanism for dealing with the cited problems.
    All of this would have been easy to avoid. Just talk to an X developer before publishing the paper. Many are quite accessible, and would undoubtedly have been happy to correct the critique.

    It's perfectly valid to want to write a new window system. I can think of a variety of justifications, starting with "it's nice to try something different" and "I wanted to learn some things". Trolling is hardly necessary, and hardly welcome.

  30. We really need HTTP-friendly protocols by Tablizer · · Score: 2, Interesting

    Like I said in prior similar topics, for intranets, businesses really want an HTTP-friendly GUI to avoid firewall hassles. Candidates include XWT, and SCGUI (my pet). I suppose XUL could also be included. HTML forms + JS + DOM is really a pain for GUI emulation.

  31. Object Oriented by jbolden · · Score: 2, Informative

    QT was developed after object oriented methodology was well understood. Its far easier to learn than Motif. There is genuine progress.

  32. Some flaws in the paper by miguel · · Score: 4, Insightful

    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.

  33. Re:Is it snappier than X? by Wills · · Score: 2, Informative

    Firstly, you are criticising X when you are actually likely using XFree86, the free non-commercial implementation of an X server. There are commercial X servers which in some cases run faster than XFree86. XFree86 writes its own device drivers but graphics hardware manufacturers have often provided little or no information to help XFree86 developers write better device drivers. The design of X is not the problem.

    Secondly, the client-server design of X causes minimal delay on locally displayed, locally run applications. The X11 communications take place over the very efficient, low overhead Linux version of Unix domain sockets. Furthermore, there is the shared memory extension to X, XSHM, which bypasses the usual client-server model for XImages and XPixmaps so that applications which are locally displayed and locally run can directly read/write the data in shared memory in the X server thus avoiding client-server roundtrip communications for these common high-volume data-structures.

    I use XFree86 on a variety of hardware ranging from an old 66MHz i486 PC to very recent Intel PCs, and find it runs as fast as Windows.

  34. I love it by NoMercy · · Score: 2, Interesting

    Well I didn't read the whole paper, but the first 5 minutes made me go.... you know this guy actually knows something, the next 5 minutes made me go, you know this guy actually knows a hell of a lot, and the next 5 minutes after that, I was convinved that it's not a bad system to replace X Window, with.

    If people actually got behind this, poked around, wrote drivers so everything didn't have to go through SDL and the other things that it needs it could really work, admitidly it'd be a bit of a shift and many things done today would have to be built as modules to the windowing system, thinking particularly things like Evas *druel*, themes and so forth.

    Bigest turn-on: You could connect to a machine, run a program and no matter what it was it'd look right on your machine, somone else running the same program on the same machine would have it look right on their desktop as well.

    Bigest turn-off: The number of legacy X11 appications which would totally ignore the good features of the windowing system and fact it'd probably take 10 years to get to the stage where nvidia and ati would write accelerated drivers for it.

    Now of course I am a beast of my enviorment, so I'll just mourn that I saw no mention of RISC OS and say jolly well done, I don't think my masters project will be anything close to this impressive.