So there it is. Apple has decided to buy NeXT Software, Inc., and make NEXTSTEP the basis next MacOS.
The average Mac user is probably scratching his head and saying "NEXTSTEP? I thought NeXT was out of business."
Not so. In fact, the NEXTSTEP operating system is alive and well, and it was the best selection Apple could have made for the next MacOS. In this Intro to NEXTSTEP I will outline why this was such a good move, and provide lots of screenshots of NEXTSTEP in action. First, a brief explanation of what NEXTSTEP is.
NEXTSTEP is the operating system of the long-dead NeXT computer. Back when NeXT Software was called NeXT Computer, they made a wonderful black machine that ran NEXTSTEP. After years of dismal sales, NeXT dropped the hardware (1993), but continued to sell the operating system while developing many more products (EOF, PDO, WebObjects).
NEXTSTEP is based on an operating system called Mach (to which NeXT has added a UNIX interface, so you can the UNIX command line if you like), but unlike your average UNIX system, NEXTSTEP is not hard to use. On the contrary, NEXTSTEP is a user's dream come true. NEXTSTEP is to the Mac interface what the Mac is to Windows 3.1. It's that much better.
(Note that all the images in this Intro are darker than they should be: I haven't had the time to adjust the colors. NEXTSTEP is not the dark gray you see here, it's much brighter.)
So, what is all that in the screenshot? Running down the right-hand side is the Dock, a place to stick frequently used programs (called applications in NeXT-speak, or just apps). In the center is the File Viewer, which allows you to navigate the file system. More on that later. At the bottom of the screen are icons for apps that are currently running. In the upper left-hand corner of the screen is the menu for the active app (in this case, the Workspace Manager).
NEXTSTEP is based on the idea of the active window. The window with the black title bar belongs to the app that is active, meaning its menu is the only one on screen, and any keyboard activity (like typing) is sent to it. Switch apps, and a different window will get the black title bar, and the menu will change.
The menus are one of the (many) interface details that make NEXTSTEP so nice to use on a daily basis. First of all, they don't take up much space, because they are vertical, not horizontal. Second, they are not attached to the window of the app (as is the case with Windows 3.1 and Windows 95), so they will never cover the window you are working in (unless, of course, you move them over a window for some reason). Those little arrows indicate a submenu. Click on a menu item that leads to a submenu, and that item will be highlighted white, and the submenu will appear to the right, as in the screen shot. Note that you only need to click once, not click and hold, as is the case with the current MacOS. That means that you can let the submenu sit there, exposed for you to study, while you reach for your lunch. Very handy, this is.
Menus can be dragged wherever you like (even off screen, and the two-button NEXTSTEP mouse will bring up the main menu if the right button is clicked -- this is, of course, optional behavior). In addition, submenus can be ripped off the main menu and placed anywhere on screen, for as long as you like. When this is done, the submenu sprouts a close button so that it can be removed. Menus also remember their location by app, so that the next time you start an app, the main menu (and all the submenus, if you have any laying around) will reappear wherever you left them.
The small letters that appear on the right of some menu items are the command-key equivalents for those functions. Thus, typing command-p will bring up the print panel. (Supposedly, the latest version of NEXTSTEP, release 4, allows you to navigate the entire menu structure with the keyboard. I am using NEXTSTEP 3.2, so I cannot confirm this feature.)
The windows operate in a way that is similar to the MacOS. Click on the title bar and drag, and you move the whole window. (However, when you drag a window in NEXTSTEP, the image of the entire window moves, not just an outline. This has been the case for the last 10 years, and it's a great feature. It makes the whole interface more video-like, and allows you to see what's below a window without switching apps.)
The button in the upper right-hand corner of the window is the close button. If it's an X, click it and the document in the window (whether it's a video, a text document, a sound, whatever), closes. This does NOT quit the application. If the document is currently unsaved, the X will have a hole in it (as in the desktop screenshot), and clicking it will bring up a panel asking if you want to save first.
The button in the upper left-hand corner is the minaturize button. Clicking this button will make the window shrink down to the same size as the icons that represent apps. (A miniaturized window can be distinguished from an app because the window will have a tiny black title bar running across the top. There is one such "miniwindow" in the screenshot.)
To make an entire application disappear without quiting, the main menu has an option called Hide. Clicking hide will hide the app's menu and all its windows and panels. The only remaining sign of it will be its icon. Double click the icon, and that app becomes the active app again and all its open windows and panels reappear.
NEXTSTEP has the richest graphical user interface (GUI) available today. There is so much to say, I won't even try. (In the next pages, however, I have included a lot of screenshots.) But to give an idea of the kind of attention to detail that has been lavished on NEXTSTEP by its engineers, consider the lowly scrollbar. NEXTSTEP scrollbars haven't changed in 10 years, and there is still no reason for them to do so, since they were just done right the first time. (This is a recurring theme with NEXTSTEP, you will find.) First, the (vertical) scrollbar is on the left. Because the menu appears on the left, this saves the user time going between the two. (The scrollbars really should be on the left in the MacOS and Windows, too, considering that the most often used menu items are also towards the left.) The fact that most text in any given document will be on the left of the window is yet another reason for the scrollbar to be on the left, since that is the side of the window the cursor is most likely to be during editing. In addition, the left-side scrollbars mean that a window can be fully functional when part of it is off-screen to the right. Send the right side of a window off-screen in MacOS or Windows, and while you can get to the menus and buttons, you won't be able to scroll.
The scrollbar's length depends on the size of the document being displayed in the window. If most of the document is already in the window, the scrollbar is almost the length of the window. If only a tiny portion of the document is in the window, the scrollbar will be tiny. (This resizing scrollbar is still missing from the MacOS, where the scrollbar gives no indication of the document's size. Windows 95 has this feature, but does it wrong: if the document is really big, the scrollbar becomes too small to grab easily. In NEXTSTEP, the scrollbar will never get smaller than that little dimple and some space above and below it, which is considerably larger than the smallest the Window's scrollbar can get.)
Speaking of the dimple, what's it there for? Well, click somewhere in the scrolling area, but not on the scrollbar itself, and the scrollbar will move so that the dimple appears directly under your mouse (from there, you may then scroll some more, without having to click your mouse again to grab the bar, provided you haven't released the mouse button). This is useful when navigating around in large documents. (In Windows and MacOS, all you get by clicking below or above the scrollbar is one screenful of movement, which can make navigation painfully slow. If you want just one screenful of scrolling in NEXTSTEP, alternate-click a scrolling arrow.)
The scrolling arrows also deserve mention. First off, the up and down are right next to each other, so if you scroll just a bit too far in one direction, you don't have to mouse up to the other end of the scrollbar to go back a bit. Second, any horizontal scrolling arrows will also be in the same corner as the vertical ones, saving the user even more time.
Next Section: The Workspace Manager