x_terminology_backwards_or_not

This is part of The Pile, a partial archive of some open source mailing lists and newsgroups.



Subject: Re: Lurkers question 
From: Joe Brenner <doom@kzsu.stanford.edu>
Date: Wed, 20 Dec 2000 12:38:42 -0800

Rick Moen <rick@linuxmafia.com> wrote:

> That graphics engine is a "server" in the sense that it serves up to
> applications its ability to image using your video card.  The Netscape
> browser for X11/Linux, for example, has no idea how to draw anything; it
> doesn't have to know.  It's an X11 client:  As such, when it need
> something displayed to the user, it invokes the services of the user's
> local X server.

I have to say that I think the easiest way to understand the
X server/client jargon is just to say that they got it
backwards.  Everone else calls the backend the server and
the frontend the client, except for X.  I can believe that
there's some deeper understanding where this backwards
terminology makes sense, but I'd rather be insulated from
those particular depths

Anyway, I think that this is the main point:

> We call X11 a _networked_ graphics model because X11 client applications
> can be running on remote machines, sending their X11-drawing requests
> across a LAN (or across the Internet) to where the user and his local X
> server are.  You and your X server might be in California, where you're
> looking at the screen output of a copy of the Netscape browser that is
> actually running on a machine in New York.

Coming from the Windows world, you're not usually used to
thinking about an application seperated into frontends and
backends, since they're both pretty much welded together.
In the world of X, this isn't the case, and on occasion you
may actually want to run an app on a remote machine, with
the display on the console in front of you, as Rick
describes here.


===

Subject: Re: Lurkers question
From: Nick Moffitt <nick@zork.net>
Date: Wed, 20 Dec 2000 12:53:09 -0800

begin  Joe Brenner quotation:
> I have to say that I think the easiest way to understand the X
> server/client jargon is just to say that they got it backwards.
> Everone else calls the backend the server and the frontend the
> client, except for X.  I can believe that there's some deeper
> understanding where this backwards terminology makes sense, but I'd
> rather be insulated from those particular depths

	Maybe X broke my brain, but it makes perfect sense.  A Web
server serves up its hard drive to you, shoving out files and such.
An X server serves up its video card and mouse to you, taking in
requests to draw and shoving back keyboard and mouse input.

> Coming from the Windows world, you're not usually used to thinking
> about an application seperated into frontends and backends, since
> they're both pretty much welded together.

	They call it "integration" and they sell it as a "feature".
In the Unix world, functional decomposition is a "feature".  The less
each program does, the more powerful it is, as per the three rules:

	1: A program should Do One Thing and Do It Well
	2: Portability is more important than performance
	3: Power and flexibility come from the interactions among
		components.

#1 seems counterintuitive to most, until you read #3.  #2 shocks many
people; but given the long-term development lifecycles of most complex
systems, the ability to port to a faster machine is more of a win than
optimizing for obsolete equipment.

===

Subject: Re: Lurkers question
From: Nick Moffitt <nick@zork.net>
Date: Wed, 20 Dec 2000 13:56:38 -0800

begin  Joe Brenner quotation:
> (I usually just try and say "frontend" and "backend" and avoid the
> terms "client" and "server").

	Two equally nebulous terms.  

===

Subject: Re: Lurkers question
From: Rick Moen <rick@linuxmafia.com>
Date: Wed, 20 Dec 2000 14:09:06 -0800

begin Joe Brenner quotation:

> I suspect that it's just a relative thing... you have a
> bunch of things talking to each other, and which one is in
> some sense subservient to the other is a matter of
> perspective.

The quality of A serving something up to B does _not_ require A to be
subservient to B.

In the case of X11, the X server -- quite simply --  serves up the
ability to draw graphics primitives, on an output device, to X11-client
processes.  Nobody (but you) said iota about subservience.

If you're having a difficult time grasping that, my condolences, but
that is not a BALUG-list concern.

===

Subject: Re: Lurkers question
From: kmself@ix.netcom.com
Date: Wed, 20 Dec 2000 14:13:19 -0800

on Wed, Dec 20, 2000 at 01:56:38PM -0800, Nick Moffitt (nick@zork.net) wrot=
e:
> begin  Joe Brenner quotation:
> > (I usually just try and say "frontend" and "backend" and avoid the
> > terms "client" and "server").

> 	Two equally nebulous terms. =20

That depends on what you're doing, Nick.

===

Subject: Re: Lurkers question
From: Nick Moffitt <nick@zork.net>
Date: Wed, 20 Dec 2000 14:25:43 -0800

