microbytes/items #2274, from microbytes, 3457 chars, Wed Oct 12 18:29:57 1988 -------------------------- TITLE: Updates On NeXT; Machines Available To Colleges Only [Since most of BYTE's coverage of the NeXT machine has been based on preliminary information obtained from NeXT officials, here are some updates from today's announcement.] Steve Jobs confirmed that the NeXT Computer will be available only through universities. NeXT will sell its machines to universities via a direct sales force. There will be no volume discounts, so larger universities will have no advantages over smaller colleges. The price to universities is $6500 for the 8M-byte NeXT system with the optical drive and the bundled software, and $2000 for the laser printer. This is the price to the university, but not necessarily to the students or faculty members, since they will have to purchase the machine from the university's distribution outlet. Jobs declined to discuss NeXT's sales projections or its manufacturing capacity. He emphasized that its initial market is strictly limited to American higher education. The international higher education market will have to wait until NeXT has met the demand of the U.S. market, said Jobs. "We can make a lot [of machines], but probably not enough," he said. The 68030, 68882, and the 56001 digital signal processor all run at a clock speed of 25 MHz. Earlier versions of the machine had run at 20 MHz. The NeXT bundled software includes the SQL database server from Sybase, called the NeXT SQL Database Server, and Franz Inc.'s Allegro Common Lisp. Other third-party software developers supporting NeXT include Cricket Software, Frame Technologies, Mark of the Unicorn, and Stepstone. Lotus Development endorsed the NeXT computer in a press release, which "applauded the NeXT Computer System as an important new hardware platform," but the software house announced no products. The first release of the system software is beta version 0.8. Beta version 0.9 will be available early next year and a completed version 1.0 will be available in the second quarter of 1989, company officials said. The NeXT graphical interface, which consists of the Interface Builder, the Window Server, the Application Kit, and the Workspace Manager, is called NeXTStep. According to NeXT, IBM has licensed the NeXTStep interface software, as well as Stepstone's Objective C and Adobe's Display Postscript. IBM will use the NeXTStep interface on its AIX (Unix) operating system. Jobs confirmed IBM's license agreement and said that applications developed using NeXTStep could simply be recompiled to run under AIX or the NeXT Computer (depending on the original source of the application). While IBM has announced the licensing agreement, no specific products have been announced at this time. But Jobs acknowledged that the agreement will help NeXT reach a broader base of software developers. "IBM has a much broader market and can `incentivize' software developers," said Jobs. He said that NeXT has not had discussions with the Open Software Foundation regarding its NeXTStep interface. The audience at Davies Symphony Hall was generally very impressed with the machine, particularly with its sound and graphics capabilities, as well as with the erasable optical drive. However, questions still remain about the performance of the machine and about the viability of selling the computers only to the higher education market. --- Nick Baran [ NeXT Inc., 3475 Deer Creek Rd., Palo Alto, CA 94304; (415) 424-0200. ] Joining next active topic. Joining conference 'microbytes', topic 'features'. 8 new messages. This topic is READ ONLY Read:all microbytes/featuers #178, from microbytes, 4623 chars, Wed Oct 12 15:18:59 1988 -------------------------- TITLE: Jobs Finally Intros NeXT Computer; Slated To Ship Next Year What may be the most significant computer event of the year took place in San Francisco today. At a lavish ceremony, Steve Jobs' NeXT Inc. (Palo Alto, CA) introduced its long-awaited computer. The NeXT Computer comes with a 256-megabyte erasable optical disk drive, 8 megabytes of memory, a 25-MHz 68030 processor, and a 17-inch high-resolution monitor. The price -- for academic users -- will be only approximately $6500, NeXT officials told BYTE prior to the official announcement. The system will not be available until the first quarter of next year. NeXT asserts that its new cube-shaped system is "the machine for the nineties." A bold statement, to be sure, but the computer goes a long way to bolster that claim: It sports what may be one of the first commercially available erasable optical drives and advanced VLSI (very large-scale integration) technology, and it comes with a built-in digital signal processor. On the software side, the Unix-based cube features an object-oriented version of C as its standard programming environment. It also uses Display PostScript to present a graphical user interface that shields users from the traditionally user-hostile Unix command syntax, and it offers easy access to the cube's considerable power. As its nickname might imply, the cube is starkly simple in appearance and physical layout. The main computer unit is a matte-black cube measuring 1 foot to a side. There are no switches, and no indicator lights. There are two panels covering bays that can hold two 5.25-inch full-height devices. One bay is occupied by the system's erasable magneto-optical drive. Inside is a power user's dream: a 25-MHz Motorola 68030 processor and 68882 math coprocessor, plus 8 megabytes of RAM as standard. Also inside are four 32-bit NuBus slots, one of which holds the system's main CPU board. On the back panel is an army of connectors (such as a SCSI connector and "thin" Ethernet connector). The entire cube system including the monitor requires just one power cable, which runs from the main unit to a wall socket. A long (10-foot) shielded umbilical connects the black 17-inch monochrome monitor to the main unit. This cable carries power for the monitor, video, keyboard, mouse, sound I/O, and auxiliary input signals. The black keyboard attaches via a connector to the base of the monitor, whose housing also contains a small speaker, stereo earphone jack, two stereo channel jacks, and a microphone jack. A two-button mouse (also black) connects to the keyboard. Though the cubes shown to BYTE in August were early versions, they had passed FCC Class A requirements for EMI interference. The cube's wiring arrangement is very convenient: Your desk need only accommodate the monitor, keyboard, and mouse, and the ample length of the umbilical gives you the freedom to place the main unit well away -- say, on a shelf. A key on the keyboard switches the system's power on or off so you don't have to touch the main unit at all. Academic Bent Targeted initially for the higher-education market, the NeXT cube reveals its academic bent throughout. For example, the digital signal processor can be programmed for real-time laboratory work and demonstrations. The cube's large mass storage and memory capacity make it ideal for accessing substantial libraries of information. And Unix is the multitasking operating system of choice in academia. Although the cube delivers a lot of bang for the buck, it's priced fairly high for students. NeXT officials said they would be selling a 4-megabyte system in the educational market for $4995 and an additional 4-megabyte upgrade for $1495, making an 8-megabyte system $6490. This may be just a marketing ploy, however, because you need 8 megabytes of memory to run the current software. (In later releases, NeXT hopes to trim down the software so that it will run with 4 megabytes.) The cube's rich features list would surely be appealing to those in nonacademic settings (engineering and science applications come to mind), but we were surprised to learn that -- for now -- NeXT claims it has no firm plans to pursue these markets. --- Tom Thompson & Nick Baran [Stay tuned as other stories detailing the NeXT Computer will follow here in microbytes/features. A complete version of an article that will appear in the November BYTE, written by Tom Thompson and Nick Baran after extensive interviews with NeXT officials, can be found in the NeXT conference here on BIX; you can get there by typing: join next.] microbytes/features #179, from microbytes, 3841 chars, Wed Oct 12 19:16:07 1988 -------------------------- TITLE :NeXT's Erasable Optical Drive Stores 256 Megs The most interesting peripheral on the new NeXT cube is its read/write magneto-optical drive. The new optical drive stores 256 megabytes on a 5.25-inch disk, and fits into a 5.25-inch full-height bay on the cube. The optical cartridges themselves resemble overgrown 3.5-inch floppy disks, complete with a rigid shell and shutter door, but the resemblance ends there; each optical cartridge holds a whopping 256 megabytes of user data. The optical platter is composed of the same clear rigid polycarbonate material that's used in CD-ROMs. Embedded within the platter is a layer of reflective aluminum backing that's overlaid with a magneto-optical substrate. The platter rotates inside the cartridge at 3000 revolutions per minute, 10 times the rotation speed of a CD-ROM, and almost as fast as a hard disk drive. How does the magneto-optical drive work? A single laser performs both read and write operations. To write data to the disk, the drive first applies a magnetic field to the platter. The orientation of the magnetic field determines the data to be written to the platter--either a 0 or a 1. The magnetic field is first oriented to write 0s at the start of what's called the erase pass. The laser uses a high-power beam to heat a sector on the platter's substrate to its Curie point--the temperature at which the crystals in the substrate "forget" their previous orientation and reorient themselves to the surrounding magnetic field. All the data in the target sector is thus erased to 0s. Next, the magnetic field is oriented to write 1s in the write pass, and at every spot in the sector where a bit must be set to a 1, the laser again heats the substrate to the Curie point. Finally, the sector is read in a verify pass to check the accuracy of the data. To read data off the platter, the drive removes the magnetic field, and the laser directs a low-intensity beam at the platter. The beam travels through the substrate and is reflected off the aluminum backing. However, in a phenomenon known as the Kerr effect, the crystal alignment in the magneto- optical substrate alters the polarization of the reflected beam. The amount of beam polarization determines its intensity as it passes through a polarizing filter to a photodetector. The beam intensity indicates whether a 1 or a 0 was read at the spot on the platter. While the operation of the magnetooptical drive seems simple in principle, the new technology needed to make this storage device possible was considerable. NeXT admitted that it had literally "gambled the company" on this technology becoming available for use in the cube. But it did work, and one magneto-optical drive comes standard on the cube. While the drive is designed to boot and run the operating system, its 96-ms average seek time may prove a bottleneck in some applications. In the beta-test system shown to BYTE, it was difficult to use multiple optical disks. If the magneto-optical drive was used as the system disk, the disk could not be removed without rebooting the system. However, NeXT plans to modify the software so you can copy files to another optical cartridge with a single magneto-optical drive. We saw the magneto-optical disk drive in operation, but it still had some operating bugs, and its 96-ms access time might be a source of frustration if it's used as the main system drive. At this point, we cannot comment on its reliability. Optical cartridges are expected to cost $50 initially, although the price may fall as they are produced in volume. Since the cube has room for an extra 5.25-inch full-height device, you can purchase either a second optical drive for $1495, or the 670-megabyte hard disk drive for $3995. Both of these prices are very low. --- Tom Thompson & Nick Baran microbytes/features #180, from microbytes, 1892 chars, Wed Oct 12 19:18:30 1988 -------------------------- TITLE: Cube's 17-Inch Monitor Crisper Than Most 19-Inch Tubes When you use the NeXT cube, you can't help being impressed by the crisp quality of its display. This is no accident: The 17-inch NeXT monochrome monitor has an ample 1120-by-832-pixel resolution display that contains more pixels than most 19-inch monitors (which usually have 1024 by 768 pixels). The monitor also has a pixel density of 94-dpi, as compared to the Macintosh's 72- dpi screen. However, this display is only 2 bits deep and thus can display only four levels of gray. The graphic interface for the cube's software, however, makes effective use of the four gray levels. NeXT claims that it chose a 17-inch monitor as a compromise between display size and weight. The video display also has a fairly high vertical refresh rate of 68.3 H,z which should ensure a nonflickering image. Also on the monitor is a connector for the system's 84-key keyboard. The keyboard includes cursor keys, a numeric keypad, a power-on/power-off key, and pairs of keys that control the volume and screen brightness (pressing one key increases the chosen output; pressing the other decreases it). There are two Command keys and two Alt keys (located on opposite sides of the keyboard) that are mapped separately. There are no PC-style function keys. Also on the keyboard is a connector for a two-button optomechanical mouse. In addition to the keyboard connector, there are also left- and right-channel analog stereo audio jacks, and a jack for stereo headphones on the monitor's base. There's also a jack for a microphone so you can record sounds through the monitor, say, for voice mail. The audio signals fed into this port are sampled at 8 kHz and saved within a Sound object in software. This object can be utilized by the NeXT Unix mail facility or by NeXT applications. --- Tom Thompson & Nick Baran microbytes/features #181, from microbytes, 2727 chars, Wed Oct 12 19:21:33 1988 -------------------------- TITLE: NeXT Applications To Include Shakespeare NeXT will bundle several applications with the new machine. These include a word processor, a text-based database manager, a dictionary, a thesaurus, and a dictionary of quotations, as well as the complete works of William Shakespeare. The word processor will be WriteNow, which is owned by NeXT and is currently distributed by T/Maker for the Macintosh. The personal text database allows you to automatically index all your word processing and electronic mail communications so you can recall documents or memos based on keywords instantly. The system software includes the standard Unix Mail program equipped with a graphical front end that can attach voice messages to mail files, and a file-searching program called Find. This program can be used with Webster's Dictionary, the thesaurus, the works of Shakespeare, any on-line documentation, or any user-created text. You can call up quotations or dictionary entries at any time by using the Find program. This capability would be valuable not only to college students and faculty members, but to anyone who has to write frequently -- whether it's a business proposal or a technical document. Also included is a C compiler and Objective C, a symbolic debugger, and on-line documentation. In addition, the software bundle will include Mathematica from Wolfram Research, a program for analyzing mathematical equations. An important goal of the NeXT software environment is the development of "digital libraries." With its erasable 256- megabyte magneto-optical disk, NeXT hopes to promote the idea of easily accessible text databases. In the educational market, these databases will include encyclopedias, dictionaries, textbooks, and other reference works. A list of the software that NeXT plans to bundle with the cube is as follows: System software: Mach operating system PostScript Window Server and fonts System administration tools Reference works (to be used with "Find" utility): Merriam-Webster's Ninth New Collegiate Dictionary Merriam-Webster's Collegiate Thesaurus The Oxford Dictionary of Quotations User's manuals for all bundled software Programmer's manuals Oxford University Press' Shakespeare: The Complete Works Applications: Word processor (WriteNow) Personal text database Electronic mail application with voice messaging Window-based file manager Mathematica Development tools: GNU C compiler GNU debugger GNU EMACS Objective-C 4.0 Berkeley Unix utilities Terminal emulator Window-based text editor Interface Builder Object-oriented software kits: Application Kit Sound Kit Music Kit --- Nick Baran & Tom Thompson microbytes/features #182, from microbytes, 5037 chars, Wed Oct 12 19:24:56 1988 -------------------------- TITLE: NeXT Computer Uses Carnegie-Mellon's Mach OS "I believe this with every bone of my body: Unix will be the prime operating system of every major company in the 1990s," says Steve Jobs, and it's not surprising that the NeXT Computer is a Unix-based system. But unlike most Unix systems, it will feature a proprietary windowing system that is designed to shield the Unix command-line interface (CLI) from the user, substituting simple point-and-click mouse operations to manage files and execute applications. NeXT uses the Mach Unix kernel developed at Carnegie-Mellon University. The Mach kernel is compatible with BSD (Berkeley Standard Distribution) Unix version 4.3, but provides enhancements such as shared memory, fast interprocess communication, and potential multiprocessing support through the use of threads. Shared memory allows multiple processes to share common segments of memory. Threads are "lightweight processes" that have their own execution stack, but within the context of a the task that created it (i.e., the thread has access to all the resources made available to the parent task such as memory, and opened files). Multiprocessing support is possible by assigning threads to particular processors. However, multiprocessing is not supported in the initial release of the NeXT operating system. Since you can add multiple CPU boards to the cube's backplane, we can expect to see multiprocessing support in later releases of the operating system. NeXT provides a graphical windowing interface to Unix that hides the laborious Unix commands from the user. While veteran Unix users still have the option of issuing those intuitive commands (like grep and ls) within a Unix CLI window called the Console, most cube users should never have to deal with Unix. The windowing interface, called the Workspace Manager, provides all the necessary functions for file management, opening and closing applications, and communicating with other resources on the system such as peripherals or nodes on the network. The main interface screen is called the Workspace. Noticeably absent from the screen is the ever-present menu bar found on the Macintosh screen, or on a PC running Windows. Unlike the Macintosh Desktop, menus can be moved anywhere on the Workspace and float above any open windows. Menus are hierarchical, and you can split off subhierarchies from their parent menus. Windows have scroll bars located on the left and bottom, and there are small boxes on the window frame for resizing or closing the window. It also has a "miniworld" function that collapses the window and its menus into an icon while the process owned by the window continues to run. Icons become transparent when they overlay other icons, allowing you to always see everything that's currently available on the Workspace. The icons of frequently used applications can be "docked" along the right side of the Workspace for easy recall. The Workspace is similar to the Desktop metaphor on the Macintosh, and the Workspace Manager is analogous to the Mac's Finder. However, no one will accuse NeXT of copying Apple's look and feel. File management operations are similar to those used by the Mac Finder. When you click on a directory in the Workspace, you can examine the directory in a number of ways. There is a "browser window," which displays the directory tree in a window with the directory hierarchy ordered from left to right on the screen. This browser window normally lets you see three levels deep, but you can position the point in the hierarchy where you wish to view files, or resize the window to examine additional levels. You can also choose to view the directory as icons with subdirectories represented by folders, or as a conventional text-only Unix directory listing. The version shown to BYTE was definitely not complete, so the final word on the Workspace will have to wait. Nevertheless, it seems very intuitive and easy to learn. Its performance was good, and the display quality is excellent. Rather than use an existing Unix window server such as X- Windows, NeXT designed its own proprietary Window Server. The Window Server manages all interactions between the windows, keyboard, and mouse for all applications attached to it. Embedded inside the Window Server is the Display PostScript interpreter, which acts on the PostScript commands passed to it. This embedded interpreter executes the PostScript commands it receives and writes the results into the cube's video RAM, making it appear on the monitor. The Window Server supports network connections (such as Mach IPC and TCP/IP), allowing one cube on a network to access another machine's Workspace. The proprietary Window Server means that existing applications that run on other Unix windowing systems will have to be modified to run under the NeXT windowing system. A Unix application that uses conventional console I/O, however, will run inside the Console window without modification. --- Tom Thompson & Nick Baran microbytes/features #183, from microbytes, 4353 chars, Wed Oct 12 19:28:01 1988 -------------------------- TITLE: Objective C Should Simplify Developing For NeXT Cube Some systems employing graphical interfaces--like the Macintosh, for example--are great for the end user but extremely complex for programmers. To ease the burden of this task fort he developer, the NeXT system includes tools for building interfaces to the NeXT windowing system, and also tools for object-oriented programming. The NeXT system software includes an ANSI C compiler and an object-oriented preprocessor called Objective-C, developed by Stepstone Technologies (formerly called Productivity Products International; 75 Glen Road, Sandy Hook, CT; (203) 426-0699). Objective-C allows you to define groups of C procedures and the data for those procedures as objects. NeXT provides several libraries of ready-to-use objects, called kits, for integration into Objective-C programs. These kits provide a library of around 34 objects for implementing the core functionality of a NeXT application, although a programmer would normally use only a small subset of these objects. This library is known as the Application Toolkit, and the Objective- C interface can access it directly. The object-oriented programming system employed by NeXT allows a one-to-one correspondence between objects on the screen and objects in your program. An object consists of data (called instance variables) and executable code. If, for example, an object is to be visible on the screen, it must contain the necessary C code, Objective C code, and PostScript code for drawing itself on the screen. Probably the key concept with respect to user interfaces is that objects can respond directly to messages generated by user actions. Rather than having to write lines of conditional statements in C code to respond to user actions, the user actions are interpreted as messages that objects can understand. For example, you might have an object in your program called "Window," which can understand the "Close" message sent by a user response. NeXT provides a program called Interface Builder that allows you to interactively build user interfaces for your programs. Interface Builder lets you design the layout of a graphical user interface by selecting buttons, menus, and other objects from a library to include in your application. This function is somewhat similar to ResEdit on the Macintosh. However, Interface Builder goes further--it allows you to define connections between objects. That is, Interface Builder lets you specify actions for the objects to perform in response to user actions on other objects. For example, you could build a Beeper button object into your program interface simply by selecting a prototype button from Interface Builder's on-screen inventory, moving it to where you want on the screen, giving it a label, and assigning an action (say, emit a beep) to be performed when a user clicks on the button. This is similar to the function of Hyper-Talk in Apple's HyperCard program. The big difference, however, is that Interface Builder generates a representation of the object that you can integrate into programs. You can also create custom objects by selecting an object that most closely resembles what you want and customizing its appearance and behavior. NeXT's goal is to supply enough objects so that a programmer could select objects and define their connections, making it possible to built an application from scratch writing little or no code. In addition to the Application Kit and Interface Builder, the NeXT system software includes kits for working with music and sound. The Music and Sound Kits provide objects for integrating these features into your programs. There is also a number of library functions (not objects) that allow you to tap into the processing capabilities of the digital signal processor. These libraries provide some 50 functions for performing tasks like fast Fourier transforms and spectral filtering. NeXT supports the concept of "shared libraries" in its development environment. This means that multiple applications and processes can share a single copy of executable code from the same object library. Although library sharing was not implemented when we saw the computer, it should improve performance and reduce the memory and storage requirements of applications. --- Tom Thompson & Nick Baran microbytes/features #184, from microbytes, 2053 chars, Wed Oct 12 19:30:07 1988 -------------------------- TITLE: NeXT Laser Printer Resolves At 300 Or 400 DPI Most computer companies are content to settle for 300 dots per inch. But NeXT's approach to the issue of laser printers is to go two steps better: to offer a low-cost 400-dot-per-inch laser printer and to offer PostScript compatibility for a list price -- for the academic community -- of $1995. By off-loading the printer controller from the printer to the NeXT cube, NeXT is able to offer the lowest price yet announced for a PostScript laser printer. The NeXT laser printer will be built around a custom design of the Canon LBP-SX laser engine. It can print eight pages per minute and uses the same toner cartridge as the Apple LaserWriter II printers. A user-selectable printing mode lets the printer produce pages at either 300 or 400 dpi. The printing process involves imaging the page inside the computer cube using Display PostScript, and then "bit-blasting" it to the printer. This is similar to the method used by Apple's LaserWriter IISC, except that the cube uses Display PostScript and the Mac uses QuickDraw. Since massive amounts of data must be transferred to the printer to produce a page, the printer port has its own direct-memory-access channel. This allows the port to transfer data at very high rates: 1.8 megabits per second when printing at 300 dots per inch, and 3.2 mbps when printing at 400 dpi. One limitation of the printer is that it will only work with the NeXT cube. Also, you cannot configure it as a standalone network node, as you can with an Apple LaserWriter on LocalTalk. Users of the NeXT cube will, however, have the option of printing to a non-NeXT PostScript printer using the cube's serial ports and Unix printer drivers. Interestingly, there's no entry-level dot-matrix printer offered for the NeXT system. NeXT is banking on users preferring laser-printed output. Also, a PostScript-based laser printer would take maximal advantage of the Display PostScript graphics used for NeXT's display. --- Tom Thompson & Nick Baran microbytes/features #185, from microbytes, 1011 chars, Wed Oct 12 19:32:18 1988 -------------------------- TITLE: DSP Chip Will Let Cube Be Used In Sound Applications The NeXT Computer comes equipped with a Motorola DSP56001, a CMOS chip designed for data-intensive real-time signal processing applications. This chip will allow the NeXT cube to be used for applications such as voice synthesis, speech recognition, and real-time filtering of digital data. The Motorola chip is able to sample data at a high resolution of 24 bits, providing a dynamic range of 144 decibels. By contrast, the sound on a compact disc has a resolution of only 16 bits. An example of the DSP56001's processing capability is given by one of Motorola's application notes, where the chip is used as a 10-band graphic equalizer for a digital stereo system. As a computer peripheral, the chip could be used in any number of applications: speech synthesis, voice recognition, high- speed modems, image processing, two-dimensional graphics, and real-time filtering of digital data. --- Tom Thompson & Nick Baran Joining next active topic. next/digest #1, from sysmgr, 1067 chars, Tue Oct 11 12:52:21 1988 -------------------------- TITLE: Welcome to the NeXT Computer Conference Welcome to the NeXT computer conference. The first 16 messages in the topic 'main' introduce and describe the NeXT computer. This information will appear -- with photographs and figures -- in the November 1988 issue of BYTE. This First Impression was written by BYTE staff editors Nick Baran and Tom Thompson. next/digest #2, from sysmgr, 174 chars, Wed Oct 12 13:51:03 1988 -------------------------- TITLE: Text Available The complete text of Baran's and Thompson's First Impression is available for downloading. Join the 'listings' topic and download next.arc or next.txt. Joining next active topic. Joining conference 'next', topic 'main'. 20 new messages. Read:all next/main #1, from sysmgr, 1336 chars, Tue Oct 11 11:57:45 1988 -------------------------- TITLE: FIRST IMPRESSIONS -- The NeXT Computer by Tom Thompson and Nick Baran The NeXT Computer With an optical drive, a 25-MHz 68030, built-in floating-point, digital signal processing, 8 megabytes of RAM, Unix, and more, this is a power user's dream machine-but will you be able to buy one? Editor's note: In August, Nick Baran, Tom Thompson, and I attended a marathon, all-day briefing at NeXT's headquarters in Palo Alto. It was the first time a publication was given an in- depth look at what surely is one of the most eagerly anticipated machines in recent memory: the NeXT Computer. On this and several follow-up visits we saw beta versions of the hardware, system software, and some early applications. We met with many of the engineers and programmers who developed the machine's hardware and software, and we spoke with the managers who are determining where NeXT is going and what role it will play in the microcomputing community. We weren't disappointed. This is a milestone machine--one that in all likelihood will cop machine-of-the-year honors all around. BYTE will have ongoing coverage of the NeXT Computer in up- coming issues. We'll report definitive performance figures, for example, after we receive and test a production unit. Here are our first impressions of the beta hardware and software.--FSL next/main #2, from sysmgr, 2013 chars, Tue Oct 11 11:58:51 1988 -------------------------- TITLE: The NeXT Computer It's been a long wait, but it has finally arrived. In early October, Steve Jobs's NeXT, Inc. unveiled the fruit of its creative efforts: a workstation referred to as "the cube." NeXT asserts that the cube, having been designed to meet the computing needs of the next decade, is "the machine for the nineties." A bold statement, to be sure, but the cube goes a long way to bolster that claim: It sports the first commercially available erasable optical drive and advanced VLSI (very large-scale integration) technology, and it comes with a built-in digital signal processor. On the software side, the Unix-based cube features an object-oriented version of C as its standard programming environment. It uses Display PostScript to present a graphical user interface that shields users from the traditionally user-hostile Unix command syntax, and it offers easy access to the cube's considerable power. Targeted initially for the higher-education market, NeXT built the cube with the feedback of an academic advisory council that consisted of researchers and professors from schools such as Carnegie-Mellon, Stanford, and the University of Michigan. The academic bent shows throughout. For example, the digital signal processor can be programmed for real-time laboratory work and demonstrations. The cube's large mass storage and memory capacity make it ideal for accessing substantial libraries of information. And Unix is the multitasking operating system of choice in academia. Although the cube delivers a lot of bang for the buck, it's priced in the neighborhood of $6500 (all prices quoted are aimed at the higher-education market), which may, at least initially, limit its availability to its intended user base: students. The cube's rich features list would surely be appealing to those in nonacademic settings (engineering and science applications come to mind), but we were surprised to learn that for now, NeXT has no firm plans to pursue these markets. next/main #3, from sysmgr, 1876 chars, Tue Oct 11 11:59:53 1988 -------------------------- TITLE: Outward Appearances The cube is starkly simple in appearance and physical layout. The main computer unit is a matte-black cube measuring 1 foot to a side. There are no switches, and no indicator lights. There are two panels covering bays that can hold tow 5.25-inch full-height devices. One bay is occupied by a full-height drive with a wide slot: a magneto-optical drive. The main system unit is a power user's dream: the latest generation Motorola 68030 processor and 68882 math coprocessor, plus 8 megabytes of RAM as standard hardware (a 4-megabyte version of the system is available). An army of connectors (such as a SCSI [small computer system interface] connector and "thin" Ethernet connector) located along the rear of the computer can hook the cube to nearly any peripheral device. The system is designed to avoid the rat's nest of wiring all too common with complex systems. The entire cube system re- quires just one power cable, which connects the main unit to a wall socket. A single 10-foot-long shielded umbilical connects the black 17-inch monochrome monitor to the main unit. This cable carries power for the monitor, video, keyboard, mouse, sound I/O, and auxiliary input signals in a complex shielded array. The black keyboard attaches via a connector to the base of the monitor, whose housing also contains a small speaker, stereo earphone jack, two stereo channel jacks, and a micro-phone jack. A two-button mouse (also black) connects to the keyboard. The beta cubes we looked at were FCC Class A certified. This arrangement is very convenient: Your desk need only ac- commodate the monitor, keyboard, and mouse, and the ample length of the umbilical gives you the freedom to place the main unit well away--say, on a shelf. A key on the keyboard switches the system's power on or off so you don't have to touch the main unit at all. next/main #4, from sysmgr, 7437 chars, Tue Oct 11 12:03:51 1988 -------------------------- TITLE: Fine-Tuned for High Throughput The cube's internal construction mirrors the simplicity of its exterior. The main unit's cubic housing is made of lightweight magnesium. Inside are four 32-bit NuBus slots, one of which holds the system's main CPU board. All the cube's system electronics reside on this densely packed CPU board, which makes heavy use of surface-mount devices; the cube is essentially a single-board computer. With the exception of a bipolar array used to manage the video display and perform Manchester encoding/decoding for Ethernet communications, all the CPU board's parts use low-power CMOS components. A power supply mounts in- side the housing on two screws; the entire box is cooled by a large, quiet, low-speed fan. The nonswitching power supply can handle voltages ranging anywhere from 90 volts to 260 V, and frequencies from 50 Hz to 60 Hz. This means that you can plug in the same hardware almost anywhere in the world without having to set switches. The cube should also prove resistant to the vagaries of commercial electrical power. Its power supply generates 200 watts, of which the monitor uses 50 W, and 25 W is allocated for each slot. NeXT's design for a workstation for the nineties used four important strategies. First, when possible, high-performance components were used. The CPU board is built around the 68030 processor and 68882 floating-point unit, both running at 25 MHz. For SCSI peripherals, the NCR 53C90 SCSI interface chip provides a maximum 4-megabyte-per-second transfer rate. That's considerably faster than the 1.5-megabyte-per-second rate of the older NCR 5380 chip. For mass storage, an optional high- speed hard disk drive using the SCSI bus is available. This hard disk holds 670 megabytes of formatted data and has an average seek time of 18 milliseconds. However, even a high-performance processor can be slowed to a crawl if it must service every I/O call, or wait on slow peripherals. (Steve Jobs put it this way: "MIPS is only one- third of the equation; sustained system throughput is the key.") So, the second part of NeXT's design strategy was to minimize the overhead of communicating to the outside world by offloading as much I/O from the CPU as possible onto smart I/O processors managing each peripheral. This happens to be a matter of necessity given the amount of I/O the cube is doing. Consider that the cube's synthesized digital sound is handled by a Motorola DSP56001, a 20-MHz digital signal processing (DSP) chip. The DSP56001 provides the cube with its ability to synthesize compact disk-quality stereo sound--no mean feat when you consider it must handle two channels of 16-bit data sampled at 44.1 kHz. Although the primary function of the DSP is to minimize system overhead while processing high-quality sound, you can program the DSP56001 to manipulate any sort of digital data, say, signal filtering or image processing (see "The Cube's Digital Signal Processor" below). The DSP makes the cube an excellent machine for laboratory and experimental work. That's only part of the O/I traffic. Looking at the back of the cube, we counted no less than seven I/O ports. These include the following: * A DB-19 monitor port carries all video signals, video data, control signals, mouse movement, stereo sound, and 12V DC power to the NeXT monitor. Both the sound I/O data and video data (1 pixel every 10 microseconds) are managed by dedicated DMA (direct memory access) channels. * A "thin" coaxial Ethernet port operates at 10 megabits per second and is driven by an AM7996 Ethernet transceiver chip. * A DB-9 serial printer port drives the NeXT laser printer (see "The NeXT Laser Printer" below). This port transfers data at 1.8 mbps when printing at 300 dots per inch, and 3.2 mbps when printing at 400 dpi. * A DB-25 SCSI port. Its signals are identical to those of the Apple Macintosh SCSI port. As mentioned earlier, the SCSI bus can transfer data to a peripheral at up to 4 megabytes per second. * Two serial ports that use the Macintosh mini DIN-8 serial connectors and signals. Both serial ports can handle up to 230.4K bits per second synchronously (the same as Apple's LocalTalk), and 38.4K bps asynchronously. * A DB-15 DSP port connects to both the asynchronous (SCI) and synchronous serial (SSI) channels on Port C of the digital signal processing chip. This port can be used to receive or output digital data. Looking inside the case, the main CPU board has two more ports: a 20-pin connector for the optical disk drive, and a 50- pin SCSI connector for a hard disk drive. Finally, inside the cube's housing are four 32-bit NuBus slots. Each slot uses a Eurocard type C connector. NeXT has implemented a CMOS NuBus with twice the data rate of the standard NuBus for its back- plane bus. The CPU board assumes the ID of the slot it occupies. Although they're not used for outside communications, each of these devices can make demands on the system. For digital sound synthesis, there happened to be an off-the- shelf component--the DSP56001--that could be assigned the job. Unfortunately, there aren't high-speed processors available that could deal with the rest of the system's I/O, and certainly none that could handle the magneto-optical drive. Two custom VLSI chips were designed to manage the cube's remaining I/O subsystems. These chips handle the SCSI interface, the magneto- optical drive (including error-correction logic), the serial ports, and Ethernet transfers. Both these chips pack a lot of components: According to NeXT, each chip contains about 10 times the amount of logic circuitry used by an entire Mac II. But there's still a problem lurking here, subtly related to I/O: how to manage data to and from these I/O processors. If the CPU must periodically transfer data between memory and the various I/O processors, the system's performance is still degraded. NeXT's third design strategy was to improve data throughput within the system itself by managing these transfers with custom DMA hardware. This DMA hardware is implemented in one of the same VLSI chips that helps manage the system I/O. There are no less than 12 DMA channels on the main CPU board. They include the following: * two Ethernet channels (one for transmitted data, one for received data), * one video channel, * one serial channel (for both serial ports), * one DSP channel, * two disk channels (one for the magneto-optical drive, one for a SCSI hard disk drive), * one printer channel, * one memory-to-DMA register channel, * one DMA register-to-memory channel, and * two sound channels (one for input, one for output). For the memory-to-register and register-to-memory DMA channels, "register" corresponds to a 16-byte register buffer in the DMA hardware. The contents of these registers can be copied repeatedly under DMA control to memory. An example of this would be to copy a background pattern for the video display into the DMA registers, and then use the register-to-memory DMA channel to copy the pattern into all of the video memory. The final aspect of NeXT's overall design strategy to improve throughput is that when the 68030 processor must access memory, it attempts to do it efficiently. The 68030's burst read cycle is used where possible, since this mode allows four long words (128 bits) to be transferred in 9 clock cycles, instead of 16 clock cycles--roughly twice as fast. next/main #5, from sysmgr, 5399 chars, Tue Oct 11 12:06:40 1988 -------------------------- TITLE: Memory and Mass Storage One way to improve system performance is to keep as much of the executable code in memory as possible, particularly where multitasking is concerned. The cube has no problem in this area: It comes equipped with 8 megabytes of 100-nanosecond SIMM-mounted RAM. The main CPU board has 16 SIMM (single in-line memory module) sockets, and 8 of these are populated with the standard RAM. You can add additional 1-megabit-density SIMMs in 4-megabyte increments to expand system RAM to either 12 megabytes or the maximum of 16 megabytes. Also located on the main CPU board are 32K bytes of 45-ns static RAM. 8K bytes of this SRAM are used for the magneto- optical disk buffers, and 24K bytes are allocated for the DSP56001. There are also 256K bytes of dual-ported video RAM for the video display. A 128K-byte PROM contains the bootstrap and some diagnostic code for the cube. This bootstrap code simply loads the Unix kernel and starts it. There are no special graphic or system functions similar to the Macintosh Tool- box embedded in this ROM. The operating system, drivers, and custom display software reside on the boot drive. The most interesting peripheral on the cube is its read/write magneto-optical drive. The optical drive fits into a 5.25-inch full-height bay on the cube and has a slot to accept an optical cartridge. The cartridge is removable through a software- actuated eject mechanism using an internal motor. The optical cartridges themselves resemble overgrown 3.5-inch floppy disks, complete with a rigid shell and shutter door, but the resemblance ends there ;each optical cartridge holds a whopping 256 megabytes of user data. This allows you "to take your entire world with you" since the Unix kernel, the bundled applications software, and lots of user data will fit on a single cartridge. The optical platter is composed of the same clear rigid polycarbonate material that's used in CD-ROMs. Embedded within the platter is a layer of reflective aluminum backing that's overlaid with a magneto-optical substrate. The platter rotates inside the cartridge at 3000 revolutions per minute, 10 times the rotation speed of a CD-ROM, and almost as fast as a hard disk drive. How does the magneto-optical drive work? A single laser per- forms both read and write operations. To write data to the disk, the drive first applies a magnetic field to the platter. The orientation of the magnetic field determines the data to be written to the platter--either a 0 or a 1. The magnetic field is first oriented to write 0s at the start of what's called the erase pass. The laser uses a high-power beam to heat a sector on the platter's substrate to its Curie point--the temperature at which the crystals in the substrate "forget" their previous orientation and reorient themselves to the surrounding magnetic field. All the data in the target sector is thus erased to 0s. Next, the magnetic field is oriented to write 1s in the write pass, and at every spot in the sector where a bit must be set to a 1, the laser again heats the substrate to the Curie point. Finally, the sector is read in a verify pass to check the accuracy of the data. To read data off the platter, the drive removes the magnetic field, and the laser directs a low-intensity beam at the platter. The beam travels through the substrate and is reflected off the aluminum backing. However, in a phenomenon known as the Kerr effect, the crystal alignment in the magneto-optical substrate alters the polarization of the reflected beam. The amount of beam polarization determines its intensity as it passes through a polarizing filter to a photodetector. The beam intensity indicates whether a 1 or a 0 was read at the spot on the platter. The optical drive's I/O processor uses a robust error- correction coding to protect the integrity of the data read from the platter. (In addition to the 256 megabytes of user data, each cartridge carries a 30 percent overhead just for the error-correction code.) Data and its associated ECC information is read from the disk and fed into one of two 1296-byte buffers located in high-speed SRAM. As the data is checked and corrected for errors, it is transferred to the second buffer. It's the contents of this second buffer that is actually used by the system. While the operation of the magneto-optical drive seems simple in principle, the new technology needed to make this storage device possible was considerable. NeXT admitted that it had literally "gambled the company" on this technology becoming available for use in the cube. But it did work, and one magneto-optical drive comes standard on the cube. While the drive is designed to boot and run the operating system, its 96-ms average seek time may prove a bottleneck in some applications. For the beta software, if you were using the magneto-optical drive as the system disk, you could not remove the cartridge without rebooting the system. However, NeXT plans to modify the software so you can copy files to another optical cartridge with a single magneto- optical drive. Optical cartridges are expected to cost $50 initially, al- though the price may fall as they are produced in volume. Since the cube has room for an extra 5.25-inch full-height device, you can purchase either a second optical drive for $1495, or the 670-megabyte hard disk drive for $3995. next/main #6, from sysmgr, 2189 chars, Tue Oct 11 12:07:51 1988 -------------------------- TITLE: Getting the Picture As we used the cube, we couldn't help being impressed by the crisp quality of its display. This is no accident: The 17-inch NeXT monochrome monitor has an ample 1120- by 832-pixel display that contains more pixels than most 19-inch monitors (which usually have 1024 by 768 pixels). The monitor has a 94-dpi screen, as compared to the Macintosh's 72-dpi screen. However, this display is only 2 bits (four gray levels) deep. The graphic interface looks very good and makes effective use of the four gray levels. A 17-inch monitor was chosen for the video display as a compromise between display size and weight. On the monitor's base are two small tractor-style wheels that let you move the monitor easily across a table surface. The video display has a bandwidth of 100 MHz, with a vertical refresh rate of 68.3 Hz. The monitor uses the positive and negative 12 V DC supplied by the cube's monitor port for power. Inside the monitor's housing are two boards. A step-up trans- former on the first board generates the high voltages required to drive the video tube. The second board handles the rest of the I/O managed by the monitor: keyboard, mouse, and sound. The 84-key keyboard connects to a port located on the monitor's base. The keyboard also has cursor keys, a numeric keypad, a power-on/power-off key, and pairs of keys that control the volume and screen brightness (pressing one key in- creases the chosen output; pressing the other decreases it). There are two Command keys and two Alt keys (located on opposite sides of the keyboard) that are mapped separately. There are no PC-style function keys. A two-button optomechanical mouse also connects to a port on the keyboard. There are also left- and right-channel analog stereo jacks, and a jack for stereo headphones on the monitor's base. There's also a jack for a microphone so you can record sounds through the monitor, say, for voice mail. This port uses a telephone coded input that's sampled at 8 kHz, and it uses 8-bit Mu-law scaling for the digitized data. The data is saved within a Sound object that can be utilized by the NeXT Unix mail facility or by NeXT applications. next/main #7, from sysmgr, 1376 chars, Tue Oct 11 12:08:39 1988 -------------------------- TITLE: The Software As much as the NeXT hardware represents an impressive step forward in areas such as digital signal processing, optical disk storage, and VLSI technology, the NeXT system software is a step forward for software technology. The system offers an easy-to-use graphical interface to Unix and an object-oriented programming environment for programmers and software developers. It's an understatement to say that NeXT expects Unix to catch on. Steve Jobs told us, "I believe this with every bone of my body: Unix will be the prime operating system of every major company in the 1990s." So it's not surprising that the cube is a Unix-based system. It features a proprietary windowing system that is designed to shield the Unix command-line interface (CLI) from the user, substituting simple point-and-click mouse operations to manage files and execute applications. NeXT also uses Adobe Systems' PostScript imaging model (often referred to as Display PostScript) for displaying all text and graphics on the screen. Display PostScript is an extension of the PostScript page- description language (see "Display PostScript" below). The NeXT system software also includes development tools for building application interfaces and integrating objects into application programs. These tools are called the Interface Builder and Application Kit, respectively. next/main #8, from sysmgr, 2944 chars, Tue Oct 11 12:10:12 1988 -------------------------- TITLE: The Operating System NeXT uses the Mach Unix kernel developed at Carnegie-Mellon University. The Mach kernel is compatible with BSD (Berkeley Standard Distribution) Unix version 4.3, but provides major enhancements such as shared memory, fast interprocess communication, and potential multiprocessing support through the use of threads. Shared memory allows multiple processes to share com- mon segments of memory. IPC allows processes to communicate with other processes and to transmit messages and data between them. Threads are "lightweight processes" that have their own execution stack, but within the context of a the task that created it (i.e., the thread has access to all the resources made available to the parent task such as memory, and opened files). Multiprocessing support is possible by assigning threads to particular processors. However, multiprocessing is not sup- ported in the initial release of the NeXT operating system. Since you can add multiple CPU boards to the cube's backplane, we can expect to see multiprocessing support in later releases of the operating system. In NeXT's first release, the operating system consists of a single kernel with the Mach implementation of IPC, scheduling, and virtual memory operating as a layer within the BSD Unix kernel. However, the ultimate goal of the Mach implementation is to provide a modular architecture for Unix that would allow for a much smaller kernel with separate processes dedicated to file handling, networking, and Transmission Control Protocol/Internet Protocol (TCP/IP). Like most Unix-based systems, the cube implements virtual memory using a paged-memory system to allow applications to run even if their memory requirements exceed the available physical memory. Idle portions of a running application are "paged" (i.e., written to disk) in 8K-byte blocks, called pages. However, as in all virtual-memory systems, it is possible to overload the system with too many applications, causing excessive paging or "thrashing," which can bring the system to a crawl. While NeXT was not ready to provide numbers for the amount of memory consumed by the system software, the 8-megabyte base memory configuration is designed to allow "three or four" applications to run simultaneously in addition to the system software. For networking, NeXT uses TCP/IP and Sun's Network File System, which has become the standard Unix file-sharing system. Since the cube comes with an Ethernet interface, it is "network-ready" for TCP/IP-based networks. The thin Ethernet cabling allows up to 600 feet of cabling and connection of up to 30 machines without gateways or repeaters. While NFS does not require one, a dedicated server is preferable in networks of more than a few machines, due to performance degradation. In other words, if you're planning to network a bunch of cubes, you'll need a dedicated NFS server, or a cube to serve that purpose. next/main #9, from sysmgr, 3846 chars, Tue Oct 11 12:12:14 1988 -------------------------- TITLE: User Interface and Window Server NeXT provides a graphical windowing interface to Unix that hides the laborious Unix commands from the user. While veteran Unix users still have the option of issuing those intuitive commands (like grep and ls) within a Unix CLI window called the Console, most cube users should never have to deal with Unix. The windowing interface, called the Workspace Manager, provides all the necessary functions for file management, opening and closing applications, and communicating with other resources on the system such as peripherals or nodes on the network. The main interface screen is called the Workspace. Noticeably absent from the screen is the ever-present menu bar found on the Macintosh screen, or on a PC running Windows. Unlike the Macintosh Desktop, menus can be moved anywhere on the Workspace and float above any open windows. Menus are hierarchical, and you can split off subhierarchies from their parent menus. Windows have scroll bars located on the left and bottom, and there are small boxes on the window frame for resizing or closing the window. It also has a "mini- world" function that collapses the window and its menus into an icon while the process owned by the window continues to run. Icons become transparent when they overlay other icons, al- lowing you to always see everything that's currently available on the Workspace. The icons of frequently used applications can be "docked" along the right side of the Workspace for easy recall. The Workspace is similar to the Desktop metaphor on the Macintosh, and the Workspace Manager is analogous to the Mac's Finder. However, no one will accuse NeXT of copying Apple's look and feel. File management operations are similar to those used by the Mac Finder. When you click on a directory in the Workspace, you can examine the directory in a number of ways. There is a "browser window," which displays the directory tree in a window with the directory hierarchy ordered from left to right on the screen. This browser window normally lets you see three levels deep, but you can position the point in the hierarchy where you wish to view files, or resize the window to examine additional levels. You can also choose to view the directory as icons with subdirectories represented by folders, or as a conventional text-only Unix directory listing. The version we saw was definitely beta, so the final word on the Workspace will have to wait. Nevertheless, it seems very intuitive and easy to learn. Its performance seems good, and the display quality is excellent. Rather than use an existing Unix window server such as X- Windows, NeXT designed its own proprietary Window Server. The Window Server manages all interactions between the windows, keyboard, and mouse for all applications attached to it. The Window Server obtains events from the operating system and handles the ones it can (e.g., resizing a window or moving it to another part of the screen). If it's not an event that it can service, the Window Server determines which application can and dispatches it to that application. Embedded inside the Window Server is the Display PostScript interpreter, which acts on the PostScript commands passed to it. This embedded interpreter executes the PostScript commands it receives and writes the results into the cube's video RAM, making it appear on the monitor. The Window Server supports Mach IPC connections as well as connections through TCP/IP, allowing other cubes on a network to access another machine's Workspace. The proprietary Window Server means that existing applications that run on other Unix windowing systems will have to be modified to run under the NeXT windowing system. How-ever, a Unix application that uses conventional console I/O will run inside the Console window without modification. next/main #10, from sysmgr, 4489 chars, Tue Oct 11 12:14:31 1988 -------------------------- TITLE: The Development Environment The primary objectives of the NeXT programming environment are to simplify the development of interactive user interfaces and to simplify the creation of new applications through the use of object-oriented programming. Other systems employing graphical interfaces--like the Macintosh, for example--are great for the end user but extremely complex for programmers, particularly in developing a working user interface. To ease the burden of this task for the developer, the NeXT system includes tools for building interfaces to the NeXT windowing system, and also tools for object-oriented programming. The NeXT system software includes an ANSI C compiler and an object-oriented preprocessor called Objective-C, developed by Stepstone Technologies. Objective-C allows you to define objects as groups of C procedures. NeXT provides several libraries of ready-to-use objects, calles kits, for integration into Objective-C programs. These kits provide a library of around 34 objects for implementing the core functionality of a NeXT application, although a programmer would normally use only a small subset of these objects. This library is known as the Application Toolkit, and the Objective-C interface can access it directly. Object-oriented programming allows a one-to-one correspondence between objects on the screen and objects in your program. An object consists of data (called instance variables) and executable code. If the object is to be visible on the screen (a window, for example), the code also contains an entity called drawSelf:: that's composed of C code, Objective-C code, and PostScript code, which is used to describe the appearance of the object to the Window Server. Probably the key concept with respect to user interfaces is that objects can respond directly to messages generated by user actions. Rather than having to write lines of conditional statements in C code to respond to user actions, the user actions are interpreted as messages other objects can understand. For example, you might have an object in your program called "Window," which can understand the "Close" message sent by a user response. NeXT provides a program called Interface Builder that allows you to interactively build user interfaces for your programs. Interface Builder lets you design the layout of a graphical user interface by selecting buttons, menus, and other objects from an object library to include in your application. This function is somewhat similar to ResEdit on the Macintosh. However, Interface Builder goes further--it allows you to define connections between objects. That is, Interface Builder lets you specify actions for the objects to perform in response to user actions on other objects. For example, you could build a Beeper button object into your program interface simply by selecting a prototype button from Interface Builder's on-screen inventory, moving it to where you want on the screen, giving it a label, and assigning an action (say, emit a beep) to be performed when a user clicks on the button. This is similar to the function of Hyper-Talk in Apple's HyperCard program. The big difference, however, is that Interface Builder generates the binary description of the object that you can integrate into programs. You can also create custom objects by selecting an object that most closely resembles what you want and customizing its appearance and behavior. NeXT's goal is to supply enough objects so that a programmer could select objects and define their connections, making it possible to built an application from scratch writing little or no code. In addition to the Application Kit and Interface Builder, the NeXT system software includes kits for working with music and sound. The Music and Sound Kits provide objects for integrating these features into your programs. There is also a number of library functions (not objects) that allow you to tap into the processing capabilities of the DSP. These libraries provide some 50 functions for performing tasks like fast Fourier trans- forms, and spectral filtering. NeXT supports the concept of "shared libraries" in its development environment. This means that multiple applications and processes can share a single copy of executable code from the object library. Although library sharing was not implemented when we saw the cube, it should improve performance and reduce the memory and storage requirements of applications. next/main #11, from sysmgr, 1470 chars, Tue Oct 11 12:15:20 1988 -------------------------- TITLE: Applications NeXT will bundle several applications with the machine. These include the word processor, WriteNow, that is owned by NeXT and is currently distributed by T/Maker for the Macintosh. The system software also includes the standard Unix Mail program equipped with a graphical front end that can attach voice messages to mail files, a file-searching program called Find, C and Objective C, a symbolic debugger, and on-line documentation. It also has educational and reference tools such as Webster's Dictionary, the complete works of Shakespeare, and Mathematica from Wolfram Research (see "Bundled Software" below). A personal text database allows you to automatically index all your word processing and electronic mail communications so you can recall documents or memos based on keywords instantly. An important goal of the NeXT software environment is the development of "digital libraries." With its erasable 256- megabyte magneto-optical disk, NeXT hopes to promote the idea of easily accessible text databases. In the educational market, these databases will include encyclopedias, dictionaries, textbooks, and other reference works. NeXT's first software release lays the groundwork for the company's plans for the nineties. The DSP and the kits for programming it offer exciting possibilities for new real-time applications. It will be interesting to see how the software will be used and what new applications will be developed. next/main #12, from sysmgr, 3983 chars, Tue Oct 11 12:17:26 1988 -------------------------- TITLE: One Giant Step Forward? The cube is an impressive technical achievement. We liked the carefully thought-out design that didn't just use fast components, but covered every aspect of moving information through the system. The choice of NuBus for the backplane bus is an excellent one; it goes a long way toward providing the hardware support for the cube's planned multi-processing capability Considering the amount of information that the machine is expected to use, the high-capacity magneto-optical drive is a good design choice. The graphical interface uses the well- documented PostScript imaging language and goes a long way toward hiding the uglier side of Unix from the user. The facility with which NeXT's object-oriented programming environment reduces the work needed to write an event-driven program is also impressive It is indeed a machine for the nineties. It represents a bold step forward both in hardware and software design and effectively redefines what constitutes "standard equipment." However, as we go to press, some big questions remain un- answered. One relates to the performance of the machine. In our limited time with several beta cubes, it was difficult to judge the overall performance. Display PostScript operations were very fast, putting to rest the controversy of Display PostScript's performance, at least as far as the cube is concerned However, disk read/write operations seemed pretty slow-- perhaps because so much beta debugging code was being carried along as baggage, and because library sharing was not yet implemented. We saw the magneto-optical disk drive in operation, but it still had some operating bugs, and its 96-ms access time might be a source of frustration if it's used as the main system drive. At this point, we cannot comment on its reliability Another question is whether software developers will support NeXT. The primary obstacle to the acceptance of Unix in the general marketplace has been the lack of software applications. Software developers are faced with choosing between Macintosh, OS/2, DOS, and now a new version of Unix with a proprietary windowing system. To be successful, NeXT will need substantial support from software developers; at the time of our visit, only about 10 developers had signed on, and NeXT would not release their identities The concern about outside development is perhaps tempered by two facts. First, the object-oriented environment should simplify moving existing Unix programs to the machine. Second, each cube is a complete development system, since all the development tools--compilers, object libraries, and Interface Builder, are bundled with the machine Then there's the question of NeXT's target market--higher education. While the machine is certainly a perfect fit for the university community, universities are not known for being big spenders. Certainly, many students will have a hard time coming up with $6500 or more for a computer, let alone another $1995 or so for the laser printer, and perhaps $1495 for a second magneto-optical drive for backups Of the cube's design, Jobs told us, "If you want to make a revolution, you have to raise the lowest common denominator." That's true, but you also have to get the product into the hands of enough revolutionaries to make a difference. Yet it's clear NeXT is thinking small, at least in terms of initial marketing Dan'l Lewin (NeXT's vice president of marketing and sales) told us, "We built the company not to need huge numbers." And Jobs said, "We'll focus on other markets in the future, but we're not going to do it today. There's no reason why we can't do very well in [the educational] market alone." Perhaps. But considering the machine's capabilities, we can't help but wonder if NeXT is being too conservative in its marketing plans. If so, it seems that NeXT may have to be able to endure some lean years until the machine catches on in the early nineties. next/main #13, from sysmgr, 6238 chars, Tue Oct 11 12:20:39 1988 -------------------------- TITLE: The Cube's Digital Signal Processor The Cube comes equipped with a Motorola DSP56001, an 88-pin CMOS chip designed for data-intensive real-time signal processing applications. At the core of the chip are three execution units--data arithmetic logic unit (ALU), address-generation unit, and program-control unit--that operate in parallel to provide the necessary throughput. The DSP works with 24-bit digital data, providing 144 decibels of dynamic range. Two internal 56-bit accumulators provide 336 dB of dynamic range during arithmetic operations so the precision of the intermediate results is retained during data processing. The DSP56001 is programmable, allowing it to be tailored for a specific purpose. The 16-bit address-generation unit, combined with hardware select lines for program code or data, can access three separate 64K words of an external memory space (192K words total, where a word is 24 bits of data). The DSP56001 has on-chip program memory composed of 512- by 24-bitwide RAM cells, of which the bottom 64 cells are used for interrupt vectors. DSP programs can occupy the remaining memory, or if they're large, they can reside in the external program space. In the latter case, the on-chip program memory can serve as a fixed cache. Program instructions are 24 bits wide, and each bit is significant. On the cube,t he DSP56001 is clocked at 20 MHz, and instructions execute every two clock cycles to give the chip a 10- MIPS (millions of instructions per second) rating. The DSP instruction set consists of 62 mnemonics that include math, logical, bit-manipulation, loop, and program-control instructions. The math instructions encompass such operations as absolute value, add, subtract, shift left/right, shift left/right and add (useful for implementing the butterfly computation in certain fast Fourier transforms), compare, signed multiply, signed multiply and accumulate, and signed multiply accumulate and round (MACR). All these instructions--notably some of the math instructions just mentioned--are not pipelined and execute in one instruction cycle (two clock cycles). For example, as the MACR instruction executes, an instruction prefetch, 24- by 24-bit multiply, 56b-it add with convergent rounding, two data moves, and two pointer updates are performed, and all within one instruction cycle. Such powerful instructions are possible because of the parallel operation of the three execution units. These powerful arithmetic instructions, coupled with its high through- put, allows the DSP56001 to literally process data on the fly. Inside the DSP56001 are four 24-bit bidirectional data buses: X, Y, program, and global. Digital data is split into X and Y components and can be treated as such in two separate 64Kword external memory spaces. On the cube, 24K bytes of static RAM provides 8K words of contiguous scalar data, or 4K words of X and Y data. How this data is ordered in SRAM on the cube is determined by what range of addresses you write into in the chip's external memory space. The two 56-bit accumulators in the data ALU can operate on the X and Y data sets in parallel. Breaking the data into X and Y components provides certain advantages. For example, the data can be treated as X and Y coordinate data for image processing or graphics, or as real and imaginary components for complex math, or as coefficients and data for digital filtering. Each X and Y data bus has an on-chip memory composed of 256- by 24-bit cells that is used to improve performance. The program bus prefetches DSP program instructions into the on-chip program memory. The global bus is used for internal data routing within the DSP. The DSP56001 has three I/O ports: A, B, and C. Port A has a 24-bit bidirectional data bus, and the address unit can access external memory for off-chip program code or data. Various control lines determine operations such as whether to access pro- gram or data memory, X and Y data, and if the operation is a read or a write. Port B handles 8-bit data to and from a host processor that could be a CPU, DMA (direct memory access) hardware, or even another DSP. Control signals for this bus permit interrupt- driven or DMA transfers of data. Port C consists of two full-duplex serial ports. The first port is the serial communication interface (SCI) that provides standard asynchronous rates up to 312.5K bits per second, and up to 2.5 megabits per second for synchronous data transmission. Although these signal timings are RS-232C-compatible, the voltage levels range from 0 volts to 5 V, so a line driver is required to produce a trueR S-232C signal. The second port is the synchronous serial interface (SSI) and is a programmable serial interface. You can set the number of bits per word, protocol, clock rate, and mode as required to transfer data at up to 5 megabits per second to and from a variety of peripheral devices. An example of the DSP56001's processing capability is given by one of Motorola's application notes, where the chip is used as a 10-band graphic equalizer for a digital stereo system. In this document, a compact-disk digital stereo signal (two channels of 16-bit data sampled at 44.1 kHz or 88,200 16-bit digital samples a second) goes through the DSP56001's SSI on port C. Next, realtime digital filtering is performed on 20 bands (10 bands per channel), and the filtered data returns to the stereo system, again via the C port's SSI. This admittedly down-to-earth example shows the processing power that the DSP56001 can bring to bear on a problem. The sampling rate of the DSP56001 depends on the amount of data processing going on at the same time, but it can reach a maximum of 1.66 megawords per second. As a computer peripheral, you could use the chip in any number of applications: speech synthesis, voice recognition, high- speed modems, image processing, two-dimensional graphics, and real-time filtering of digital data. Although the signed 24-bit resolution may seem limiting for some scientific and engineering applications, you can always use the cube's math coprocessor. But for those problems that do fall within this range, the DSP56001 will be more than adequate. next/main #14, from sysmgr, 1673 chars, Tue Oct 11 12:21:34 1988 -------------------------- TITLE: The NeXT Laser Printer Let's face it: There are certain situations in your computer work where you must have printed output. NeXT's answer to this problem is a low-cost 400-dot-per-inch laser printer. There's no entry-level dot-matrix printer offered; NeXT is banking on users preferring laser-printed output. Since the cube handles screen imaging with Display PostScript, it also makes sense to take advantage of a high-resolution PostScript-compatible printer. The printer costs $1995 The NeXT printer is built around a custom-designed laser engine based on the Canon LBP-SX laser engine. It can print eight pages per minute and uses the same toner cartridge as the Apple LaserWriter II printers. A user-selectable printing mode lets the printer produce pages at either 300 or 400 dpi. The printer has its own power cord, and the power supply is set for 110 volts or 220 V levels with a switch The printing process involves imaging the page inside the cube using Display PostScript, and then bit-blasting it to the printer. This is similar to the method used by Apple's LaserWriterII SC, except that the cube uses Display PostScript, and the Mac uses QuickDraw. Since massive amounts of data must be transferred to the printer to produce a page, the printer port has it sown direct-memory-access channel One limitation of the printer is that it will only work with the cube. Also, you cannot network it like PostScript printers that use Apple's LocalTalk, although you could use a cube with a NeXT laser printer to act as a print server on a network. The cube can print to non-NeXT PostScript printers using its serial ports and Unix printer drivers. next/main #15, from sysmgr, 6632 chars, Tue Oct 11 12:25:00 1988 -------------------------- TITLE: Display PostScript Display PostScript is an extension of Adobe's PostScript page- description language (PDL) and is designed as an imaging model for graphics displays. In theory, software developers could write the display portions of their applications just once using Display PostScript: These applications would run without modification on any computer and operating system that supports Display PostScript. Another major benefit is that the image on the screen would reproduce identically on a printer supporting the PostScript PDL. Display PostScript is device-independent, an important feature when you consider that specific dimensional sizing is display-dependent in most graphics handlers. For example, if you write a Display PostScript routine to draw a 2inch square on the screen, the routine will always draw a 2-inch square on any display supporting Display PostScript, regardless of the resolution, color capability, or size of the output device. In other words, Display PostScript permits a "non-unitized" description of an image until it is interpreted for a particular display. This non-unitized approach is in contrast to pixel-based graphics handlers that can only handle proportional sizing. Of course, you can also specify proportional sizing in Display PostScript. Additionally, Display PostScript automatically uses the maximum color capabilities of the host display, whether it has just black and white, or 16 million colors. The programmer does not have to worry about the characteristics of the output device while writing the application. The core of Display PostScript is called the DPS Kernel. The DPS Kernel is an interpreter that translates PostScript routines into the images on the screen and is designed to be machine-independent. The DPS Kernel is supplied precompiled in object format to the OEM. In addition to the Kernel, Adobe supplies the OEM with "front- and backend" adapters that consist of source code for interfacing to the display devices, the operating system, and the windowing system. The Display PostScript adapters become part of the host computer manufacturer's system software. Of course, modifying these adapters for the host computer system is not a trivial task, and it is usually undertaken by the OEM as a joint or cooperative effort with Adobe Systems. Again, the important point here is that the software developer need not worry about these "adapters." The main underlying concept of Display PostScript is to isolate the display operation from not only the host computer's operating system but also from its windowing system. The core of Display PostScript fits inside the host windowing system, which in this case is the NeXT windowing system, although it could be anything from Microsoft Windows to X-Windows to QuickDraw. While the windowing system handles functions such as cut, paste, and copy, and manages the window boxes on the screen, Display PostScript handles the actual painting of the window's contents. Thus, routines for displaying icons, text fonts, and graphics images have to be written only once using Display PostScript. However, the software developer still has to write separate window calls for each windowing system. Programmers can use the Display PostScript language directly, or they can use a library of C procedures called PSWrap, which is recognized and interpreted by the DPS Kernel. NeXT fully supports the PSWrap library, but has added many of its own procedures. Some of these are used by the Application Kit to create and manage windows; other procedures handle events, mouse, and cursor operations; and still others support "compositing." The compositing procedures are multi-bit pixel operators designed by NeXT's sister company, PIXAR. Each pixel has two values associated with it: its data value (or color), and its alpha value (the data's transparency or opacity). On the cube's 2-bit display, compositing makes an icon transparent as it moves over another object on the screen. These compositing operators are easily extendable and will allow the NeXT software to migrate to color displays when the time comes. From brief glimpses of alpha versions of Display PostScript, several industry observers have concluded that Display PostScript has serious performance problems--it is too slow. Adobe Systems vehemently denies this and says critics have jumped to conclusions based on these preliminary demonstrations. -Adobe says Display PostScript is very fast provided the code is written properly. A number of techniques have been developed to improve Display PostScript's performance, including a binary preprocessor (described below), graphic state objects (multiple PostScript graphic states that can be switched quickly by changing a pointer), and user paths (an aggregate of PostScript drawing commands that represent a PostScript path). NeXT uses these techniques and its own compositing functions to boost the speed of the display. As an example of how binary encoding works, say we want to issue the PostScript operator 72 426 moveto. Normally the DPS kernel would have to translate the ASCII digits 72 and 426 into a floating-point format, and the ASCII moveto operator into a binary code. A lookup table uses this binary code in the DPS Kernel to steer execution to the routine that implements the moveto operation. A NeXT application normally calls a PSWrap function, PSmoveto(fs1>), that passes the IEEE 754 floating- point values of the numbers to the DPS Kernel, along with the corresponding binary code for moveto. This effectively eliminates the overhead of the ASCII translation stage for the DPS Kernel. The NeXT DPS Kernel can process ASCII PostScript commands if required. Display PostScript has one major limitation in that it does not support three-dimensional imaging. It is therefore not suitable for CAD software. Adobe admits that Display PostScript is not intended for high-end mechanical design applications. (Steve Jobs said that NeXT will support the Renderman Standard, which he called "the PostScript of three-dimensional graphics.") Display PostScript has some very compelling features for software designers and for end users. It could greatly facilitate the porting of software applications across incompatible hardware systems. But the various competitors for display standards--such as IBM and Apple--will have to make some com- promises before Display PostScript can succeed. Until these compromises are made, both the end user and the software developer will continue to be plagued by an incompatible world of competing display standards. next/main #16, from sysmgr, 1538 chars, Tue Oct 11 12:26:21 1988 -------------------------- TITLE: Bundled Software Here is a list of the software that is scheduled to be bundled with the NeXT Computer. It includes the Mach operating system and its development software. Also included are the works of Shakespeare, a dictionary, and a thesaurus. You can call up quotations or the dictionary entry for a specific word at any time by using the cube's Find function. This capability would be valuable not only to college students and faculty members, but to anyone who has to write frequently--whether it's a business proposal or a technical document. System software: Mach operating system PostScript Window Server and fonts System administration tools Development tools: GNU C compiler GNU debugger GNU EMACS Objective-C 4.0 Berkeley Unix utilities Terminal emulator Window-based text editor Interface Builder Object-oriented software kits: Application Kit Sound Kit Music Kit High-speed text-retrieval application (called "Find") Standard reference works: Merriam-Webster's Ninth New Collegiate Dictionary Merriam-Webster's Collegiate Thesaurus The Oxford Dictionary of Quotations Documentation for all bundled software: User's and programmer's manuals Literature: Oxford University Press' William Shakespeare: The Complete Works User-created text files, such as mail or documents Applications: Personal text database Electronic mail application with graphical interface and ability to attach voice messages Word processor Window-based file manager Mathematica (Wolfram Research, Inc.) next/main #17, from tmarshall, 1535 chars, Wed Oct 12 16:31:09 1988 There is/are comment(s) on this message. -------------------------- TITLE: Congratulations Ok, guys..congratulations..an excellent package. I have a few questions, however. Firstly, what do you pay for your 25Mhz 68030's (no..just kidding, really...). The NuBus slots..I infer that 3 are available for 3rd party products (like our 29000 based coprocessor). Are they the same physical dimensions as in the Mac II? Is 10 watts available per slot? Is the inter-card spacing 0.9in? How does an impecunious company (such as mine) go about starting to develop a software interface to marry our coprocessor to the Cube? Is there a developer strategy like Apple has? How well documented is the Unix at the moment? 1 Video pixel every 10 microseconds. Isn't that a bit slow? CMOS NuBus..geez not another YAB (yet another bus). Where do I get the specifications for it? How can I be sure it will run with other NuBus cards developed for the 'old' NuBus? Monochrome monitor??yuk..How long before color? You try looking at some finite element visualizations in 4 shades of grey...oh well...I guess I used to have to make do with black and white once upon a time.... Voice mail to message files...right on...now lets see..if I started sending my Bixmail with binary voice attached then all my friends would need to a. go buy a Cube or b. forget me It is a good basic idea though....Any idea of how much binary is needed for a 10 second voice msg yet? $6500?? for what, how much memory, etc..that sounds like a bargain.. I guess that all..no wait..I forgot to ask ---> When can I get one<---????? ..trevor.. next/main #18, from nickbaran, 245 chars, Wed Oct 12 18:14:52 1988 This is a comment to message 17. -------------------------- Steve Jobs said today that Next would have some announcements next year regarding color and 3-D capabilities. He said they opted to start off with black and white because they wanted the megapixel display and color would have doubled the cost. next/main #19, from microbytes, 136 chars, Wed Oct 12 18:37:20 1988 -------------------------- TITLE: More On NeXT For more on the new NeXT system and information from today's debut in San Francisco, see microbytes/items #2274. next/main #20, from rmac, 1127 chars, Wed Oct 12 20:37:40 1988 -------------------------- TITLE: Kudos to both of you on an excellent and thoroughly descriptive report. I must admit that I'm fascinated by this machine's possibilities, but I am a little concerned at this point about how much of NeXT's software setup is flexible for developers that write software for it. I am a Sun and DEC developer, and I prefer to have a wide range of software at my disposal to accomplish a project. A wide variety of "standards", take X-Windows as an example, would enhance this machine greatly if made available. Jobs being Jobs, he is attempting to define a few software standards (like Display Postscript and UNIX BSD-derived (as opposed to System V derived) OS's). Since the marketing goals at this point are modest, he may get away with it. If and when NeXT broadens it's marketing, it runs head-on with other workstation vendors, namely Sun. In which case, the machine will have to be more competitive software-wise if the standards NeXT has chosen get overruled by competing standards. A question - can this machine run multi-user, with another workstation set-up on the same cube? Or are they individual systems?