Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!snorkelwacker!tut.cis.ohio-state.edu!pt.cs.cmu.edu!andrew.cmu.edu!cb29+ From: cb29+@andrew.cmu.edu (Chad Kavanaugh Bisk) Newsgroups: comp.sys.next Subject: Problems with the NeXT System (v1.0) Message-ID: Date: 18 Mar 90 22:48:07 GMT Organization: Class of '90, Carnegie Mellon, Pittsburgh, PA Lines: 416 Folks, I have been using and administering a NeXT System (v1.0) for several months now and I thought I would share some of my findings with the net community. The NeXT I am using is not my own, and as I will be graduating soon, I am thinking of purchasing one. However, there are several things which stop me: --------------- Problems that keep me from buying one right now ------------- - In its present incarnation, the NextStep Window Manager has several problems: - There should be a way to give the focus to a window that isn't on top of all the other windows. - It needs some way to change window layer ordering (as in X CircleUp & CircleDown, esp. as implemented in OSF/Motif mwm). At the very least there must be a way to push a window to the background. - There should be a preference for focus-follows-click (the current setting) vs. focus-follows-click-or-type (whenever the user clicks or types the window under the mouse acquires the focus, this is really the best of both worlds, here) vs. focus-follows-cursor (the traditional X focus policy) vs. focus-follows-cursor-last-window (just for kitchen-sink completeness). The problem with just focus-follows click is, for example, in WriteNow if you click on an unfocussed document in the scroll-bar region the document will jump to that point as well as acquiring the input focus. This behavior is very annoying. - There should be a user settable preference for having resize bars on all four sides of resizable windows (like OSF/Motif mwm resize borders), and how thick that border should be. - You should be able to move the window from all four borders, and maybe even the interior. Otherwise, windows that are created halfway off the top of the screen can't be moved from where they are originally placed. For an example of this problem, move the Directory Browser near the top of the screen and hit a text key. The browser opens a name expansion window off the top of the screen and you can't move it to get to the close box. - An alert for one application should not necesarily obscure the windows of another application, since I could be using that other application to help with the first applications problem. Any given alert need only make sure it is not obscured by a window in it's Application group. - There should be an option for the default choice in the logout verification dialog box. There should also be a preference as to whether the Workspace should even ask for confirmation of logout. - A three button mouse with a useful interaction policy is required. The default may be to have all buttons do the same thing, but there should be a preference option for: In text, left button sets the cursor, middle button brings up menus, and right button selectes region from cursor to current pointer postition. In title bars, its move window, push window to background, pop window to foreground. In resize bars, its resize, push, pop. In the background its Workspace menus, current selected application's menus, and a windows list menu that lets you select some window that's been buried under twelve other windows without moving all twelve windows around. There should be preferences for each of the previous possibilities. ---------------- Bugs ----------------- - In the login window, there is no way to erase a mis-typed entry in the password field and start over again. Ctrl-u in the login window doesn't erase the string entered so far. - Preferences doesn't reset the values of Speaker volume (left and right), Screen brightness, or Screen Dimming Delay to the right levels each time you log in. - In IB test mode, double clicking on the big test switch when another program has the focus and has its menus posted causes IB to post its menus without aquiring the focus. Thus there are now two sets of menus on screen and the other program still has the main focus. - Quotations has a bug in it in that when you have a /LocalLibrary/References that is an empty directory, in addition to the standard /NextLibrary/References, the program fails with a fatal error dialog box claiming it can't open /LocalLibrary/References/OxfordQuotations//.index/index. The correct behavior seems to be that it should just ignore this directory and use the /NextLibrary/References directory. Also, since the subdirectory OxfordQuotations didn't even exist in /LocalLibrary/References, the program shouldn't even have looked there in the first place. - The uudecode mail alias allows a user to place a file anywhere in the file system. - The version of Display PostScript shipped with v1.0 has several problems: - If you install your own fonts, and try to use them at sizes where bitmap fonts have been written for other fonts, DPS sometimes grabs the bitmap of the wrong font, instead of generating the new font at the same size. - DPS's generation of fonts is less than optimal, especially at small sizes. Even at large sizes (128 pt.), diagonal strokes have terrible jaggies. Adobe's product for the Macintosh (ATM) does a much better job at this. - It is very slow at generating text in a spiraling pattern. Is it trying to image the whole character set even though only one character will be needed at that particular angle? - Helvetica Medium on screen has trouble with spacing for certain characters. Consider, "heat-122" has no spaces in it even though it looks like it does. - The text insertion bar (hereafter referred to as the cursor) does not always look like it's in the right place. - /bin/file is buggy. It repeatedly seg faults on NeXT applications like /NextApps/Preview and many apps likely to be found in /LocalApps (Cassandra, NX_VOID, Tools, communicae). It also doesn't know much about NeXT file types like .snd .wn and so on. - Menu clicking, when enabled, on a floating icon does nothing instead of bringing up the menu. - WriteNow has trouble opening files owned by someone else (root) when the protection bits are -rw-r--r--, but it doesn't have trouble if its -r--r--r--. A dialog box complaining about not being able to lock the file comes up and asks you to either open a copy or abort. Since I can't write to the file anyway, it should just open it read-only with the same name, instead of opening a copy with the name Default-1. At least this should be the default option on the dialog box. - Sometimes, when I double click on an application, two of them start. I may be clicking once too many, but even a triple click should only start one instance of an application. - In the Librarian, if you bring up the seperate Find panel after searching for a man page and try to search for a word by entering a word (in the Find panel) and hitting Return, it won't accept further hits on return unless you click in the Find text field even though the Find panel's title bar is black and the Digital Librarian window's title bar is grey. Since the Find panel still has the major input focus and it has a button with a return symbol on it, it should accept subsequent returns. Either that, or the button should lose the return symbol after the first find to correctly reflect its true status. --------------------- Problems ---------------------- - Choosing help from Mail brings up a browser for the mail help topics. Unfortunately, it also brings any other windows being directly managed by the Workspace to the foreground, too. This is indicative of a larger problem. Applications that maintain multiple windows on behalf of other clients (e.g. the Browser being used by Mail as its help interface) should manage those windows in a seperate manner from it's own, windows. There should be the concept of a window's Application Group and operations on this Application Group, like ReceiveInputFocus() that apply to all windows in a group, regardless of ownership. - Each Terminal or Shell thinks it is a seperate login session and sources .login and .logout. This behavior is incorrect. If need be, a .Terminal.in and .Terminal.out file could be created for equivalent functionality, but they should not be login shells. - There is no documentation or man page for /bin/ws. - The Workspace Manager needs a "Full Screen Refresh" option. - The ~/Unix directory seems to be completely useless. Any files in ~/Unix could just as well go in ~/ since there is, as yet and hopefully in the future, no namespace collision. - When the Workspace browser has five columns and one's home directory is two levels deep (e.g. /usr/usr0/cb29), it places the listing of the home directory in the fourth column instead of the third column, thus knocking the root directory off the left side of the browser. The correct behavior should be to get as much of the tree as possible displayed while having a user settable, minimum number (default of one) of empty columns at the right for expanding into. - /usr/adm/sulog is not maintained. --------------------- Suggestions ------------------- - There should be a preference for how dim the screen gets when it dims. - There should also be a way to set these preferences for the login window (perhaps as root's preferences?). - At the option of the application, there should be a zoom button in the title bar that toggles between normal and full screen size windows. This would require resizablility. - One directional resizable windows should be supported. this would allow resizing width but not height, or vice versa. This could allow info panels that have srollable text regions to be expanded vertically without messing up their fixed width header areas (e.g. /NextDeveloper/Demos/Chess). This may already exist, but I haven't seen much use of it. - In Edit, there should be a preference for whether selected text should be replaced or added to by typing. This would be enhanced by an option to have the second button set the current region from the cursor to the pointer. Also it would be nice if there were a preference to have Ctrl-a and Ctrl-e go to the beginning and end of the selected region, if one exists. the differences here are more than style; writing needs a no replacement selection policy and editing needs a replacement selection policy. Also, double clicking on a word and typing its replacement is good, but triple click and type and you've lost your paragraph. Perhaps there should be a preference for max-selected-region-replacement. - In text, there should be a preference for whether triple clicking should select by line, sentence, or paragraph. Also, I don't think WriteNow even has triple clicking. - There should be two slider bars for controlling mouse reactivity. One would control the scaling curve and the other would control speedup. this would be in addition to the four buttons for default levels. Also, when changing the values in the preferences database by hand, there should be a way to have them read in immediately. - Menu clicking, if enabled, in the root window (the background) should bring up the Workspace menu. - When the "other" mouse button is set to bring up menus, there should be a way to disable root menus from appearing automatically. This would free up some valuable screen space. - The Edit application should indicate if you have unsaved changes. This can be very easily displayed in the title bar with some marking character, like an asterisk. Ideally, this would act like the gnu-emacs status indicator in the left side of the status bar. Perhaps most of the status bar could be replicated in the title bar. - The Edit application needs to support more of the Gnu Emacs cursor manipulation keys. - The Workspace Browser needs a button or two for going to commonly accessed directories, especially $HOME. Maybe an icon with a picture of a house on it could be used for $HOME. Maybe there could even be multiple Icon wells for placing directories you want to go to in. There is plenty of space in the rightmost column above and below the selected files icon well. This would be sort of like the Macintosh DA Boomerang. - This brings up the idea of having more than one icon well for selecting icons. This would greatly facilitate moving or copying by dragging in the following manner. You select your target directory, drag its icon into the "target" icon well, just below the "selected" icon well. Now you select one or more other files from another directory and drag the icon representing them onto the target directory icon which is sitting in the "target" icon well. Then you clear the well. - Alternatively, or maybe in addition, you could have a "holding" icon well that would just hold things until they are needed. This way you could select what you want to be moved, move it into the "holding" icon well, go back and select the target directory, and then drag the contents of the holding well onto the "selected" icon well which would now have the target directory's icon in it. - Disk space usage quotas need to be implemented for user directories. - Scripts should be provided for cleaning out files, on a one time only basis, that may grow unchecked (e.g. /usr/adm/messages). At least a list of files that one should consider pruning or removing when space gets tight could be provided. - The Icon Dock should be more functional: - There should be a preference for which corner it appears in. - There should be a preference for which way the dock flows, in reference to the NeXT Icon anchor. - There should be a preference for which way you can drag it. You might even want to allow draging along all four edges of the screen. - The NextStep Window Manager needs keyboard shortcuts for window manipulation. This would be for power users who could then do everything right from the keyboard. This could be especially useful for editing in multi-window documents. Candidate key shortcuts would be select-next-window-in-application, and seelct-next-application. - The non-integrated front end version of Objective-C should be included so that we can use it with other C compilers and future versions of gcc. - The keyboard needs some way to incline itself further, like extensible feet. Do not use posts that you have to take off the keyboard to get it to set flat, like DEC keyboards have. Then you have to keep track of where the feet went. - In Interface Builder test mode, after hiding your test interface, double clicking on the test switch icon should only expose the interface, not exit test mode. This makes sure that your test interface handles expose events correctly. The quit menu entry is there to exit test mode, so the current behavior is redundant. - If you're wishy-washy, trying to access Command-Shift characters can leave the keyboard shift-locked unless you Shift-Command it (note the order). This happens if you Command-Shift-Shift-something because you couldn't find the key you were hunting for while you held down the Command-Shift. A better choice for AlphaLock would be LeftShift-RightShift or maybe Alternate-Shift or maybe even a user settable preference. - There should be a way to unplug the speaker in the monitor unit to allow installation in a public cluster without allowing noisesome disturbances. The headphone jack should still work. This could be done in software if there were a way to have a root settable preference lock the WindowServer into mute mode where the external speaker is off, but the headphones are still on. - There should be meta-key support for gnu-emacs under Terminal, preferably the Alternate key (not the Command key) as it doesn't generate the propper Alternate character set in Terminal anyway. - Terminal and Shell should be merged (and probably rewritten) into a new program that supports the features of both and implements a full VT100. - Scroll bars, Cut&Paste - Full vt100 or vt102 emulation - multiple sessions (as in Shell) - It would be nice if Terminal and Shell (or their replacement) gave feedback during resize or had some facility for reporting the current number of rows and cols completely visible in a given window. This is usefull for stty row and col setting over telnet in Terminal. - The "old-fashioned" Unix databases should be maintained so that programs like finger and last will work propperly, especially information about who's on console. - Scroll bars on text windows should indicate where the cursor is and the extent of any selections. The Andrew Toolkit (ATK) from CMU (which is on the X11R4 tape in the contrib section) has an excellent implementation of this. This can also be extrapolated to any scroll-view that has a cursor and/or selectable region. Also, applications with interesting marks or notes or alerts can mark the slider area with the approximate position of the item. Even page breaks could be indicated with this method, at the application's discretion. - The directory structure, while it has been improved in many ways, has been mangled in others. Take, for example, /NextApps, /NextLibrary, /NextAdmin and so on. This is exactly what subdirectories were made for. What's wrong with /NeXT/Apps and /NeXT/Library, and so on. The same argument could be made for /LocalApps and /LocalLibrary (for which there should be an option to have them in /usr/local/Apps and /usr/local/Library or elsewhere). - There should be search paths (in the form of UNIX process environment variables as well as the defaults database) in the Workspace Manager for Apps and for Library items. The same could be useful to the WindowServer, especially for Fonts. In particular, the Workspace's search path for applications should be user modifiable. In genereal, any program or application that expects certain files to live in a certain directory or list of directories should have search paths (again, in the form of UNIX process environment variables as well as the defaults database). - The X window system (if/when v1.0 or later is released) should be distributed with the NeXT System. At least information on where and how to get it should be included in the documentation set. - NeXT should make available an optical disk full of public domain, freeware, demonstration, and shareware that it could distribute (for the price of OD, production, and handling) as a library. This would enhance the software base and enlarge the spread (and hopefully, use) of shareware software. There is certainly a decent volume (albeit of varying quality) of stuff available on the ARPA net alone. - The make supplement imake (or something better) should be included with and integrated in to the NeXT System. - More support and better integration for file types .wn .rtf .txt .ps .eps .tiff for viewing, editing, and interchanging. It would be nice if there were an editor/viewer for each of these and a translator that could translate each to each directly, as best as possible. Yes, this would require 2^n interfaces. For some (though maybe not all) it could be worth it. - Upgrades to better OD drives should be available. This will be a fast growing field where technology will double storage capacity and halve access time every two or three years, and NeXT owners should be able to keep up with this trend (provided their pockets are deep enough). The current system board seems to hinder this process as the control chips are on the mother board and not a seperate card. - A slot adapter card that allows current, Macintosh style (10 MHz) NuBus cards to be used, perhaps via the NeXT NuBus chip, with the NeXT system. This would be a stub card that would plug into one of the four slots in the back-plane and would have a slot adapter on the outside edge allowing a Mac NuBus card to plug right in. - The Delete key should be labeled as a Backspace key and send an actual backspace character. - The cut-copy-&-paste operations should act on a kill-ring that could hold more than one item at a time. - If a scroll bar is tall enough, it should place a second pair of up-down arrows at the other end of the scrollbar so you don't have to mouse all the way over to the other end and back. There should be prefences for how tall that limit is and whether it should happen at all (default no and half screen height). ------------------------------------------ Kudos --------------------------------------------- - The screen "looks nice". Kudos to the time put in to make each and every aspect of the interface incredibly visually pleasing. - /bin/ls takes advantage of extra columns. Kudos to getting this right. -- Chad K. Bisk -- cb29@andrew.cmu.edu -- NeXT Mail: cb29@peru.andrew.cmu.edu