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

19 of 666 comments (clear)

  1. 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 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.
    3. 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?

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

    5. 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
  2. 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.
  3. License? by Hythlodaeus · · Score: 2, Interesting

    What's the license?

    --
    For great justice.
  4. 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 --

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

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

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

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

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

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

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

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

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

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