gnu@hoptoad.uucp (John Gilmore) (12/09/89)
In article <5fLz02oD72dj01@amdahl.uts.amdahl.com> aksegu@uts.amdahl.com (Ashok Kumar A. Segu) writes: > I was going thru the SPARCserver family specifications (technical > brochure) ans saw that the WINDOW SYSTEM that SUN supports is > OpenWindows. This was also reiterated by Mr. Scott McNealy and Mr. Eric > Schmidt at the introduction of SPACRCserver 1 and 490 on Dec.6th. > > Guess what folks, the SYSTEM SOFTWARE does not include OpenWindows, > but includes SunView. rogern@sun.com (Roger Nolan, Product Marketing Manager--Windows) wrote: > This sounds like a misunderstanding. The OpenWindows Developers Release > 1.0 is supported and shipping on SPARC systems. No, this sounds like deliberate evasion. All the Sun press releases and speeches and brochures and stuff talk about Open Windows as if it was real, but Sun still ships the old SunView stuff and doesn't ship Open Windows *with the system*. Calling it a "Developers Release, SPARC Only" would be fine -- just stop telling the press and the customers that Sun is 100% behind Open Windows, leaving them with an ugly surprise when the system arrives. Also, I thought the Intel and Motorola ports would be out in October: > From: rprobst@SUN.COM (Richard Probst) > Newsgroups: comp.windows.x > Subject: Sun ships OpenWindows > Message-ID: <8909270029.AA26500@paba.sun.com> > Date: 27 Sep 89 00:29:27 GMT > > Sun is now shipping OpenWindows 1.0 on SPARC machines. Sun-3 and Sun386i > versions will start shipping in 30 days. > > OWN-1.0-4-4-5 SPARC -- Doc and Media $ 295 ND ** 9/25/89 > OWN-1.0-4-3-5 Sun-3 -- Doc and Media 295 ND ** 10/25/89 > OWN-1.0-4-R-5 386i -- Doc and Media 295 ND ** 10/25/89 (Note the dates in the last column.) > This means that you can buy one copy of the media and > documentation and run it on as many Sun workstations as you like. Oh, really? Can I upload it to uunet and let anybody FTP it or uucp it from there? Can I put it on the Sun User Group tape? Can I send it to the guy in Europe who is getting a runaround from his sales office but keeps seeing postings from other people who have it? If so, why didn't Sun just do all this stuff? Or simply put it on the next &%^$ Unix release! > At the current time, OpenWindows is a Developers Release. We are not > recommending it to the general end user community at this time. As a > result, SunView is still bundled with all of our systems and is the > default window system for Sun workstations. And with this policy, it sure will stay that way. Imagine you are a software developer. Let's say you port your first Sun product to Open Windows. The customers start to buy it. You ship them copies. Then: "What do you mean I can't run it? I have to buy Open Windows from Sun? You've ordered things from Sun before, it will take weeks just to get my sales rep to return a call, since I only bought three workstations. Howabout I just send back your software?" Will OpenWindows be bundled in SunOS 4.1, or will we have the same story for another whole year? -- John Gilmore {sun,pacbell,uunet,pyramid}!hoptoad!gnu gnu@toad.com Just say *yes* to drugs. Use your *no*s for government bullshit.
barnett@crdgw1.crd.ge.com (Bruce Barnett) (12/14/89)
In article <9236@hoptoad.uucp>, gnu@hoptoad (John Gilmore) writes: >Will OpenWindows be bundled in SunOS 4.1, or will we have the same >story for another whole year? Well, from what I hear, the alpha/beta test time for SunOS is HUGE! By separating window stuff from SunOS, we might see new releases of SunView and OpenLook before we see SunOS 4.1. Sure enough, I just got the following message: ------------------------------------------------------------------------------- SUN INTRODUCES NEW EASY-TO-USE TOOLS FOR DESKSET SunFLASH Vol 12 #1 December 1989 ------------------------------------------------------------------------------- Free Right-To-Use License Included With All Sun Workstations MOUNTAIN VIEW, Calif. --December 5, 1989-- Sun Microsystems today introduced an enhanced release of the DeskSet(TM) environment, a suite of easy-to-use, window-based tools built around the OPEN LOOK(TM) graphical user interface. Four new tools bring the DeskSet 1.0 total to 12 making this the most extensive set of tools available on workstations today. Sun also announced that a free right-to-use license for DeskSet 1.0 is now included with all Sun workstations. These "essential" tools such as a file manager and mail tool make the UNIX(R) operating system simpler, replacing the keying in of commands with the point and click of a mouse. Additionally, the tools can be run in a 2-D or 3-D mode. DeskSet 1.0 will be of particular interest to independent software developers who use the SunView(TM) window system, since the new release enables them to add "drag and drop" functionality to their SunView applications. Until now, DeskSet has only been available for X-based applications. DeskSet was first released in April as a part of the OpenWindows(TM) application environment, built on the X11/NeWS(TM) window system. The new release includes four new tools: a calendar manager, print tool, tape tool and calculator, in addition to the original tools: file manager, mail tool, text editor, binder, icon editor, snapshot tool, performance meters and clock. All 12 tools utilize the "drag and drop" method of directly manipulating visual objects with a mouse, making work very fast and intuitive. The New Tools: Calendar manager simplifies appointment and resource scheduling, notifying the user of scheduled one-time or ongoing meetings, visually or via sound; Print tool enables users to simply "drag and drop" an icon with a mouse to print documents or mail messages; Tape tool provides an easy way to read, write or list data from a local or remote tape drive; Calculator is programmable for algebraic, scientific and logic mathematical functions. Availability The DeskSet 1.0 tool suite will be available during the first quarter of 1990. A right-to-use license is free with every Sun workstation shipped; tape and documentation are $295. The suite is available on all Sun platforms and requires only 4 megabytes of memory. Sun Microsystems, Inc., headquartered in Mountain View, Calif., is a leading worldwide supplier of network-based distributed computing systems, including professional workstations, servers and UNIX operating system and productivity software. ### OpenWindows, SunView and DeskSet are trademarks of Sun Microsystems, Inc. UNIX is a registered trademark and OPEN LOOK is a trademark of AT&T. All other products or services mentioned in this document are identified by the trademarks or service marks of their respective companies or organizations. For reader inquiries, telephone 1-800-821-4643 outside California. Inside California, call 1-800-821-4642. Press Contact: Cathy Garfield (415) 336-6536 -- Bruce G. Barnett <barnett@crd.ge.com> uunet!crdgw1!barnett
salzman%iris@RAND.ORG (Isaac) (12/18/89)
>No, this sounds like deliberate evasion. All the Sun press releases >and speeches and brochures and stuff talk about Open Windows as if it >was real, but Sun still ships the old SunView stuff and doesn't ship >Open Windows *with the system*. yup! all talk, no action. don't count on seeing OpenWindows shipped with SunOS until SVR4/SunOS, which is quite a ways off. >Calling it a "Developers Release, SPARC Only" would be fine -- just stop >telling the press and the customers that Sun is 100% behind Open >Windows, leaving them with an ugly surprise when the system arrives. >Also, I thought the Intel and Motorola ports would be out in October: >> Sun is now shipping OpenWindows 1.0 on SPARC machines. Sun-3 and Sun386i >> versions will start shipping in 30 days. >> >> OWN-1.0-4-4-5 SPARC -- Doc and Media $ 295 ND ** 9/25/89 >> OWN-1.0-4-3-5 Sun-3 -- Doc and Media 295 ND ** 10/25/89 >> OWN-1.0-4-R-5 386i -- Doc and Media 295 ND ** 10/25/89 >(Note the dates in the last column.) >> This means that you can buy one copy of the media and >> documentation and run it on as many Sun workstations as you like. hey, i thought the SPARC release would be out in SEPTEMBER!!! that announcement looks to me like a blatant lie. those dates are completely bogus. yes i know it's a developers release and that it's not an FCS product. but when you make announcements like that, please explain what a developers release is! the above announcement gives me the impression that i can place an order and expect it to arrive within a reasonable amount of time (with their s/w shipping record, that'll be about a month, which really isn't reasonable but....), and that's not the case. the case is, as i found out from the SUG conference - that they are (severly) limiting the number of copies shipped. >Oh, really? Can I upload it to uunet and let anybody FTP it or uucp it >from there? Can I put it on the Sun User Group tape? Can I send it to >the guy in Europe who is getting a runaround from his sales office but >keeps seeing postings from other people who have it? If so, why didn't >Sun just do all this stuff? Or simply put it on the next &%^$ Unix >release! according to their release notice, we should be able to get it via FTP or UUCP. the RTU is part of SunOS. yeah, right. the RTU is limited to some X-hundered of preferred customers. why? because they aren't ready to support it yet with 1-800-USA-4SUN. why can't they just make that fact explicit in the RTF and ship the thing already!!?? i can't think of one GOOD reason, can anyone else? >> At the current time, OpenWindows is a Developers Release. We are not >> recommending it to the general end user community at this time. As a >> result, SunView is still bundled with all of our systems and is the >> default window system for Sun workstations. >And with this policy, it sure will stay that way. no kidding! so far everything they've done has accomplished nothing but decrease the likelyhood of the products success. they are simply killing it. if they wait long enough, they won't have to ship it at all. they can just bury the tapes and it'll be done with! consider this. many people are interested in Open Windows because the MIT X11R3 server for color Sun's is pathetically slow. if you've got a machine with enough memory to run Open Windows, the color performance blows away MIT X11R3. these customers (and maybe there are only a few), will want Open Windows only for X11 and may have no interest in NeWS. but at least they'll have it in their hands, and maybe they'll try it, and maybe they'll like it! so there's some potential for turning more people on to NeWS. but hey, X11R4 is due out next month. and guess what, the Sun color server is (from all reports that i've heard), a LOT faster than the X11R3 server. so people getting X11R4 will be quite happy and won't have any interest in Open Windows. just keep holding those tapes back.... >Will OpenWindows be bundled in SunOS 4.1, or will we have the same >story for another whole year? it'll be the same old story.... and get this. sun announces their new DeskSet utilities - a (really nice) calendar tool, print tool and tape tool, to go along with the other DeskSet tools - the filemgr, etc. - that come with Open Windows. but these new DeskSet tools are not XView programs - they are not for Open Windows. they are SunView programs! someone please explain the rationale behind this brilliant move. these, along with SunWrite/SunPaint/SunDraw, should all be Open Windows tools (written with XView or The NeWS Toolkit). how are they supposed to promote Open Windows by providing new SunView tools??!!!! and these new tools are really nice. they implement Open Look with a 3D look - real slick. and Open Windows (for those few that have it) is still 2D only. i've been running Open Windows for quite some time now - because we were fortunate enough to get into their beta/special program. it's some pre-FCS release (well, there's no FCS release - so pre-developers release i guess). but i've used their current release at SUG, and they are quite similar, so for all i know it's the same thing they're shipping (in very limited quantity). but i can't know since i can't seem to get my hands on the "released" version. whatever version it is ... i like it A LOT. i'm sure that given the opportunity to run it, so will other people!!! keeping it under lock and key isn't going to do anyone any good. in a way, i see another Xerox happenning. you've got some brilliant people at Sun developing some brilliant products: Open Windows, which includes NeWS, XView, Open Look, and GUIDE as a separate future product (i tried this at SUG, it's GREAT). but their marketting people are killing it. they are being totally wishy-washy. introducing some new products under SunView, some under Open Windows. so if you really want to be up to speed you have to run both! i don't like SunView - because it's not a network based window system. i don't care about running SunView applications under Open Windows. i bet if they gutted the SunView compatibility it's performance would improve DRAMATICALLY!! most of Sun's SunView tools have XView equivalents. many commercial products (will) have X11 (and hopefully NeWS, but not at the rate Sun's going) versions. if you need SunView support, use something like overview or adjacentscreens, but take the overhead out of Open Windows. i also happen to like Open Look. but somehow Motif has taken hold. as far as i'm concerned, Motif is a joke. it may have a nice "look" (the 3D is real cute), but the feel sucks. Open Look goes out of its way to have a good feel and to be consistent (my opinion of course). i've tried a few versions of a Motif X11 window manager. the mouse actions that de-iconify a window on one version ended up killing the window on another version (because it brings up a menu with the default action of killing the window). lots of thought went into that i'm sure. why has Motif taken hold? who knows. XView, a freely available X11 toolkit which implements Open Look, has been out there for a while, but not long enough i guess. it's just very depressing to see what i (and i'm sure many readers of this list) consider to be superior technology end up in the dust because of poor management and marketting decisions. NeWS should've been made public (in the sense that NFS was) a *long* time ago. care to guess what would've happened? Open Windows should be made available to everyone and anyone that wants it. MIT doesn't have a 1-800-USA-4X11, they have xpert@expo.lcs.mit.edu. the people that want Open Windows *now* can support themselves! c'mon Sun, get it together. what good are Open Windows if they are covered by iron bars??!!! -- * Isaac J. Salzman ---- * The RAND Corporation - Information Sciences Dept. /o o/ / * 1700 Main St., PO Box 2138, Santa Monica, CA 90406-2138 | v | | * AT&T : +1 213-393-0411 x6421 or x7923 (ISL lab) _| |_/ * Internet : salzman@rand.org / | | * UUCP : !uunet!rand.org!salzman | | |
barnett@crdgw1.crd.ge.com (Bruce Barnett) (12/19/89)
In article <8912162135.AA03025@iris.rand.org>, salzman%iris (Isaac) writes: > How are >they supposed to promote Open Windows by providing new SunView tools??!!!! >someone please explain the rationale behind this >brilliant move. Perhaps they are promoting OpenLook instead of Open Windows. OpenLook has nothing to do with operating systems or toolkits. You can have OpenLook on a PC, Mac, OS/2, Amiga, VMS system. The real goal is to have the same user interface on every computer, not just on Unix workstations running the X window system. Remember the analogy of dashboards - you can get inside any car and drive it away. No so with computers. Also - OpenLook does have some advantages over SunView with respect to user interfaces. I am also sure that a lot of people would love to have the file manager on their workstation and still have all of the advantages of SunView. >i bet if >they gutted the SunView compatibility it's performance would improve >DRAMATICALLY!! It might be true - as a lot of code is in the kernel. Removing 100K from the kernal would give you the equivalent to 1 Meg in user space, since you can page in the code you need. But I don't really understand your comment about "it's performance". what is "it"? The server? The application? The window manager? The real problem is that you may end up using three or more toolkits that are not sharing any code. SunView, XView, tNt, plus the other X toolkits. Each toolkit has it's advantages. But using all three at once does eat up a lot of memory. >most of Sun's SunView tools have XView equivalents. As of today, I doubt this. There are a LOT of SunView programs out there. Catalyst, etc. A year from now you may be right. -- Bruce G. Barnett <barnett@crd.ge.com> uunet!crdgw1!barnett
peter@ficc.uu.net (Peter da Silva) (12/19/89)
In article <4290@crdgw1.crd.ge.com> barnett@crdgw1.crd.ge.com (Bruce Barnett) writes: > You can have OpenLook on a PC, Mac, OS/2, Amiga, VMS system. > The real goal is to have the same user interface on every computer, > not just on Unix workstations running the X window system. How about the same programmer interface as well? One nice thing about C is that the stdio library gives you pretty much the same programmer interface to what are really quite sophisticated system functions on a wide variety of machines. Don't you think it's time to take a step back and look into this? Until it's there, having a standard *user* interface is a bit premature. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
barnett@crdgw1.crd.ge.com (Bruce Barnett) (12/19/89)
In article <7352@ficc.uu.net>, peter@ficc (Peter da Silva) writes: >How about the same programmer interface as well? >Don't you think it's time to take a step back and look into this? > >Until it's there, having a standard *user* interface is a bit premature. I don't agree. First of all, there would have to be a standard language. C++ and Lisp would be a good choice for an object oriented windowing system. And of course PostScript/NeWS. Perhaps the standard has already been defined - CLX. That's X windows on top of CLOS, which is the object oriented extension to common lisp. Does this solve your problem? Of course not. I would rather use an object oriented (O-O) language to support an O-O window system. If I couldn't have that, then I would want a package that would let me design the program interactively, without any programming. I certainly would not want to wait three years for a standards committee to define the stdio-windows library package. And if something does come out - it wouldn't have the ability to provide the features I need today. IMHO defining a standard binding is premature. People don't even know what toolkit to use! Standards are also restricting - they are great at telling people what they cannot do. Defining a standard programming too soon is a disaster. in <7344@ficc.uu.net> Peter says: >Personally, I think terminfo sucks. Case in point. terminfo is a standard package for ASCII terminals. It doesn't make it good. Also - as any novice software engineer will tell you, the first step in a project is the top level specifications. You DON'T write code before you know what it is that you want the code to do. This is the function of the Open Look style guide. I think it is obvious that the top level specifications should be done before any code is written. -- Bruce G. Barnett <barnett@crd.ge.com> uunet!crdgw1!barnett
thor@stout.UCAR.EDU (Rich Neitzel) (12/19/89)
> > The real goal is to have the same user interface on every computer, > not just on Unix workstations running the X window system. > > Remember the analogy of dashboards - you can get inside any car and > drive it away. No so with computers. > Sigh! I can't stand it any longer. This is a very bad analogy in my opinion. Yes, I can drive any car car intended for the U.S. market, but the level of commonality is no where near the level that as proposed by the "one user interface claim". I own two cars, made the same year by the same firm and here is a partial list of the differences in dashboard layout- 1> One has the dimmer switch on a lever on the steering column, the other has a foot switch. 2> One has the gear selection lever on the steering column, the other is floor mounted. 3> One has only simple idiot lights that turn red to indicate a problem, the other has analog gauges. 4> The fuel level gauges are on opposite sides of the speedometer. 5> One has a true toggle switch for the rear defroster, the other has a momentary button. Further, the toggle swicth lights up whle the defroster is on, the other has no indicator. 6> On one the heater speed controls are aligned horizontally and placed below and to the right of the temperature control. On the other the speed control is vertically aligned and to the left of the temperature control. I could go on with many more examples of how these two vehicles differ in their control interfaces, but I think the point is clear - despite all the overblown hype about consistent user interfaces and the claims that these are common outside of computing, the truth is quite the opposite. In few cases are there universal interfaces for functions that are even moderately complex. Further, it is rare for users to find this a limitation or barrier to their use of the item in question. When was the last time anyone heard a serious complaint that the dashboard of their Escort was not identical in layout and function to the dashboard in their Civic? I suspect that no reading this has any trouble using an elevator, but there are obviously no standards in their control design, not even in which direction the floor numbers soon run - highest at the bottom, lowest, etc. All this talk about commonality of "look & feel" is simply an attempt to evade the real issue in the design of user interfaces - does the interface for THIS application adequate suit the conditions of use, level of user skill and functionality required to perform the job? Common user interfsces simply make the life of developer easier by allowing one to put on any interface, cklaim that this is good because it is "standard" and walk away. No thought or concern about reality required! Don't force interface applications into a bed of Procrustes (sp?)! ------------------------------------------------------------------------------- Richard Neitzel National Center For Atmospheric Research Box 3000 Boulder, CO 80307-3000 303-497-2057 thor@thor.ucar.edu Torren med sitt skjegg Thor with the beard lokkar borni under sole-vegg calls the children to the sunny wall Gjo'i med sitt shinn Gjo with the pelts jagar borni inn. chases the children in.
peter@ficc.uu.net (Peter da Silva) (12/20/89)
Suggested that a standard user interface is premature, and urged consideration of the lack of a standard programmer interface. The analogy I used was with the UNIX system calls and the C stdio library... In article <4301@crdgw1.crd.ge.com> barnett@crdgw1.crd.ge.com (Bruce Barnett) writes: > I don't agree. First of all, there would have to be a standard > language. Why? Let's go back to my analogy... what difference does it make whether the system call looks like: nread = read(fd, buf, nbytes); CALL READ(FD, BUF, NBYTES, NREAD) CALL C_READ(FD, @BUF, NBYTES, @NREAD); (setq nread (read fd buf nbytes)) nread := cread(fd, buf, nbytes); The semantics are the same. Similarly, let's look at a hypothetical window call: Menu = AddWindowMenu(Window, "Frobitz", "Fooble"); CALL ADDWM(WINDOW, 'Frobitz', 'Fooble', MENU) CALL W_ADDWINDOWMENU(WINDOW, @('Frobitz',0), @('Fooble'), @MENU); (setq menu (AddWindowMenu Window 'Frobitz 'Fooble)) menu := AddWindowMenu(Window, 'Frobitz', 'Fooble'); > C++ and Lisp would be a good choice for an object oriented > windowing system. I don't think tying windowing into any particular metaphor is a good idea. A program is more than a user interface with a bit of work going on behind it. The main purpose for most programs is what they do, not what they look like. > Does this solve your problem? Of course not. I would rather use an > object oriented (O-O) language to support an O-O window system. I'd rather use the best language for the job the program is intended to do. Not the best language for the user interface. That's just putting the cart before the horse. What if you're working in Prolog? Or APL? Or you're working for the DoD in ADA? Or adding a GUI to MicroEmacs? > I certainly would not want to wait three years for a standards > committee to define the stdio-windows library package. But you're willing to wait three years for a standards committee to define the user interface? > IMHO defining a standard binding is premature. People don't > even know what toolkit to use! Toolkit? As in X toolkit? My dear fellow. X is part of the problem. It's way too low level for something like this. > Standards are also restricting - they are great at telling people what > they cannot do. Defining a standard programming too soon is a disaster. No more than defining a standard UI. > in <7344@ficc.uu.net> Peter says: > >Personally, I think terminfo sucks. > Case in point. terminfo is a standard package for ASCII terminals. > It doesn't make it good. Termcap is a standard package for ascii terminals too. It's a hell of a lot smaller, cleaner, and (as I said in the message you so ruthlessly cribbed that from) better. Besides, Termcap and terminfo are both far below the level I'm talking about here. Curses is a closer metaphor. > Also - as any novice software engineer will tell you, the first step > in a project is the top level specifications. You DON'T write code > before you know what it is that you want the code to do. Yeh, but is the code supposed to put up pretty pictures or do real work? > This is the function of the Open Look style guide. The style of the UI shouldn't even be *in* the program. The details involved in OpenLook or Motif are way too low level. they belong in the UI handler (whether it be a server process, a PostScript program, a shared library, or even a statically linked library). > I think it is obvious that the top level specifications should be > done before any code is written. Yeh, but what should we be specifying? "I want a window big enough to hold the following objects: a text pane containing this text, and a selector for YES and NO. Tell me when someone selects YES or NO, and don't bug me otherwise", or "Draw a rectangle here, now put these characters in this font here, and then draw these rectangles... (lots deleted) now tell me when anyone clicks in my window. Oh, OK, erase this rectangle and redraw it here, and blit this rectangle up by the size of this font, put these characters here, and tell me what you want me to do next..." ? -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
barnett@crdgw1.crd.ge.com (Bruce Barnett) (12/20/89)
In article <5728@ncar.ucar.edu>, thor@stout (Rich Neitzel) writes: >Sigh! I can't stand it any longer. This is a very bad analogy in my >opinion. Yes, I can drive any car car intended for the U.S. market, but >the level of commonality is no where near the level that as proposed by >the "one user interface claim". It is only an analogy. But there is some truth to it. The first time I started up X windows I could get it to do NOTHING. Zip. No menus. mouse clicks did nothing. I tried every combination I could think of, and then gave up. I am someone who has used several window systems. But I could not "drive" the system I installed. >All this talk about commonality of "look & feel" is simply an attempt to >evade the real issue in the design of user interfaces - does the >interface for THIS application adequate suit the conditions of use, >level of user skill and functionality required to perform the job? >Common user interfsces simply make the life of developer easier by >allowing one to put on any interface, cklaim that this is good because >it is "standard" and walk away. No thought or concern about reality required! Well - first of all - the person who benefits most from a common user interface is the user. I would love to have all of tools on all of the window systems I use have the same user interface. It is true that all standards have limitations. I have not found one that was perfect yet. But your statement can be argued. Since this discussion started with Open Look, I can say that Sun has done a lot to address the issue you mention. They have tried to provide a standard look and feel that is an improvement on what else is out there. Did you ask for a copy of the preliminary style guide? Do you have a copy of the current one? Did you send in your criticisms? Did it meet your requirements for a "real" application? How did Sun evade the real issue? -- Bruce G. Barnett <barnett@crd.ge.com> uunet!crdgw1!barnett
barnett@crdgw1.crd.ge.com (Bruce Barnett) (12/21/89)
In article <7363@ficc.uu.net>, peter@ficc (Peter da Silva) writes: >Suggested that a standard user interface is premature, and urged consideration >of the lack of a standard programmer interface. The analogy I used was >with the UNIX system calls and the C stdio library... >In article <4301@crdgw1.crd.ge.com> I wrote: >> I don't agree. First of all, there would have to be a standard >> language. >Why? Let's go back to my analogy... what difference does it make whether >the system call looks like: > > nread = read(fd, buf, nbytes); > CALL READ(FD, BUF, NBYTES, NREAD) > CALL C_READ(FD, @BUF, NBYTES, @NREAD); > (setq nread (read fd buf nbytes)) > nread := cread(fd, buf, nbytes); >The semantics are the same. Creating simple windows is not really an issue. As I mentioned, if your window system allows you to prototype a simple window tool in 30 minutes, you wouldn't need a standard library. If the results used a toolkit that was available to everyone - you would have portable code. Sun has donated XView to the world. There's one portable library. Does this solve your problem? If not, I'd like to understand why. I, you see, don't think a common library would solve the REAL problem. Portability is not easy in the X world. You must worry about fonts to use. If you had a very high resolution display, you couldn't use the same font as a 640*480 display. The xfig program is a program that needs completely different layouts for 640*480 vs. 1000*1000 displays. I tried it on an X terminal and the window was too big. I couldn't use it. With the flexibility of .XDefaults, this is even more complex. Let's say Joe Programmer decides to use XView. Jill Hacker decides to use the HP or Motif toolkit. And Bill Consumer ends up confused because he used both programs at the same time and the scrollbars are completely different. I would love to have a single scrollbar that is used in every tool I use. I would also love to have a perfect scrollbar. There's no such thing as perfection. Therefore we will see an evolution in scrollbars as the years go by. The biggest advantage of the Mac is that most programs have the same user interface. I am not saying the interface is good, just uniform. When a Mac user gets a new program, he/she doesn't even read the manual before trying it out. It is not necessary. This is a good thing. Unix needs the same benefit if it is to be the heir to the throne. One of the most important features of a window systems package is extensibility. If it cannot be extended - it will not be successfull. You said: > Personally, I think terminfo sucks. >Termcap is a standard package for ascii terminals too. It's a hell of >a lot smaller, cleaner, and (as I said in the message you so ruthlessly >cribbed that from) better. I was being brief, not ruthless. One of the reasons termcap is better than terminfo is its extensibility. I also was pointing out that standards are not necessarily useful. ESPECIALLY if they are too low a level. >Similarly, let's look at a hypothetical window call: > > Menu = AddWindowMenu(Window, "Frobitz", "Fooble"); > CALL ADDWM(WINDOW, 'Frobitz', 'Fooble', MENU) > CALL W_ADDWINDOWMENU(WINDOW, @('Frobitz',0), @('Fooble'), @MENU); > (setq menu (AddWindowMenu Window 'Frobitz 'Fooble)) > menu := AddWindowMenu(Window, 'Frobitz', 'Fooble'); > >> C++ and Lisp would be a good choice for an object oriented >> windowing system. > >I don't think tying windowing into any particular metaphor is a good idea. >A program is more than a user interface with a bit of work going on behind >it. The main purpose for most programs is what they do, not what they look >like. > >> Does this solve your problem? Of course not. I would rather use an >> object oriented (O-O) language to support an O-O window system. > >I'd rather use the best language for the job the program is intended to >do. Not the best language for the user interface. That's just putting the >cart before the horse. What if you're working in Prolog? Or APL? Or you're >working for the DoD in ADA? Or adding a GUI to MicroEmacs? I agree. Since I feel that a good window system should be extensible, how can this be done? One of the best methods is to use Object Oriented programming. You should be able to extend a scrollbar to improve on it. Example - you have an application with several windows with scrollbars. You want to redefine the scrollbar to pop up a menu and show you a special index into the window. In a few cases you may want it to be a list of C functions in a source file. So you would want to subclass the new scrollbar class and create several instances of it. Now suppose you wanted to add a new method to help you debug this extension. Or you want to change one of the methods to either create a hard copy of the menu in action, or perhaps a keep a histogram of the menus called. And you also want multiple inheritance. And of course you want to redefine/add these methods dynamically. My point is that this is difficult to do in Fortran, C or Pascal. Yet if you were limited to the C language, you would not be able to make use of the more powerful features that are really needed. It is true that there are a lot of applications that don't need O-O techniques to develop powerful programs for them. But others do. If you want a standard to be a subset of a powerful window system, fine. I don't want such a standard myself. I would rather search for the perfect user interface. I'm sorry for going on and on. I'll cut this short. > >Yeh, but what should we be specifying? > > "I want a window big enough to hold the following > objects: a text pane containing this text, and a > selector for YES and NO. Tell me when someone selects > YES or NO, and don't bug me otherwise", >or > "Draw a rectangle here, now put these characters in > this font here, and then draw these rectangles... > (lots deleted) now tell me when anyone clicks in my > window. Oh, OK, erase this rectangle and redraw it > here, and blit this rectangle up by the size of this > font, put these characters here, and tell me what > you want me to do next..." I guess I still don't follow your real complaint. If you want a portable program, use one of the toolkits. If you don't like the toolkit, extend it. If it can't be extended easily, pick a different toolkit. If you want an application to run on PC's, Mac's, Amiga's and Unix machines - I agree - this is a difficult problem. You can get X for Mac's and I think PC's. One vendor has a portable window package. It runs on PC and Unix machines. In either case, solutions exist now. To use your example, you could use the technique in the sources of xfig? Xfig started on sunview and was ported to X not using XView. There are a few routines that provide a common interface to drawing text, bitmaps, and lines. The "portable library" is just a few lines long. Why not just make up your own little routines to draw vectors and text, and build up your own primitives? Use xfig as a start. I, personally, would prefer to have a toolkit that let's me define classes of objects to be drawn, moved, rescaled, selected, grouped, deleted, etc. I would like to sub-class these objects so that I can draw a new thing, like a shaded box, and insert this new thing into my menu, so I can draw it again as easily as I can draw a circle. I would also like to be able to edit, move, refresh. etc. the entire diagram with no network traffic. This way I could use it over a 1200 baud modem with reasonable results. But then, I would just start with Bernard Yves's Illustrator program for NeWS, because it does all that. (In 5000 lines of code! Xfig is 17,000 lines.) In conclusion, I think a standard library would limit creativity, and slow down evolution towards a decent user interface. I agree with Padlipsky: "Standards should be discovered, not decreed" -- Bruce G. Barnett <barnett@crd.ge.com> uunet!crdgw1!barnett
peter@ficc.uu.net (Peter da Silva) (12/27/89)
> Portability is not easy in the X world. You must worry about > fonts to use [etc etc] Yes, I'm aware that X has some horrible design choices. > One of the best methods is to use Object > Oriented programming. You should be able to extend a scrollbar to > improve on it. Yeh, but that extension should not be in the application. The application programmer should not have to deal with the details of a scrollbar. Changes to the scrollbar should be outside the application binary. Of course this is virtually impossible in X. Which is why making X or X toolkits the basis of a future standard is, well, a horrible idea. X is a dead end. As I've said before, it's the Fortran of windowing systems. > It is true that there are a lot of applications that don't need O-O > techniques to develop powerful programs for them. But others do. Fine. And some applications don't need real-time response, but others do. Does this mean all programs should be written in a language designed for real-time work on a real-time O/S? > If you want a standard to be a subset of a powerful window system, fine. > I don't want such a standard myself. I would rather search for the > perfect user interface. Well then you don't think we need to standardise the UI either. Right? > If you want an application to run on PC's, Mac's, Amiga's and Unix > machines - I agree - this is a difficult problem. You can get X for > Mac's and I think PC's. I wouldn't *want* X for Macs or PCs or Amigas. It's big and it locks you into a programming model that isn't necessarily appropriate. But, yes > In conclusion, I think a standard library would limit creativity, and slow > down evolution towards a decent user interface. Depends on what the library looks like. And it would, properly designed, accelerate evolution towards a decent UI, by moving UI decisions OUT of the application. On the other hand a standard user interface just wastes time making people rewrite working software. And *stops* evolution towards a better one. Pick your poison. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
barnett@crdgw1.crd.ge.com (Bruce Barnett) (12/27/89)
In article <7422@ficc.uu.net>, peter@ficc (Peter da Silva) writes: >Yeh, but that extension should not be in the application. The application >programmer should not have to deal with the details of a scrollbar. Changes >to the scrollbar should be outside the application binary. Not necessarily. Changing the cosmetics of it, and the simple user interface, yes. But suppose you had a scrollbar on a text window - like a C program. And you wanted to implement a pop-up menu that showed all of the functions defined in the program, allowing you to "go to" any function? This requires some interaction from the application programmer. If the scroll-bar didn't implement a pop-up menu, or implemented one that had a fixed list of choices, the application programmer must extend the scrollbar code to implement such functionality. >X is a dead end. As I've said before, it's the Fortran of windowing systems. Good analogy. >> It is true that there are a lot of applications that don't need O-O >> techniques to develop powerful programs for them. But others do. >Fine. And some applications don't need real-time response, but others do. >Does this mean all programs should be written in a language designed for >real-time work on a real-time O/S? I'm saying that if someone is proposing a standard that will be useful to as many applications as possible, it should support the a programming environment that makes the standard useful. User interfaces should not be cast in stone. There should be room to grow. Programmers need to modify and improve the efficiency of the program with respect to the interaction with the user. O-O techniques allows the programmer to easily change small portions of the user interface. It also allows the programmer the ability to extend the interface for a program without breaking other applications. If someone proposed a "windowing standard" without O-O extensions, I wouldn't even consider it usable. Unless I wanted something "quick and dirty". >> If you want a standard to be a subset of a powerful window system, fine. >> I don't want such a standard myself. I would rather search for the >> perfect user interface. > >Well then you don't think we need to standardise the UI either. > >Right? There is no doubt about the fact that a standard user interface will help Unix become more popular, which means programs become better, easier and cheaper. I also think the Right User Interface is not here yet. I feel it is important to have a style guide as a framework for future development. You need some starting point because the toolkit developers need to understand the basic features of the UI. Take Open Look's Push Pin menus. The fact that any menu can be pinned into place has implications in the program using this technique. One thing this does is provide an automatic means for adding menu acelerators - that is, if you use a menu often, you can pin it into place. The application programmer is no longer required to add special code to duplicate this functionality. Yet this is so important that each programmer would add this extension in some unique way. The end user would then be faced with a several programs with incompatible accelerators, giving the impression that each program had a different interface. There are a few things I do not like about the Push Pin menus - 1) The Push Pins and frames are too large. A lot of screen real-estate is used to show the frame and whitespace. 2) No keyboard accelerators - Some Mac applications have the ability to bind a key sequence to a menu choice. I think this should be added. I would like to change the window system to add these features. Others might change the initial package some other way. Eventually, the push-pins would evolve into it's replacement. >And it would, properly designed, accelerate evolution towards a decent UI, by >moving UI decisions OUT of the application. I don't believe that. The UI can be integral to a nicely tuned program. >On the other hand a standard user interface just wastes time making people >rewrite working software. And *stops* evolution towards a better one. > >Pick your poison. My "poison" would be tNt (the NeWS toolkit). This provides a starting point for applications. As I see shortcomings in the UI, I could extend the UI and make a program more useful to the end user. Since the extensions are made dynamically, I can either make a new class for just my applications, or if I felt the extensions was useful for all other applications, I would change the default object to my new improved object. All applications would then be improved, without recompiling, etc. Of course if the new model of the scrollbar, menu, etc. offered new functionality requiring new input from the application, it would have to be modified to make use of that new feature (like the scrollbar for the C program above). And since the NeWS toolkit is a complete O-O toolkit with multiple inheritance, I can use as much or as little of Open Look as I desire. I can use the scrollbar and nothing else - if that is what I need. I wouldn't call it poison. More like the first step towards my goal. -- Bruce G. Barnett <barnett@crd.ge.com> uunet!crdgw1!barnett
walters@community-chest.uucp (Chris Walters) (12/28/89)
In article <7422@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: > >I wouldn't *want* X for Macs or PCs or Amigas. It's big and it locks you into >a programming model that isn't necessarily appropriate. But, yes Sure. X11/NeWS is BIG, X is just big. At least X will run on a 4MB 3/50. >`-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. > 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. -- Chris Walters, walters@community-chest.mitre.org -- Chris Walters, MITRE McLean
lerici@SUPER.ORG (Peter W. Brewer) (12/31/89)
>Yeh, but that extension should not be in the application. The application >programmer should not have to deal with the details of a scrollbar. Changes >to the scrollbar should be outside the application binary. >Of course this is virtually impossible in X. Which is why making X or X >toolkits the basis of a future standard is, well, a horrible idea. >X is a dead end. As I've said before, it's the Fortran of windowing systems. >`-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. > 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. >"It was just dumb luck that Unix managed to break through the Stupidity Barrier >and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com Almost all of the things you say about X could also be said about UNIX and have thus I am confused by your signature quote. Could it be that Sun is still trying to make something as good as the Apollo Display Manager .. a network windowing system based on the client server model? I think some of the toolkits coming out for X have alot of promise.. they are also for the most part still basically public domain freeware. In terms of extensibility they all have their good and bad sides. If NeWS is to find some niche it would be better off not knocking X but joining with it and enhancing it. Xnews is a poor attempt at this.. I do not think all of that stuff belongs in the server. Peter Brewer |||| ||||| ||||||||| |||||| //|||||\ |||||| lerici@super.org || ||__ || || || || || THE Supercomputing || || ||^^^^^^\\ || || || Research Center ~~~ |||||||| ||||| || || ||||| \\|||||/ ||||||
peter@ficc.uu.net (Peter da Silva) (12/31/89)
In article <4360@crdgw1.crd.ge.com> barnett@crdgw1.crd.ge.com (Bruce Barnett) writes: > In article <7422@ficc.uu.net>, peter@ficc (Peter da Silva) writes: > >The application programmer should not have to deal with the details of a > >scrollbar. Changes to the scrollbar should be outside the application binary. > But suppose you had a scrollbar on a text window - > like a C program. And you wanted to implement a pop-up menu that > showed all of the functions defined in the program, allowing you to > "go to" any function? What does this have to do with a scrollbar? This sort of functionality could be attached to the window as a whole, with little if any loss of generality. Attaching menus to objects smaller than a window seems of dubious value to me. Your point seems to be that standardising will limit the things that can be done to the window. What if you're running under a window system that traps the menu button at a higher level? That won't let you attach a menu to something like a scrollbar? Now you've lost a capability... your program isn't portable anyway. I agree... standardisation involves limiting the capability of the programmer to implement things. It's the price you pay for the ability to run a program on a wide variety of systems. > >X is a dead end. As I've said before, it's the Fortran of windowing systems. > Good analogy. Thanks. So why standardize on an X toolkit? > >> It is true that there are a lot of applications that don't need O-O > >> techniques to develop powerful programs for them. But others do. > >Fine. And some applications don't need real-time response, but others do. > >Does this mean all programs should be written in a language designed for > >real-time work on a real-time O/S? > I'm saying that if someone is proposing a standard that will be useful > to as many applications as possible, it should support the a > programming environment that makes the standard useful. Yes, but it shouldn't require that environment. I find it hard to see how a standard program interface to windows will limit the utility of object oriented programming techniques any more than a standard program interface to files. > User interfaces should not be cast in stone. There should be room to > grow. Programmers need to modify and improve the efficiency of the > program with respect to the interaction with the user. Sure. I could really improve the capability of Browse if I could get real-time response, or if I could watch files to see when they change. But the hooks don't exist. You could do all sorts of amazing things with the machine if the interface to the file system was just a shared library that you could dig into and go around. There are good reasons for locking stuff away behind doors: security, efficiency (how well would buffer pools work if all programs had their own copy of the FS? How much work would be duplicated if every program had to do its own locking?) I think that windowing systems are another place where this sort of thing should be considered. > If someone proposed a "windowing standard" without O-O extensions, > I wouldn't even consider it usable. Unless I wanted something > "quick and dirty". If someone proposed a "windowing standard" that *required* O-O languages to work, I wouldn't even consider it usable. > I feel it is important to have a style guide as a framework for future > development. You need some starting point because the toolkit > developers need to understand the basic features of the UI. Take Open > Look's Push Pin menus. The fact that any menu can be pinned into place > has implications in the program using this technique. One thing this > does is provide an automatic means for adding menu acelerators - that > is, if you use a menu often, you can pin it into place. Yes, but you can also add menu accelerators by using keyboard shortcuts. I like them a lot better, because I generally don't have a lot of screen real-estate to throw away. If the UI wasn't in the program, I could take your application and set it up on my screen with Alt-N for New, Alt-D for Delete, and so on. *I*, as a user, could customise the UI. > The application programmer is no longer required to add special code > to duplicate this functionality. the application programmer was never required to do this. > Yet this is so important that each > programmer would add this extension in some unique way. That's your opinion. Not mine. Much more important is the ability for me, as a user, to customise the hell out of my environment without having to put up with application programmers stuck on Open Look, or Motif, or whatever. > The end user would then be faced with a several programs with > incompatible accelerators, giving the impression that each program had > a different interface. Not if the standard said "The user will have the ability to provide shortcuts for menus. The mechanism of this shortcut is not specified, and may change from one minute to the next, and in fact multiple methods may be used". > I would like to change the window system to add these features. Others > might change the initial package some other way. Eventually, the > push-pins would evolve into it's replacement. No, you'd have some *applications programmers* using pushpins, some using keyboard shortcuts, some using floating icons or icon bars, and so on... Or else you'll have people using pushpins, and pushpins only, until the cows come home. > I don't believe that. The UI can be integral to a nicely tuned program. If the UI is *that* integral to the program, then the UI or the program needs some redesign. > And since the NeWS toolkit is a complete O-O toolkit with multiple > inheritance, I can use as much or as little of Open Look as I desire. > I can use the scrollbar and nothing else - if that is what I need. Yes, but it doesn't (back to my point) require the PROGRAM as a whole to be written in an O-O language. Unfortunately the NeWS toolkit is too big for today's small computers. Which are going to be with us for a long time to come. Oh, and it's still proprietary to Sun, and not even available for the small machines that *can* support it (that is, the ones not dependent on intel's brain-dead processors). A properly designed windowing standard would let you port a program from the Sun to the Mac just by recompiling. Like Guido Von Rossum's "STDWIN" package. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
mlandau@bbn.com (Matt Landau) (12/31/89)
lerici@SUPER.ORG (Peter W. Brewer) writes: >Could it be that Sun is still >trying to make something as good as the Apollo Display Manager .. a network >windowing system based on the client server model? No, they've already made something *better* than either X11 or the Apollo Display Manager: a network window system based on the client/server model where the imaging model in the server is *useful*, and helps rather than hinders someone who wants to write an application that has non-trivial display requirements. The place where Sun botched it was in not doing a "sample implementation" of NeWS and making it publicly available in the same way that the "sample implementation" of X11 is freely available. If they had, X would have died off by now, because NeWS is simply a technically superior idea. For the life of me, I still can't understand how anyone involved in the early design phases of X11 thought that a resolution-dependent imaging model based on rectangular arrays of pixels was a good idea, when the groundwork had already been laid for using a page description langauge as the basis of the imaging model in other systems. Was no one familiar with the history of SunDEW, for example? >I think some of the >toolkits coming out for X have alot of promise.. they are also for the most >part still basically public domain freeware. Tell that to OSF -- Motif, which is (alas!) likely to become the dominant X11 toolkit, is considered proprietary software with source code license fees, royalty payments due by software vendors who ship Motif binaries, etc. That's an interesting contrast to Sun -- historically considered the "bad guys" of the window system world for not making NeWS free -- which has finally seen the light and made the XView toolkit freely available to anyone, for any purpose. >In terms of extensibility they all have their good and bad sides. The point is not about toolkits, although personally I don't find any of the existing toolkits terribly worthwhile from the point of view of extensibility. (Writing new widgets, for instance, is considerably more difficult than it needs to be. InterViews might be an exception to the rule that toolkits are hard to extend -- writing in C++ buys you a lot a priori -- but I haven't had a chance to work much with InterViews.) The real point is that X11 is fundamentally flawed by virtue of not providing extensible window *server*. There's no way for an application at runtime to change the characteristics of the server, add new facilities to it, etc. If you look even cursorily at what you can do by downloading PostScript code into the X11/NeWS server, and at the contortions you have to go through to achieve the same thing in X, it should be obvious why a runtime-extensible server is The Right Thing. No, Display PostScript doesn't count. It only allows you to image stuff, not to extend the input handling characteristics of the server the way you can in X11/NeWS. It's also by no means universal, and if you can't count on a facility being in the server, then it might as well not be there. The so-called "extensibility" of the X11 protocol also doesn't count. You have to recompile the server to make extensions. As a software vendor, I shouldn't have to be in the business of writing modified window servers in order to write the kind of applications I want to write. >If NeWS is to find some niche it would >be better off not knocking X but joining with it and enhancing it. Xnews is >a poor attempt at this.. I do not think all of that stuff belongs in the >server. I'd be interested in knowing exactly what you think is wrong with X11/NeWS. Personally, the idea of a single server based on a reasonable imaging model that interprets both X11 and NeWS protocol requests seems like the most elegant way to provide the X11 compatibility that the market demands without sacrificing the inherently superior characteristics of NeWS. (Don't get me wrong -- there are some things wrong with X11/NeWS. One is that it runs too slowly and uses too much memory, but that can be fixed if Sun gets on the ball technically. Another is that making "point" == "pixel" in NeWS PostScript was just stupid -- granted you can't discover automatically the resolution of your display device, since the hardware doesn't tell you, but you could at least provide command line flags or environment variables read by the server that would let the *user* tell you what the resolution is. Maybe in OpenWindows 1.1??) -- Matt Landau mlandau@bbn.com Diplomacy is the art of saying "nice doggy" until you can find a rock.
peter@ficc.uu.net (Peter da Silva) (12/31/89)
In article <8912302010.AA11723@super.super.org> lerici@SUPER.ORG (Peter W. Brewer) writes (and also sends in mail. I wish people would stop doing this... or at least *note* that they're mailing as well as posting a response!): > Almost all of the things you say about X could also be said about UNIX Not at all. The things that I particularly dislike about X are: It requires a huge runtime overhead linked in with each program. Complex policy is forced on the application programmer. A certain programming model is forced on the application programmer. It's very very large. None of these things are true of UNIX. The runtime for a small programming language (say, FORTH) under UNIX is under 1K. Most programs have no user interface policy at all. Almost none even have to parse filenames or scan directories. In fact, UNIX forces less policy on the program than anything I know: most systems at least expect a program to scan wildcards! UNIX has (and does) run languages and systems in every programming model you can think of... including communicating concurrent processes. And UNIX is small. It's run 8 users in 128 K words of RAM. The Cory 11/70 at Berkeley, running V7 and 2BSD, was usable with 35 users in 2 Meg of RAM. With 60 users it was unbearable but it kept going. These numbers are in line with the best proprietary systems of the time. Now it may be that Sun, AT&T, and Berkeley have forgotten their roots. But there's nothing inherent in UNIX that makes it a hog. And it scales very well. X scales not at all... it starts big. > If NeWS is to find some niche it would > be better off not knocking X but joining with it and enhancing it. I'm sorry, I really don't know how you can combine X and NeWS. They have completely different ideas of how the system works. X puts all this overhead in the client, where it gets duplicated zillions of times and gets copied over the network redundently again and again and again... NeWS puts the window system where it's needed... in the display system. > Xnews is a poor attempt at this.. How could it help but be? > I do not think all of that stuff belongs in the server. It's gotta be one plece or the other. At least in the server you only need one copy of it. And RAM's generally cheaper for the server. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
davidh@ic.Berkeley.EDU (David S. Harrison) (01/02/90)
In article <HNWF05ggpc2@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: >Not at all. The things that I particularly dislike about X are: > > It requires a huge runtime overhead linked in with each program. > Complex policy is forced on the application programmer. > A certain programming model is forced on the application programmer. > It's very very large. > >None of these things are true of UNIX. The runtime for a small programming >language (say, FORTH) under UNIX is under 1K. ... > I am afraid I disagree with the arguments expressed here. The problem truely lies in toolkits and policy. In order for memory savings to take place, programs *must agree* to use the same features. Otherwise, using the NeWS paradigm, each program will download its own features into the server and you will have a gigantic server where little or no sharing occurs. Furthermore, the problem is *identical* for both NeWS and X. Both systems provide fairly low-level user interface programming facilities. Both systems require higher level facilities in order to quickly build real-world user interfaces. The solution is to have programs agree on a toolkit. The memory savings will be the same under both systems: - Under NeWS, toolkit facilities will be downloaded to the server where possible and applications will link against a shared library for client side facilities. - Under X, applications will link against a shared library for most toolkit functionality and may use server extensions (if present). In both cases, applications will share the toolkit code. The sum of server size and client size should be roughly equivalent. My point is that there is nothing fundamental about NeWS that makes this problem any easier. Furthermore, in my opinion, there are some problems in the NeWS model that make it harder to develop a general purpose toolkit that meets the needs of a wide range of application developers. I have posted these problems before in this newsgroup so I won't repeat them here. David Harrison UC Berkeley Electronics Research Lab (davidh@ic.Berkeley.EDU, ...!ucbvax!ucbcad!davidh)
barnett@crdgw1.crd.ge.com (Bruce Barnett) (01/02/90)
In article <F4W-V3ggpc2@ficc.uu.net>, peter@ficc (Peter da Silva) writes: >> But suppose you had a scrollbar on a text window - >> like a C program. And you wanted to implement a pop-up menu that >> showed all of the functions defined in the program, allowing you to >> "go to" any function? > >What does this have to do with a scrollbar? This sort of functionality could >be attached to the window as a whole, with little if any loss of generality. I generally use the scrollbar to "go to" a different part of the object I am looking at. I also like to jump to specific line numbers or procedures. Why shouldn't this be in the scrollbar? It is true that I could do this by a pop-up menu in the main window, but I might want to keep this menu free for my application, and since I can ask for a menu in the scrollbar area, why not use it? Also - the scrollbar can be used as the mechanism to split a window into two separate views of the same object, with two separate scrollbars. This little "feature" requires forethought; adding this to the UI might require a major rewrite of the code. Even if you would NEVER want to do the above, the point is - some people do want the ability, and because the style guide says it is possible, the toolkits should support this feature. Without the style guide, a toolkit could be written that would require major source code changes to support new features. All I am doing is repeating the basic software engineering waterfall model. To repeat myself, I believe AT&T/Sun did the right thing by specifying the style guide first, and then develop four toolkits that more or less meets the specification of the style guide. The obvious goal is to have several independent groups develop the best toolkit for the market segment. An application programmer can pick the most appropriate toolkit (X intrinsics, XView, NeWS, or SunView) and the end user will be unaware that there are different toolkits underneath. As this conversation proves, there is no one right language to everyone. Trying to specify a single language/window interface that can meet everyone's requirements is not possible. >X is a dead end. As I've said before, it's the Fortran of windowing systems. > So why standardize on an X toolkit? I'm not sure what you are asking. There are obvious reasons to standardize on an X toolkit. Unfortunately, the application writers and the end users will suffer, unless AT&T and OSF merge the two user interfaces. >> I'm saying that if someone is proposing a standard that will be useful >> to as many applications as possible, it should support the a >> programming environment that makes the standard useful. >Yes, but it shouldn't require that environment. I find it hard to see how >a standard program interface to windows will limit the utility of object >oriented programming techniques any more than a standard program interface >to files. Well, you may consider items like menus, windows, icons, cursors, buttons, scrollbars, and drawing primitives to be separate items with separate interfaces. NeWS views those items as different objects in the same class hierarchy. You can draw an object, enlarge it and use it as a background on your screen, convert it to an icon, button, window, cursor or anything else you want. There is no reason you couldn't, in NeWS, draw a new geometric shape, like a rectangle with curved corners complete with a shadow, and then make that shape the new default shape of all of your windows. You can also change constants (like the color of a window) into a procedure. In otherwords, the restrictions in most window systems don't apply to NeWS. A "standard program interface" would effectively eliminate most of the advantages of the NeWS windowing system. It's like asking a Lisp programmer to program in Fortran. [I talked about the shortcomings of Open Look, and how it doesn't support user defined keyboard accelerators for menu items] >Yes, but you can also add menu accelerators by using keyboard shortcuts. >> Yet this is so important that each >> programmer would add this extension in some unique way. > >That's your opinion. Not mine. Much more important is the ability for me, as >a user, to customise the hell out of my environment without having to put up >with application programmers stuck on Open Look, or Motif, or whatever. This is a misunderstanding here. I was discussing how Open Look does NOT allow the user to add keyboard accelerators. If I were developing a program that used Open Look, I would provide some way for the END USER to add those keyboard accelerators for the menu choices. >> The UI can be integral to a nicely tuned program. > >If the UI is *that* integral to the program, then the UI or the program >needs some redesign. Huh? There are a lot of satisfied Mac users. There are people who LIKE a one-button mouse. Convince them the user interface and/or the program needs redesign. >Unfortunately the NeWS toolkit is too big for today's small computers. As is X. > Oh, and it's still proprietary to Sun, It comes with the Unix source tape. >and not even available for the small machines that *can* support it >(that is, the ones not dependent on intel's brain-dead processors). Shrug. It was your decision to buy an Amiga. Bug Commodore for Unix V.4. -- Bruce G. Barnett <barnett@crd.ge.com> uunet!crdgw1!barnett
barnett@crdgw1.crd.ge.com (Bruce Barnett) (01/02/90)
In article <13323@diamond.BBN.COM>, mlandau@bbn (Matt Landau) writes: >Was no one familiar >with the history of SunDEW, for example? Mesa, Cedar and Docs (1980) had an advanced image model four years before SunDEW. -- Bruce G. Barnett <barnett@crd.ge.com> uunet!crdgw1!barnett
sjs@spectral.ctt.bellcore.com (Stan Switzer) (01/02/90)
In article <F4W-V3ggpc2@ficc.uu.net> peter@ficc.uu.net (Peter da Silva) writes: > If the UI is *that* integral to the program, then the UI or the program > needs some redesign. Here's the crux of the problem: if you want a responsive GRAPHICAL user interface, you'll have to write the UI portion of the application in a particular, probably event-driven, way. There just ain't no getting around it. At the same time, it might just be possible to write the UI portion of the program as a separate front-end program (as in bc/dc in UNIX). There was some discussion about a year ago on this very group about techniques for doing this in NeWS. > Yes, but it doesn't (back to my point) require the PROGRAM as a whole to > be written in an O-O language. In NeWS, you write your program any way you want to, but it is just plain silly not to use O-O techniques in the UI part (which can be almost entirely in the server). > Unfortunately the NeWS toolkit is too big for today's small computers. Which > are going to be with us for a long time to come. Oh, and it's still > proprietary to Sun, and not even available for the small machines > that *can* support it (that is, the ones not dependent on intel's > brain-dead processors). First, I don't know what you mean by "today's small computers." This has been discussed to death. Small is already quite large and it is getting larger. Second, NeWS has been ported to PC's and this too has already been discussed. Third, although NeWS is "proprietary," it is available for token licensing fees. And this seems prudent to me. Anyone who is really serious about porting NeWS to a new platform as a commercial venture can scrape up the capital to do it. It is less than a year's salary for a grunt worker. Contact Steven Messino (messino@Sun.com) for details. Educational licensing is quite reasonable as well. Finally, your Intel bashing is tiring. What IS your point anyway? > A properly designed windowing standard would let you port a program from the > Sun to the Mac just by recompiling. > > Like Guido Von Rossum's "STDWIN" package. OH! That's it. Well for heaven's sake, if you find STDWIN adequate for your purposes, then by all means use it. The rest of us have real work to do. Stan Switzer sjs@bellcore.com
peter@ficc.uu.net (Peter da Silva) (01/02/90)
> I am afraid I disagree with the arguments expressed here. The problem > truely lies in toolkits and policy. In order for memory savings to > take place, programs *must agree* to use the same features. This is a political problem, primarily. You have to convince people that it's not a good idea to create new *types* of gadgets. However, there's no point in trying to make them all look alike. > Otherwise, > using the NeWS paradigm, each program will download its own features > into the server and you will have a gigantic server where little or > no sharing occurs. Perhaps. Does this happen in practice, though? I think we can all agree that it does happen in X. And X doesn't even have the option of sharing resources when they're desirable... sure, you can use shared libraries, but that doesn't help when you're dealing with multiple machines. This is a networked window system, after all. And X doesn't leave a channel for the user to install enhanced gadgets, except by at least relinking all their programs. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
bob@MorningStar.Com (Bob Sutterfield) (01/02/90)
(Bob starts the new year by diving into a flamefest :-)
In article <13323@diamond.BBN.COM> mlandau@bbn.com (Matt Landau) writes:
The place where Sun botched it was in not doing a "sample
implementation" of NeWS and making it publicly available in the
same way that the "sample implementation" of X11 is freely
available.
Right! And it's surprising that their marketeers didn't see that.
Enough people at the time were offering such suggestions as free
advice, one wonders why Sun didn't listen. It's too late now.
If they had, X would have died off by now, because NeWS is simply a
technically superior idea.
X may not have died off yet. It has become a rallying point for other
companies' marketeers who noticed that Sun was getting its name on too
many innovations that were being adopted as de-facto standards. The
widespread adoption of X was, IMHO, largely in response to the
announcement of NeWS. And since that time we've seen corresponding
marketing department-based battles over the underlying operating
systems (Why do you think OSF exists? Entirely for marketing and
political reasons, the technical concerns included as an afterthought.
But I digress still more...).
For the life of me, I still can't understand how anyone involved in
the early design phases of X11...
My understanding is that X grew from W, the window system atop the V
kernel from Stanford.
...Was no one familiar with the history of SunDEW, for example?
V happened before SunDEW, and X just carried much of W's basic
technology along. An interesting semi-early (1985) reference is
"Methodology of Window Management", Aho, Hopgood, and Ullman;
Springer-Verlag. Sorry, my copy is at home, else I'd have the ISBN
handy to cite. The conference of which the book contains the
proceedings discusses various historic approaches to windows and user
interfaces on various underlying software architectures (Cedar, UNIX,
Perqs, etc.) Well worth reading.
No, Display PostScript doesn't count.
Right! It's another marketing-originated red herring. It's useful
for those without a sufficient imaging model who realized later (as
PostScript printers became universal) that they needed to invoke the
magic P-word for "compatibility".
The so-called "extensibility" of the X11 protocol also doesn't
count.
It might help to have a sample implementation of a server that would
be protocol-extensible on the fly, at runtime.
In the mean time, X runs on everything and there are lots and lots of
people writing free software for it. I use X mainly for those
reasons, though my aesthetic sensibilities cry out for better.
peter@ficc.uu.net (Peter da Silva) (01/02/90)
> since I can ask for a > menu in the scrollbar area, why not use it? Perhaps because having a bunch of context-sensitive menus attached to different parts of the window is a bad idea? > Also - the scrollbar can be used as the mechanism to split a window > into two separate views of the same object, with two separate > scrollbars. This little "feature" requires forethought; adding this > to the UI might require a major rewrite of the code. Perhaps, if the UI is specified at too low a level. If it's defined in terms of "text pane: size, contents" then what goes on inside that text pane is none of the applications business. Maybe you can "zoom" the pane out to encompass the whole window. Who cares? The application certainly shouldn't. The sort of micro-optimisation you're pushing for here seems penny wise and pound foolish. > As this conversation proves, there is no one right language to > everyone. Trying to specify a single language/window interface that > can meet everyone's requirements is not possible. No, but you can come close if you don't concentrate on details. > >Yes, but it shouldn't require that environment. I find it hard to see how > >a standard program interface to windows will limit the utility of object > >oriented programming techniques any more than a standard program interface > >to files. > Well, you may consider items like menus, windows, icons, cursors, > buttons, scrollbars, and drawing primitives to be separate items with > separate interfaces. Menus are a reasonable level of abstraction. Buttons, scrollbars, and the like aren't. They're too low. That's more in the lines of a standard program interface to arrays. Too language and application dependent. [lots of good stuff about NeWS] > This is a misunderstanding here. I was discussing how Open Look does > NOT allow the user to add keyboard accelerators. If I were developing > a program that used Open Look, I would provide some way for the END > USER to add those keyboard accelerators for the menu choices. And everyone else would do it differently. So much for your style guide. > Huh? There are a lot of satisfied Mac users. There are people who LIKE > a one-button mouse. Convince them the user interface and/or the > program needs redesign. They don't need to be convinced. They're happy with the UI. That's why I'm opposed to Open Look or Motif... it's forcing a single (new) UI on folks who are already happy with the one they have. And I see no reason why a program running under the Mac UI should have one line of code different from one running under Motif or Open Look. > >and not even available for the small machines that *can* support it > >(that is, the ones not dependent on intel's brain-dead processors). > Shrug. It was your decision to buy an Amiga. Bug Commodore for Unix V.4. And what about all the people with Macs? Or even Atari STs? Should they dump Finder and Gem? Maybe they like their own UIs... Actually the Amiga is better off than most home computers here. V.4 has been shown, and NeWS runs under AmigaOS. It's just not available for said political reasons. Or are you saying that if you can't afford a 5-10 grand workstation you aren't worth paying attention to? -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
davidh@dent.Berkeley.EDU (David S. Harrison) (01/03/90)
In article <18YA-8xds13@ficc.uu.net>, peter@ficc.uu.net (Peter da Silva) writes: > Perhaps. Does this happen in practice, though? I think we can all agree > that it does happen in X. And X doesn't even have the option of sharing > resources when they're desirable... sure, you can use shared libraries, > but that doesn't help when you're dealing with multiple machines. This > is a networked window system, after all. > > And X doesn't leave a channel for the user to install enhanced gadgets, > except by at least relinking all their programs. Most of the NeWS applications I have seen posted here download their own UI code into the server without even expecting any other application will use these features. I remain adamant that the problem can only be solved by the adoption of a common toolkit that all application writers can link against. Work in this area is moving much faster under X than under NeWS. In any case, I expect the underlying system will not be very important once a dominant toolkit (like Motif) becomes commonplace. It is true that NeWS has a slight memory advantage if a user uses several applications each running on a different machine. However, due to the use of shared libraries, the savings is proportional to the number of machines not the number of applications and is thus reasonably small. With an appropriate implementation of shared libraries, it may even be possible to install enhanced gadgets without relinking (since some runtime binding is required to implement shared libraries). All in all, the differences are minor. David Harrison UC Berkeley Electronics Research Lab (davidh@ic.Berkeley.EDU, ...!ucbvax!ucbcad!davidh)
mlandau@bbn.com (Matt Landau) (01/03/90)
bob@MorningStar.Com (Bob Sutterfield) writes: >(Bob starts the new year by diving into a flamefest :-) (Bob starts the new year by saying some remarkably reasonable things :-) > The place where Sun botched it was in not doing a "sample > implementation" of NeWS and making it publicly available >Right! And it's surprising that their marketeers didn't see that. >Enough people at the time were offering such suggestions as free >advice, one wonders why Sun didn't listen. It's too late now. Maybe not. I recently learned first-hand the degree to which customer opinion really can make a difference in Sun corporate policy. It's a little-known fact that until quite recently (the last couple of weeks), Sun had OpenWindows on a tight allocation policy, which is why people who'd ordered it months ago were still waiting for their tapes. At the recent Sun User Group conference, several of us got wind of this fact, and we were rather ... ahem ... "outspoken" ... in our opinion that this was a critical tactical mistake, and tantamount to suicide for both NeWS and Open Look. Basically, lots of people complained real loudly about this brain-dead policy (I spent about 45 minutes talking to Carl Wolf in the gripe booth, and another 30 talking to Scott McNealy; other people raised the issue in the public question-and-answer sessions and the executive roundtable.) The result was that, according to a piece of mail I got from a friend inside Sun, OpenWindows has been taken off allocation and will ship to all customers who order it. What's the point? The point is that if enough people make enough noise, things can change. Now ask yourself what might happen if Sun were to donate the source to X11/NeWS to the MIT X Consortium, just for the sake of promoting it as a superior technology that wasn't under Sun's complete control anymore... After all, Sun's done something similar with control of the Sparc processor architecture... And AT&T is doing something vaguely similar with SvR4... So ask yourself what might happen if X11R5 (or X12 or something) were based on the merged NeWS/X server... Then ask yourself how we might make this happen...
peter@ficc.uu.net (Peter da Silva) (01/03/90)
> Most of the NeWS applications I have seen posted here download their > own UI code into the server without even expecting any other application > will use these features. Well, except for the stuff that is designed to globally modify the environment, like pie menus. Or I think it was Bruce who brought up rounded windows. And NeWS has another big advantage... if you put enough of the UI in the server, you don't have to munge the rest of the program into the X event loop/callback mould. > I remain adamant that the problem can only > be solved by the adoption of a common toolkit that all application > writers can link against. Yes. yes yes. In fact I think that's pretty much what I've been saying. Or at least that's what I think I've been saying. Oh, you get the idea. > Work in this area is moving much faster > under X than under NeWS. In any case, I expect the underlying system > will not be very important once a dominant toolkit (like Motif) becomes > commonplace. Is Motif a toolkit or an interface? I got the impression that it's just a style guide like OpenLook. A dominant standard toolkit is something I'd like to see very much... but should it be so tightly tied to X? In programming in X, the UI tends to dominate the app. This tends to lead to unfortunate consequences. Like, say you want a program to go away for a while and do some work. Under X you lose the UI... and you can't even put up an "I'm busy" sign because it won't get displayed until you return to the event loop. -- `-_-' Peter da Silva. +1 713 274 5180. <peter@ficc.uu.net>. 'U` Also <peter@ficc.lonestar.org> or <peter@sugar.lonestar.org>. "It was just dumb luck that Unix managed to break through the Stupidity Barrier and become popular in spite of its inherent elegance." -- gavin@krypton.sgi.com
graham@fuel.dec.com (kris graham) (01/05/90)
In article <13324@granite.BBN.COM>, mlandau@bbn.com (Matt Landau) writes: > Now ask yourself what might happen if Sun were to donate the source to > X11/NeWS to the MIT X Consortium, just for the sake of promoting it as a > superior technology that wasn't under Sun's complete control anymore... > After all, Sun's done something similar with control of the Sparc processor > architecture... And AT&T is doing something vaguely similar with SvR4... > So ask yourself what might happen if X11R5 (or X12 or something) were > based on the merged NeWS/X server... Then ask yourself how we might make > this happen... I have heard a lot about the so-called "Technical Superiority" of NeWS. Anybody care to educate us non-believers of this claim. I have never thought of Postscript as a friendly language to program in.....or love a windowing system that makes the implementation of a print screen facility more tedious than necessary ; BTW: On a more cynical note, we all know the outcome of the "SPARC versus XXX" 'technical superiority" battle ;-) One of my co-workers, Larry Timmins, has been involved in multiple ports of applications originally done with Sun's toolkits. On average, for every six months (calendar time) that the customer/software house put into the project, only one month was needed with DECwindows' XUI toolkit. Using the Intrinsics -based toolkit reduces the network requests and ultimately has proven itself over and over. Regarding the donation of X11/NeWS, fine -- put it in the contrib like others have. However, when OSF went with the XUI toolkit, it was a fully tested production -quality toolkit at over 300 sites. What is needed is solid incremental contributions and not yet another toolkit, approach, etc. Christopher Graham Digital Equipment Corp Ultrix Resource Center New York City Internet: graham@fuel.enet.dec.com UUCP: ...!decwrl!fuel.enet.dec.com!graham I speak as an individual, not representing any organisation or company.
lerici@SUPER.ORG (Peter W. Brewer) (01/05/90)
I'm not sure that X is so fixed in concrete that some of the things you find bothersome could not change. I find InterViews almost equivalent to PostScript in terms of 'imaging power' and yet flexible enough to do low level stuff.. and there is no interpreter nor the restrictions of a 'page description' paradigm. I like the look and feel of Motif more than OpenLook as a 'style guide', but I think in terms of functionality InterViews has them beat.. particularly with their new Unidraw graphical object/'widget' editor. I have yet to see anything like this come from NeWS. I see NeXT with their NeXTStep and Display Postscript as being a more serious challenge to X and all other window systems than NeWS. Peter Brewer |||| ||||| ||||||||| |||||| //|||||\ |||||| lerici@super.org || ||__ || || || || || THE Supercomputing || || ||^^^^^^\\ || || || Research Center ~~~ |||||||| ||||| || || ||||| \\|||||/ ||||||
don@CS.UMD.EDU (Don Hopkins) (01/05/90)
Date: Thu, 4 Jan 90 14:39:38 -0500 From: Peter W. Brewer <lerici@super.org> I'm not sure that X is so fixed in concrete that some of the things you find bothersome could not change. I find InterViews almost equivalent to PostScript in terms of 'imaging power' and yet flexible enough to do low level stuff.. and there is no interpreter nor the restrictions of a 'page description' paradigm. I haven't used InterViews, so I'm not familiar with its imaging model and flexability. I don't know what you mean by "page description' paradigm, would you please explain? Does it have anything to do with device independance, printer compatibility, etc? I see having an interpreter as an advantage! I think WINTERP is an excellent idea, and I'd love to have a version of WINTERP with an interface to the NeWS toolkit. Extensibility is as useful on the client side as it is on the server side! What NeWS really needs is a way to dynamically link object files containing compiled primatives into the server at run time. (There was an *extremely* undocumented primative for just that purpose called "dynoload" in a beta version of NeWS 1.1 once, but I haven't seen it since. It's certainly possible, just not portable. [I guess we should just wait for PCR...]) I like the look and feel of Motif more than OpenLook as a 'style guide', but I think in terms of functionality InterViews has them beat.. particularly with their new Unidraw graphical object/'widget' editor. I have yet to see anything like this come from NeWS. I see NeXT with their NeXTStep and Display Postscript as being a more serious challenge to X and all other window systems than NeWS. Peter Brewer |||| ||||| ||||||||| |||||| //|||||\ |||||| lerici@super.org || ||__ || || || || || THE Supercomputing || || ||^^^^^^\\ || || || Research Center ~~~ |||||||| ||||| || || ||||| \\|||||/ |||||| Have you tried GoodNeWS, by Arthur van Hoff of Turing Institute? It's a window system built on top of NeWS, that includes a very nice PostScript drawing editor (and lots of other useful stuff like a LaTeX previewer that lets you place your GoodNeWS drawings in your documents.) *AND IT'S ALL FREE!!!* (available via anonymous ftp from tumtum.cs.umd.edu) Agreed, NeXTStep and Display PostScript are serious challenges to a lot of people, places, and things. (It doesn't hurt having H. Ross Perot fighting for your cause.) IMOH, it remains to be seen how flexable and easy to use the NeXTStep window system is. I had a wonderful argument with Jobs at EduCom about it, and he claimed they had tried all kinds of different user interface techniques and done all sorts of usability studies that showed that NeXTStep was incredibly easy to use. I'd like it if they'd publish those usability studies, and included the source to the window system in case I didn't agree with them, since I still haven't figured out a way to interact with a window that's partially covered up by another window, or how to type into a window without clicking on it and bringing it to the top. Enforced click-to-type is a throwback to the MacIntosh. Make it an option or make it so I can fix the problem! The interface builder looks very nice, but I don't know the merits of the toolkit it's built on top of. Ohio State did a study showing the interface builder was indeed easy to use. But how easy is it to write an application such that you can build an interface to it? And how easy is it to modify and implement new parts of the toolkit and integrate them with pre-existing applications? I talked with one of the NeXT window techies about implenting pie menus on NeXTStep, gave him some papers on the subject, and encouraged him to do it. I will be impressed if somebody can implement pie menus in NeXTStep (with or without the round windows) as seamlessly as they dropped into NeWS (so every application gets pie menus, without modification). -Don
barnett@grymoire.crd.ge.com (Bruce Barnett) (01/06/90)
In article <1558@riscy.dec.com> graham@fuel.dec.com (kris graham) writes: |I have heard a lot about the so-called "Technical Superiority" of NeWS. |Anybody care to educate us non-believers of this claim. I have never |thought of Postscript as a friendly language to program in.....or love a |windowing system that makes the implementation of a print screen facility |more tedious than necessary ; Well, PostScript is not a "high level" language, designed to make the programmer's life as easy as possible. Instead, is is a language designed for quickly generating graphical images. There is very little syntactic "sugar" that has been added. So the programmer's job is harder, but the execution is faster because the parsing is simpler. But some of the advantages of NeWS as I see are: 1) the user's program can execute in the server or the client. Or both. One example was mentioned in the Sun Technology article discussing the IBM 3270 emulator with graphic support. Who keeps track of the text and graphics in the window? The implementation desided that the text would be maintained in the client, while the server maintains the graphics. One benefit from this model was that it became possible to redisplay the graphics, changing the position, scaling factor, zooming in our out, changing the colors, etc - WHILE the IBM was still sending new graphics to the server. Another example is all of the NeWS programs that have no client code - the entire application resides in the server. You could have an illustration program work over a low speed modem. You could down load the program to the server, and transfer the diagram back when you are done. but inbetween there would be no network traffic! 2) The Graphics image is PostScript, of course. This gives you automatic scaling and rotation. Also - text is now treated the same as graphics. A text program can be a WYSIWYG editor with little effort. 3) Flexibility - Because the entire window system is based on the PostScript model, there are very few limitations. You can make a new shape, and use it for a cursor, character, icon, button, menu, or window. The distinction between these window concepts is very fuzzy. So you can have "icons" that contain "icons", windows containing windows. The "winwin" program is a simple ROOMS-type extension to the server, allowing you to organize a group of windows and icons into super windows, allowing you to switch between one set of tools and another. A "character" could really be a button or a window. This simplifies a HyperText system, for instance. Don Hopkins has done a lot of "blurring" in this direction. :-) His Pie Menus and HyperText system, for instance. He published some code in this newsgroup that transformed the cursor into a pulsating rainbow. As I also mentioned, you can draw a new thing on the screen, and use it to modify/redefine an existing button, menu choice, window shape, etc. Don also wrote soft menus - some code downloaded to the server that lets you cut/modify and paste menus from one aplication to another. Another example mentioned here was the integration of dozens of workstations to a large "Strategic Command Display". Each user could move the mouse up to the top of his/her workstation, and it would appear on the large display on the far wall, where it could be used to manipulate the information shown to everyone. Also - because of the syntax of PostScript, you can redefine the "reserved words" - well, actually, there are no reserved words in PostScript. You can redefine the entire language on the fly, changing constants into procedures. As an example, I changed the FillColor constant (which colors the background of the window) into a procedure. I made a table that listed machine names and colors. The procedure got the host name the client was running on, and returned a different color for each machine. This let me have several windows on the screen, and all of the icons and windows with a pale green were remote programs on the same system. It only took 10 lines of code downloaded into the server. Note that all of the above DID NOT require any modification of the server. It was done with dynamic extensions. 4) The window system is object oriented. The windows/ icons, buttons are all different objects in the object hierarchy (at least with the tNt toolkit). Subclassing icons and windows is easy. You could subclass every program and define new methods that apply to them. Send them a "refresh", "update" "Print HardCopy", "Return to original position", "revert to original defaults", "save to file", etc. method, much like we send kill signals. And you can add new methods on the fly, like a "send contents to a Laser Printer" or "start collecting a histogram" method to all windows of a certain class. I must admit the ways people have extended X is amazing. There must be a dozen new techniques to add the sort of feature to X that NeWS had all along. (Of course NeWS has evolved too - due to the influence of X). |One of my co-workers, Larry Timmins, has been involved in multiple ports |of applications originally done with Sun's toolkits. On average, for every six |months (calendar time) that the customer/software house put into the project, |only one month was needed with DECwindows' XUI toolkit. Using the Intrinsics |-based toolkit reduces the network requests and ultimately has proven itself |over and over. I don't understand. First of all, Sun has several toolkits. The older applications (SunView) did not have any networking support. I don't see how the number of network requests can be reduced from zero. The NeWS server allows the entire application to reside in the server. If there are a large number of network requests, the code can be re-written to eliminate this. The only other package I know about is XView, which is very new. It supports the older SunView model, in a manner that is easy to convert from SunView to X, but may not be tuned properly. There is a new document that tells people how to convert the old PixWin code to the new Xlib code, making better use of the native technology, instead of using code who's function is backwards compatability. I would like to hear more about this "reduction in network requests", because the argument doesn't ring true. -- Bruce G. Barnett barnett@crd.ge.com uunet!crdgw1!barnett