begin  Rick Moen Lives Three Hours from Nowhere quotation:
> There are no native Framemaker or Netscape Communicator binaries for
> your local box, but X11 lets you run both those applications on
> their respective, nearby binary platforms, and image them onto your
> Alpha's X server display.

	As a bonus, the load on all three systems is lighter.
Beaujolais to distributed processing!

===

Subject: Re: Lurkers question 
From: Joe Brenner <doom@kzsu.stanford.edu>
Date: Wed, 20 Dec 2000 14:32:26 -0800

Rick Moen <rick@linuxmafia.com> wrote: 

> begin  Joe Brenner quotation:
> 
> > I have to say that I think the easiest way to understand the X
> > server/client jargon is just to say that they got it backwards.
> 
> OK:
> 
>   -- Your solution is to tell people the terminology is wrong.
>   -- My solution is to explain the terminology, so it makes sense.
> 
> I like my solution better.  Much.

As might be expected.

The way I look at it is that it's sometimes easier to just
say "this probably doesn't make any sense", (or at the very
least "this terminology might seem obscure").


===

Subject: Re: Lurkers question 
From: Joe Brenner <doom@kzsu.stanford.edu>
Date: Wed, 20 Dec 2000 14:40:30 -0800

Rick Moen <rick@linuxmafia.com> wrote:

> begin Joe Brenner quotation:
> 
> > I suspect that it's just a relative thing... you have a
> > bunch of things talking to each other, and which one is in
> > some sense subservient to the other is a matter of
> > perspective.
> 
> The quality of A serving something up to B does _not_ require A to be
> subservient to B.
> 
> In the case of X11, the X server -- quite simply --  serves up the
> ability to draw graphics primitives, on an output device, to X11-client
> processes.  Nobody (but you) said iota about subservience.

Ok, okay, so it makes no sense to say that the server serves
the client.  Silly me. 


> If you're having a difficult time grasping that, my condolences, but
> that is not a BALUG-list concern.

Oops, there I go, cluttering up the list again. 
I better let you intelligent people get on with your
business.

===

Subject: Re: Lurkers question
From: Rick Moen <rick@linuxmafia.com>
Date: Wed, 20 Dec 2000 14:58:26 -0800

begin Joe Brenner quotation:

> The way I look at it is that it's sometimes easier to just say "this
> probably doesn't make any sense", (or at the very least "this
> terminology might seem obscure").

I aim at understanding the model.  Which requires only understanding
_what_ is being served.

Successive waves of people "explained" X to me by telling me that the
terminology is messed up and that I shouldn't try to understand why the
graphics engine is called a server.  Once I figured out for myself the
terminology's internal logic (its model), understanding dawned for the
first time.

So, that's why I give that answer to others -- and why I get annoyed
when other people cut in to "help" by advising the questioner to
disregard what I said.

> Sorry, didn't mean to be obscure. 

Apologies for being irritable, then.

> When I first started reading things like this it left me going "But
> what *is* it? A window manager?  A widget set?

And a floor wax!

===

Subject: Re: Lurkers question
From: Rick Moen <rick@linuxmafia.com>
Date: Wed, 20 Dec 2000 16:16:33 -0800

begin Joe Brenner quotation:
 
> I had difficulty getting into the literature on X (but not
> too much trouble in actually using it, e.g. to run a unix
> app with an NT box as an Xterm) until it was pointed out to
> me that in the X world (unlike everywhere else) the "client"
> is not the thing in front of you.

Again, the key is to understand _what is being served up_.

It's really not difficult.

===

Subject: X Topology:  As X Consortium seems to See It
From: Brian Sroufek <brian_sroufek@msdesigninc.com>
Date: Wed, 20 Dec 2000 20:07:47 -0800

I can see that the viewpoints are becoming viewports without
a server...

In any case, the way that the X Consortium, et. al., see it is
something like this:

                                                        XLib API
                                              --------------

                                                                ---
Window Manager1 --- XClient1/Window1 -------

/
\
XServer0    ---XDisplayMgr1 --- Window Manager 2   --- XClient2/Window2
 -------     User
(Host A)           |                                        /
\
/
                            |                                       |
|                                                        ---
XClient3/Window3 -|
                            |                                       |
|                                                       /
                            |                                       |
|                                                     /
XServer1  --- XDisplayMgr2 ---    |       -- Window Manager3
(Host B)           |                                      ++ | ++|
                           |
|
                           |
|
XServer2   --- XDisplayMgrN ---
(Host N)


This is actually a kind of Multi-Server, Mid-Tier (2 Tiers), Client
System.
So, one should declare his/her viewpoint as the Client or Server so
as to reduce the confusion.


===


the rest of The Pile (a partial mailing list archive)

doom@kzsu.stanford.edu