This is NeXT-Limitations? in view mode; [Up]
Date: Sun 23-Nov-1990 18:02:00 From: gillies@m.cs.uiuc.edu Subject: NeXT Limitations? What are the main limitations of the software and hardware for NeXT machines? I suspect there is a serious limitation in the malleability of the user interface and UNIX. For instance, you can do the following to a mac: 1. Change the template for window creation (window looks) system-wide? 2. Write GLOBAL patches to sense actions in the systems (like when a particular file is written to disk, or when a user makes a particular action with the mouse / keyboard, then pop up a special menu, etc). 3. Add functions keys (FKEYs) to the system (special keyboard patch). 4. Sense inactivity of keyboard/mouse and launch a screen saver 5. Completely supercede some graphics primitives for fast animation in certain special cases, YET, still continue to function in harmony with the toolbox (for instance, MS-Word seems to use special screen-scroll algorithm when the text window is in the default screen location; bit alignment doubles scrolling speed, and does not interfere with other programs). 6. Do weird things like make the mouse wrap around on the screen, make eyes follow mouse on screen, muck with color table arbitrarily, do fast animation of up to 50 small (32*32 pixel) objects, etc. 7. Force a redraw of the screen and capture all the postscript. 8. Put a real-time clock somewhere useful (in menu bar or in icon). 9. Take over the hardware at lowest level (i.e. ethernet) and do something neat / fast / different (this is a bane of UNIX). I.e. make the machine transmit XNS packets, or INIT a floppy disk in 5 seconds (without verifying blocks are good), etc. Can I do all these things without hacking the NeXT kernel? That seems to be the big disadvantage about most UNIX systems I've seen -- not enough malleability without recompiling the kernel. Does the NeXT have the concept of an "INIT" (user-installed boot-time patch)? The mac has some dumb limitations: 1. Limit on fonts in menu (8) (this may be fixed, I don't know) 2. Painful way of installing fonts, DA's, FKeys 3. Zillions of special-cases must be made to get software to work (does this machine have color quickdraw? Are we running multifinder? Are their multiple monitors? How much memory can we work with? etc. etc. etc.) 4. Some pieces of hardware have almost zero system support software (i.e. no language and little standardization for sounds) 5. Jumpy mouse (interrupts off) when floppy disk is active. 6. Broken printing architecture 7. Broken on purpose in many areas, so that 3rd-party software writers can make money "fixing" it. I.e. no backup software, no screen saver, no text editor, (almost) no disk scavenger / repair / recovery utility, no way to partition a disk, crippled "find" program, crippled scripting program, no supplied way to invert screen video. What is the mechanism for customizing the NeXT? I've used one other workstation (Xerox XDE/Viewpoint) and the method for customization was pretty awful (in former, build one huge file with magic words, in latter, no customization was possible). The Mac's control panel is a great step forward.
Date: Sun 24-Nov-1990 04:02:50 From: reb@cs.brown.edu (Robert E. Brown) Subject: Re: NeXT Limitations? Wow, where should I begin . . . There are Next / Unix-ish ways to do most of the things on gillies@m.cs.uiuc.edu's list of Macintosh features. Some, however, are completely unnecessary on real computers. Can the Next . . . 1. Change the template for window creation (window looks) system-wide? The visual look of a windowing system should be designed by skilled graphic artists and industrial designers. Most users of computers are completely lacking in the skills and artistic ability necessary to create a new window look that is superior to one properly designed. Still, a skilled programmer could undoubtedly hack the Next software and change the look of buttons and icons. Software is inifinitely malleable. 2. Write GLOBAL patches to sense actions in the systems (like when a particular file is written to disk, or . . . Since Unix machines support multiprogramming, it is easy to set up background processes that hang around looking for things like files to appear. Since each process runs in its own address space, however, it is hard for one process to detect a particular key press or menu action by another. If this sort of thing is deemed useful, the application kit that Next provides could be extended to provide this sort of feature in a well-defined way. 3. Add functions keys (FKEYs) to the system (special keyboard patch). 4. Sense inactivity of keyboard/mouse and launch a screen saver Yes. 5. Completely supercede some graphics primitives for fast animation in certain special cases, YET, still continue to function in harmony with the toolbox (for instance, MS-Word seems to use special screen-scroll algorithm when the text window . . . This is just the sort of crap that breaks Microsoft applications every time Apple announces a new version of the Macintosh OS. Applications should use clear interfaces to interact with the operating system and windowing environment. The Next is not a game machine and its hardware is sufficiently powerful to scroll windows without bypassing the windowing system. 6. Do weird things like make the mouse wrap around on the screen, make eyes follow mouse on screen, muck with color table arbitrarily, do fast animation of up to 50 small (32*32 pixel) objects, etc. Same answer here. Eyecon is a program that draws eyes that follow the mouse. The mouse should not wrap around. Animation with color table rotation is a cheap hack that has no place on the Next. The Next CPU/dma hardware is sufficiently powerful to animate small objects via the toolbox interface. 7. Force a redraw of the screen and capture all the postscript. 8. Put a real-time clock somewhere useful (in menu bar or in icon). Yes. 9. Take over the hardware at lowest level (i.e. ethernet) and do something neat / fast / different (this is a bane of UNIX). I.e. make the machine transmit XNS packets, or INIT a floppy disk in 5 seconds (without verifying blocks are good), etc. Take over the hardware at the lowest level? No! Operating systems were invented to keep user programs from screwing up the hardware and each other. This is something Apple still does not understand. Initilizing a floppy can be done with a user program by performing I/O and I/O control operations to a SCSI device. Capturing XNS packets can in principle be done with an installable device driver or a user-level program that is fed ethernet packets by the kernel. Does the NeXT have the concept of an "INIT" (user-installed boot-time patch)? One can load drivers into the kernel at run-time on demand. Using a music program can result in a Midi driver being loaded into the kernel . . . The Mac's control panel is a great step forward. The Macintosh control panel and its INIT system is a huge hack.
Date: Sun 24-Nov-1990 09:45:00 From: gillies@m.cs.uiuc.edu Subject: Re: NeXT Limitations? A good example of customizability of the mac is the "Blast" INIT. When you hit command-shift-8, the mouse turns into cross hairs. Then you can click on a window, and blow a hole in the window data structure. This allows you to dig down through windows to get at the desktop. It's not the most useful tool, but it is an impressive demonstration. When you close & reopen the window, the hole goes away.
Date: Sun 24-Nov-1990 18:21:00 From: gillies@m.cs.uiuc.edu Subject: Re: NeXT Limitations? My point is this. It's not a personal computer if you cannot personalize it. It's not useful if some things are cast in stone. I don't care if NeXT breaks my custom code from release to release, what I DO CARE is if NeXT software and system design limit me in what can be done with my personal computer. I want to be able to do research with my computer. What if I want to benchmark a new LISP program that mucks with virtual memory to do garbage collection? I know Mach (thank heavens) gives the user access to virtual memory primitives, and this is good. But what does the mach and NeXTstep software limit the user from doing unnecessarily? You can say, "The User Should Not Do That To His System for Reason Blah Blah Blah", but there are always users with the sophistication and the canny to do clever things with their machine and get away with them, as long as the system software is not overly limited. A good paper to read on this subject is "End to End Arguments in System Design" by Jerome Saltzer in ACM Transactions on Computer Systems, 1982.
Date: Sun 25-Nov-1990 01:27:43 From: eps@toaster.SFSU.EDU (Eric P. Scott) Subject: Re: NeXT Limitations? In article <61300051@m.cs.uiuc.edu> gillies@m.cs.uiuc.edu writes: >My point is this. It's not a personal computer if you cannot >personalize it. No, it's a "personal computer" if only one person can use it. It's this LIMITATION that makes PCs so unsuitable for places like public computing laboratories. > It's not useful if some things are cast in stone. I >don't care if NeXT breaks my custom code from release to release, what >I DO CARE is if NeXT software and system design limit me in what can >be done with my personal computer. EVERY system has limitations--you have to draw the line somewhere. You could argue that the NeXT will never be as flexible as a VAX from ten years ago, because the VAX gave you a writeable control store that let you insert custom microcode to extend the architecture. How much rope do you need? If the NeXT software doesn't do what you want, I'm sure someone (maybe you) will come up with something that does. There are a *lot* of ways to tweak the NeXT software, but I think you really don't understand what you're dealing with. If you're asking "why can't the NeXT be more like a Mac?" THEN JUST GET A MAC ALREADY!!! -=EPS=-
Date: Sun 25-Nov-1990 09:59:56 From: bb@reef.cis.ufl.edu (Brian Bartholomew) Subject: Re: NeXT Limitations? In article <61300047@m.cs.uiuc.edu> gillies@m.cs.uiuc.edu writes: > A good example of customizability of the mac is the "Blast" INIT. When > you hit command-shift-8, the mouse turns into cross hairs. Then you > can click on a window, and blow a hole in the window data structure. > This allows you to dig down through windows to get at the desktop. > It's not the most useful tool, but it is an impressive demonstration. > When you close & reopen the window, the hole goes away. Arrrrgh. Yet another example of a nasty hack to get around a fundamentally deficient window manager. Reasonable implementations of this functionality that I have seen are all contained within a modular program entity called the "window manager". This "window manager" controls such things as window placements, front/back arrangements, and window frames. New functionality is added to this one program in a clean way, such that applications are not even aware of it, and such that it works equally well with all applications. This particular operation could be generically called "window to back". I have seen it made available via a menu pulled down from the window frame, via a special function key hit while the cursor is within the window, or even via a single click on the window frame (when the window in question is already on top of all that might cover it). Again, I must complain about gross, hacky implementations of stupid PC-style tricks. Remember that something as large as a multitasking windowed workstation should be built from seperate layers of software, not strung together with spagetti-style, OS-version-specific hacks. I suppose that "command-shift-8" is one of those immediately-apparent- to-a-4-year-old key sequences, one that is just "obvious" from the program design and screen layout, that Mac people are always raving about. (no smilie, this is pathetic, not funny)
Date: Sun 26-Nov-1990 19:02:03 From: mikel@Apple.COM (Mikel Evins) Subject: Re: NeXT Limitations? In article <25570@uflorida.cis.ufl.EDU> bb@reef.cis.ufl.edu (Brian Bartholomew) writes: [ description of "Blast" INIT on the Mac] >Again, I must complain about gross, hacky implementations of stupid >PC-style tricks. Remember that something as large as a multitasking >windowed workstation should be built from seperate layers of software, >not strung together with spagetti-style, OS-version-specific hacks. The point of "Blast" is fun, not utility. It bothers me when people cop an Attitude about what users Should Do with their machines. It reminds me of a guy I met who resented the Mandelbrot set because of all the CPU cycles that have been wasted computing it. I use and program computers because it's fun! I bought my NeXT because I intended to have fun with it. I write useful software for a living because it's a fun way to make my living. Arguments about what users Should Do carry absolutely no weight with me; users Should Do what they want to do, and any restrictions on what they can do just impoverish them. If people really want to create butt-ugly windows for use in all applications, let them! Hey, it's their machine, right? All this said, NeXT provides a smoother means for programmers to customize interface elements for an application than does Apple. Now, as for system-wide patches to, for example, change the appearance of all windows, I don't yet know whether that is possible. I would like to know, though.
Date: Sun 24-Nov-1990 19:45:29 From: curt@cynic.wimsey.bc.ca (Curt Sampson) Subject: Re: NeXT Limitations? gillies@m.cs.uiuc.edu writes: > What are the main limitations of the software and hardware for NeXT > machines? I suspect there is a serious limitation in the malleability > of the user interface and UNIX. For instance, you can do the > following to a mac: > [large list of items deleted] > > Can I do all these things without hacking the NeXT kernel? That seems > to be the big disadvantage about most UNIX systems I've seen -- not > enough malleability without recompiling the kernel. Does the NeXT have > the concept of an "INIT" (user-installed boot-time patch)? The mac > has some dumb limitations: > > 3. Zillions of special-cases must be made to get software to work > (does this machine have color quickdraw? Are we running > multifinder? Are their multiple monitors? How much memory > can we work with? etc. etc. etc.) > 6. Broken printing architecture I think you've just listed some of the reasons why you would *not* want to do some of those things you described in your first list on the NeXT. Keep in mind that the NeXT is a multitasking system. If you use a device driver, you're safe. What if you just skip right by it and some other program tries to do the same? What if someone replaces their 2 MB floppy drive with a 12 MB floppy drive? What if I'm using an important floppy and some idiot on another login decides to run that floppy format that goes right by the device driver, thus killing my disk? The Mac, as nice as some of its features are, seems to be one big hack in the systems software department. I still wish that my fax software could run reliably in the background without crashing occasionally. cjs curt@cynic.UUCP | "The unconscious self is the real genius. curt@cynic.wimsey.bc.ca | Your breathing goes wrong the minute your {uunet|ubc-cs}!van-bc!cynic!curt | conscious self meddles with it." --GBS
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Marcel Waldvogel and Netfuture.ch.