The original written proposal of NovOS to Novell:
This letter is an original work submitted as a proposal to Novell after a discussion with Ray Noorda at Networld Boston. This specification is the sole idea of Marc Perkel and was written on 02-16-91 and faxed to Novell on 02-18-91. I claim all right to this idea.
This work mailed to the US Copyright office on 03-04-91.
This paper is a follow up to conversations I had with Ray Noorda and Jim Bills at Networld Boston about the idea of Novell entering the DOS arena. As a result of those conversations, Ray asked me to write some specification on a 386 based DOS product to challenge Microsoft's MS-DOS operating system. I was also informally given an indication to test market the "idea" to see how the world would react to the concept.
The test marketing of the idea has begun and you should soon be getting feedback on what the public thinks of the concept. Basically, I'm saying that the idea of a Novell DOS is being considered and that it will be a 386 DOS with 4 gigs of linear address space. Keep me informed on what to say and what not to say.
In this document, I will outline the whole plan including technical specifications, marketing, risks, timetables, and try to project most probable effect that such a move might have.
I have given the idea a lot of thought and I am VERY excited about it. I hope after reading this you will be as excited as I am. In the grand scheme of things, there are windows of opportunity that occur. The trick is to recognize these moments and jump on them. I believe that this is one of those moments.
As requested by Ray, copies of this document are being sent to the following people:
Ray Noorda 801-379-5907 James Bills 801-429-7700 801-379-3951 Darrel Miller 408-747-4000 Mike Pierce 801-429-7000 Ladd Timpson 801-429-3249 801-429-3098 Kamwal Rekki 408-473-8300 408-944-0920So why the hell should Novell write their own DOS?
To answer this lets review some history. MS-DOS is based on CP/M which was an 8 bit OS running on the Intel 8080/8085 CPU. Intel then came out with the 8086 chip which was actually somewhat compatible with the 8080 series chip. They decided that the way to go on this chip was to use Segment-Offset type addressing memory as 64k segments. This design philosophy was, quite frankly, a big mistake.
In 1981, IBM came out with the original PC. It had 16k of ram and two video card options. One was a color card at address B800:0 and the other was a mono card at address B000:0. These addresses became the standard and the software industry wrote programs talking to these cards directly and thus established the now famous 640k barrier.
In 1985 IBM came out with the AT computer which used the 80286 CPU. Due to bad communication between Intel and IBM the chip and dos were developed in ways to conflict with each other. Thus IBM could never create a multi-tasking dos for the AT as promised, and the 286 became known in technical circles as a "brain dead" chip. The 286 computers became "fast XT computers".
Since XT machines were predominate, and the 8088/86 chips could address only 1 meg of ram, and Lotus application were hitting the 640k barrier, Lotus, Intel, and Microsoft wrote the LIM or EMS memory specification. This specification described a way of addressing "Expanded" memory by paging 16k block in and out of memory holes above the video card address.
The EMS spec was a best a kludge. It work for the 8088 but became an extremely restrictive standard. It evolved into the 4.0 EMS standard which was a kludge to fix a kludge. EMS solved a problem but created 10 new problems in it's place.
As this was happening, Windows was evolving. Here Microsoft decided to throw out all previous programming standards and make you start from scratch. This forced programmers to abandon procedural type logic and recode for "event driven" logic. You not only had to start from scratch, but had to relearn how to program.
This was OK if you are writing PageMaker which requires a graphics environment. But when windows 3 came out, due to excellent marketing on Microsoft's part, convinced the world that we are all switching to windows and going to GUI.
But will windows be the OS of the future? NO! Because windows is fatally flawed. Windows is the accumulation of all the mistakes that Intel, IBM, and Microsoft ever made. In order to move to windows you have to start over. There isn't a migration path and there isn't going to be a migration path. As you know, it costs 10 times as much to write a windows program than a dos program, and the programmers hate it. Does this sound like a good platform for the future of computing? Not to me. Windows is best described as "the only program that can make a 486 computer seem slow!"
But what about OS/2? Gee Whiz! Even Microsoft can't answer that one. And if they can't, who can. But, it is also brain dead because it has been downgraded to run on the 286 chip which is brain dead. There is talk of an OS/2 version 3 but that's 2 years away and will still be 2 years away 2 years from now.
So, if dos (where 99% of the world still is) has a 640k barrier, and windows is a house of cards of mistake on mistake, and if OS/2 is dead, which Microsoft OS will lead us into the future? NONE OF THEM!
That is why the industry is ripe for someone to come in and come out with an OS that will actually work! And I believe that Novell is the ONLY company in the industry who is positioned to do it and do it right.
So, what do you mean by "do it right"?
Doing it right means writing a DOS based OS that eliminates the 640k barrier and gives to 4 gigs (not 16 megs) of linear address space. It would have to be a 386 based product, it will have to have a simple software migration path, it will have to be "programmer friendly" and will have to be as flexible as possible so as to expand to the needs of all programmers.
Let me give you an overview. When started, NovOS looks just like dos and runs all existing software just like dos. When the program makes an initializing call to a new software API, the 386 moves the video ram to an address in very high memory and returns information to the program as to where it's video buffer is. The software will then talk to the video card at that address.
This call will also move the rom bios and any other addresses located between 640k and 1 meg. It will then backfill this area with ram thus providing linear memory. With this modification alone a standard program would be able to address 1 meg of ram instead of 640k.
A point I want to make very clear right now is that if NovOS had just this one feature by itself, and no other feature, it would be enough to take the DOS market away from Microsoft. DOS 5 will be the biggest selling program in history for one and only one reason. It gives programs 45k more ram. If you look at what DOS 5 does along with the response you got from you EMSNETx and XMSNETx shells and combine this with sales figures on QEMM386 and 386MAX you will realize the scope of the public demand for more memory under DOS. If the world goes nuts over 45k of ram, what will they do for 384k?
But why stop there! With a few more easy software mods we can use 32 bit addressing instead of segment-offset type addressing. This opens up addressing to 4 billion bytes of memory! This is over 6000 times as much address space as DOS gives you. Now you are up there with the Macintosh computers! (Which is the real success behind the Mac, not because of GUI).
So how do we make this work? The standard DOS interrupts return segment pointers. What we do is create a NEW DOS INTERRUPT! (NDI) This NDI will be used to communicate with new features of NovOS.
The idea behind having an old and new dos interrupts is that when a program calls the old interrupt, it is telling NovOS that it expects NovOS to emulate old dos calls. By calling the new interrupt the program tells NovOS that it is smart enough to handle advanced NovOS features. It also gives you a chance to create a new dos API that is done right.
So now we have two new features, we remap memory for 4 gigs linear address space, and we provide a new interrupt spec that will become the new standard. We maintain compatibility with old programs by providing a compatibility shell around all the old calls. And we provide an easy upgrade path for programmers to move their code into the new environment with as little pain as possible.
So what new features are we talking about?
Well, this is the $64,000 question. The answer is .... everything! What I mean by this is the same approach you took with 386 Netware. This should be designed in such a way that it is adaptable to the needs of future generations of computers. The idea is, you don't have to put everything in the world in it up front as long as you have laid a firm foundation to build on. The main concept here is to noprogram yourself into a corner like Microsoft has done.
Let me go over some possibilities as examples of new features. These features represent a place to start and ideas to talk about and not a complete list.
For instance, the hard disk system. You could have a driver that looked at the hard disk like a standard dos compatible format. In fact, for the entry level version of NovOS, this is what you should do. But, change the driver and use a 386 netware type format and now you have a high performance file system with high data integrity, elevator seeking etc.. Throw in another driver and you can talk to an OS/2 disk drive. Or another driver and an AppleTalk network becomes a logical drive. See what I mean? The key word here is flexibility.
File access API calls would not only include everything dos now does but also many of the Novell enhancements found in the NETx shells. You could include compatibility with systems using long file names or mainframe type file systems. Buy using the NDI you could break the 12 character file name limit that dos has. Older programs that call the old Int $21 will only see files that are old dos compatible. To see the new files, the program will have to make the new interrupt call.
The file system is you opportunity to really do it right. As stated above, you don't have to do it all at once, just don't do anything that will prevent you from adding it in the future.
One new concept that I want to introduce is that except for entry level NovOS, that the NovOS system will need to be linked with a NovOSGen utility. This will allow the more advanced features to be customized to the environment in which they will be used.
The NovOS system should be an overlayed program with the ability to dynamically load and remove modules as needed by the applications. For instance, EMS memory should be considered an obsolete concept. But, if an old program is loaded that is written for EMS memory, then the first time the old program makes an EMS call, NovOS loads an EMS emulator. When the program terminates, NovOS removes the EMS emulator freeing up memory for other drivers.
A word about memory issues. Just because NovOS gives you 4 gigs doesn't mean that NovOS should be a memory pig! It should be written to conserve resources just as carefully as if you had a 640k barrier. It won't be too long before we are talking about the 4 gig barrier. But rather that preloading drivers, such as IPX or NETx, these drivers would be dynamically loaded the first time the system calls for them. That way you didn't have to tie up memory for a driver that services only one application.
Other technical issues to consider include the ability to add all the features that you wish dos had in order to make networking easier. You could build in security, bindery services, socket logic, a system control language instead of just batch files, and multi-tasking support. You can also add sophisticated memory management and global resource naming hooks.
You could also document all the "undocumented" dos tricks and by using new calls, eliminate as much as possible the need to make undocumented calls by providing legitimate system calls to eliminate the need for software writers to require undocumented calls.
The command.com shell itself is a weird bird and needs to be seriously rewritten. Many of its functions need to be moves into the NovOS system so that third party developers can create a variety of shells.
There are a LOT of software models out there to rob features from. You can add UNIX goodies, or those of the VAX, Prime, IBM, Banyan, NeXT Step, or any other source that has good ideas. Keep in mind that the PC is the most prevalent computer on the planet. The more powerful its OS, the more powerful computing will be.
What will breaking the 640k barrier really mean?
It will allow you to load as many TSR's as you want. It will allow you to start as many programs as you want. It will allow programs to access memory much faster that EMS or XMS memory. This will allow programs to be designed that are not possible dos. Your 386 Netware is an example of the kind of program that can be written under NovOS in that it need not abide by artificial restrictions imposed by DOS.
At networld there were servers that were expandable to 128 megs. In the next 5 years it will not be unusual for workstations to have a full 4 gigs of ram. Perhaps we will then be struggling with the 4 gig barrier. But that's for 5 years from now.
Another issue is the batch file language. When batch file are run a transient batch file interpreter is loaded that runs batch file just like dos. But if we came out with a new job control language, or several new job control languages then these could also be run by loading a transient interpreter. For instance, lets say we have a new batch language that is a text file with the extension .SPL (system programming language). The by running an SPL file, NovOS loads an SPL interpreter. If the system language is powerful enough, the command interpreter could be written in the system language itself. In fact, the source code could be made available allowing the user to write their own shell.
I could go on and on as to the different features it could have. The idea is that a lot of these features need not be future version of NovOS, but add on features sold separately as they become available. All you have to do in NovOS is to provide hooks for add on components. It would be like loading an NLM in 386 netware.
Why is "programmer friendly" so important?
The software market is driven not only by demand but supply. If it were demand driven only then why is there no Word Perfect for Windows? Why is there no Lotus for Windows? Why are there no Novell utilities for Windows? Because Windows is a programmer angry environment. Don't you find it amazing that in spite of the demand for Windows products that so few exist?
To me this clearly indicates what a vast mistake Windows is and why an alternative to Windows would be so welcome.
Programmers are creative people. If you create a programmer friendly environment they will write code faster and better.
But what about Multi-Tasking?
Multi-tasking is an optional feature in NovOS. What NovOS needs is first to be multi-tasking friendly. That means reentrant code. To make programs like Windows or DesqView work, they have to check an INDOS flag. As you make NovOS reentrant, the INDOS flag stays false telling these programs that NovOS is always ready.
You may want to put in multi-tasking but I suggest that you take a long hard look at DesqView and DesqViewX and run the multi-tasking on top of NovOS. This saves you from having to write it yourself and not limiting yourself to just one multi-tasker. The real measure of success is that if you do it right, Microsoft will put hooks in Windows you take advantage of NovOS features. When making NovOS multi-tasking friendly, ask for help from Quarterdeck. Get them to give you a list of everything they would like to see in NovOS to make it easy for them.
But what about GUI?
Some people like it and some people don't. Therefore, give them both options. The NovOS needs to be a character based system. You add the GUI shell on top of that if that's what the user wants. Which GUI shell? All of them! If you're into GUI, why stop with just windows? You could give the X-Windows, Gem, Motif, Open Look, New Wave, GeoWorks, NeXT Step, etc.. In other words, NovOS will be GUIer than Windows.
NovOS would be designed to be GUI friendly providing OS services that would be common to all GUI environments. The idea here is you provide beta test copies to all GUI vendors and listen to their needs.
But isn't Digital Research doing this already?
Maybe they are but it doesn't matter. DRI came out with a multi-tasking dos in 1984 that ran on an 8088 chip. Then they came out with a multi-user dos that ran on a 286 chip. Then they came out with concurrent dos 386 that was multi-tasking and multi-user. Then they came out with DR-DOS and DR-DOS 5.
So why didn't they take over the dos market? Because DRI is great for writing programs that almost work, and their marketing is very poor. When DR-DOS first came out I tried for 6 weeks to order 200 copies of it and never got anyone to take my order. I wouldn't consider what DRI does as significant.
So what's IBM going to do?
IBM is a proud company, but they aren't stupid. I'm sure that deep down (maybe not too deep) they realize that OS/2 isn't going to work. But at this point they have their future invested in it. In reality, IBM is desperate for a product like NovOS. The are so desperate that they have been "in bed" with Steve Jobs with his NeXT Step OS. They are so desperate that they are now "in bed" with you guys.
IBM has realized that they need to provide a solution that "actually works". That there is just so much you can do with hype and marketing. And now that you have a relationship with them, I can't help but to think that it will be offered as an option. And when the reviews come in, it will be the overwhelming choice.
A word of caution though. Don't let IBM screw up NovOS. Do not even consider making it 286 compatible. IBM got themselves in trouble by pressuring Microsoft into screwing up DOS, Windows and OS/2 and I'm not sure they learned their lesson. For IBMs sake, protect them from themselves.
IBM will have to go with NovOS because it will be the only solution that will work with future software.
So what will Microsoft do when they hear about this?
There are several things they can do. It depends on how proud they are. They can realize the error in their ways and compete head on with you on a 32 bit DOS, or they can be proud and insist that Windows is the way of the future.
Microsoft is in a catch 22 situation. To make the logical move is to admit their errors and jump on the right path. This isn't likely because they have too much invested in the direction they are headed now. What is more likely is that the NovOS vs Windows war will rage on the cover of every computer rag in the world.
So who will win that war? You will! Why? Because NovOS will work and Windows won't. It's that simple. By the time Microsoft figures out they lost, it will be too late.
What about the rest of the software industry?
The rest of the software industry will support NovOS as well. Why? Because it will be easy to support. In fact, it will spoil them. Unlike windows, which requires a complete rewrite as well as retraining your programming staff, NovOS will be easy to support. In fact, if you do it right, it will be so easy that you will find applications that require NovOS because it is to much effort to make it backwards compatible with DOS.
Let me give you an example. I made my MarxMenu product DesqView aware and gave it the ability to control DesqView tasks. Why DesqView? Because it was easy to do. DesqView is programmer friendly. It took me a Sunday afternoon to add it. And there is a big enough market out there to justify a Sunday afternoon.
So why isn't there a Windows version of Word Perfect? Because of how hard it is to program under Windows. But, there would be a NovOS version out in less than 30 days. Why? Because it's easy.
Will the public buy NovOS?
Yes they will! Why? Because it will run their DOS applications better that DOS will. Because it will run NovOS apps and dos won't. Because it runs Windows and DesqView better than DOS. Because it has no 640k barrier and they can load all the TSR's they want. Because it faster. Because there are more operating system options. And because it's cheaper.
Yes! If you're going to take the market then take the market. Make it so that even the Chinese clone manufacturers want it. But here's where you make the real money. You sell different levels of the product.
Yes, let me describe some rough ideas here. Entry level NovOS will be mostly a straight DOS clone with a dos compatible disk driver. It will break the 640k barrier and support the NDI. It will be designed around the concept of making dos programs run better and the step towards the future. It's features will be simple to use and will target the home/single user market. This will be what you will offer to be bundled with computers.
Then you sell them the add ons. The optional file system that formats the disk like a Netware 386 server. The ability to support print queues like a file server supporting many different printers at the same time. You could have optional multi-tasking shells and GUI interfaces. A dos control language. Mirrored drive options. System fault tolerance. A bindery and login features. Accounting features.
A high end system perhaps would be like having a single user copy of Netware 3.11 with a COMMAND.NLM loaded and DesqViewX running on top of that. (I understand you have a COMMAND.NLM in house.)
How should it be packaged?
It should come packaged for the first time computer user who has never touched a computer before. Besides that standard dos replacement utilities, a set of EASY TO USE utilities should come with it. File Managers, Editors, Viewers etc.. The manual should be written for the dumbest person who could possibly use a computer. There should be a NovOS tutorial program on the disk.
As a separate item, a 2 hour video tape should be optional (sold separately) teaching the user how to use NovOS. This should start simple getting more advanced towards the end and fulling explaining NovOS upgrade products.
It should be priced at 75% of the price of DOS on the shelf and sold through all distribution channels including bookstores. The OEM pricing should be 60% of DOS.
The more advanced options should be sold through authorized dealer channels that require training where needed on advanced products.
Advanced disk driver discounts could be offered to manufacturers of large disk drives so that they could bundle NovOS advanced file system products (which would require NovOS to run).
How does the media fit in?
Here the media is our friend. In 4 weeks this will be the hottest piece of news since Windows 3 was introduced. It will be on the front page of every computer rag in the world. Even while you deny that it exists. There will be a lot of what if Novell did this, what if Microsoft did that.... What you do is read this an follow the industries reaction. See how Microsoft responds.
First of all, you're going to get a hell of a lot of free advertising out of this. Especially on the heels of your venture with IBM. Does Novell have other deals with IBM? Can Novell steal IBM from Microsoft? NovOS vs Windows, where will the industry go? Can Novell do it? Is Windows just smoke and mirrors? The programmers point of view, why programmers hate windows. Where are the Windows Apps? When the Big Boys don't have windows products on the market. Does Microsoft know where they are going?
If you decide to pursue this venture, the press will force Microsoft to create their own 32 bit dos, which the world willlock to and you will save millions of dollars a year by not having to convert your programs to Windows. What I'm saying is, you will make money even if you don't follow through with it. All you have to do is play along for a while.
How do we know if you are right?
Word is already getting around as a "rumor". All you have to do is read the public response. I believe it will be obvious which way to go. If the world isn't interested, them write me off as a nut. But on the other hand, if this is a good idea, the results of the rumors will leave no doubt.
OK Marc, we're convinced! How do we proceed?
Well the first step is to get serious and talk it all out with your people. Get you technical people in on it. Start writing a DOS clone so that you can at least match compatibility with DOS. Get that out in beta test as quick as you can.
Like I said, don't try to it all in the first release. All you really have to do is break the 640k barrier and have 4 gigs linear address space. You can promise the world as long as you add the hooks to add the world later on.
I have already leaked the word out that it is happening. You can deny it all but listen to the calls. The public will help you design it. So will the press. Let the world know that you are looking for input, that NovOS is going to be done right and you want to hear how to do it.
I want to control the features and the look and feel issues to keep it on track and make sure it's done right. I don't want to write the system. I just want to make sure it doesn't get screwed up.
Assuming that the minimum requirements are finished by October, I'd like to see the product introduced at Networld Dallas 1991. I don't know if this is realistic but I think it can be done.
Possible partners in this venture might include Quarterdeck and Borland. Quarterdeck's DesqView-X is done right as a multi-tasker and GUI interface. Borland has a reputation for writing very clean code.
I think you can assume that the future of computing is not going to work with a 640k barrier. Microsoft has no plans to eliminate this barrier under DOS claiming Windows is the future.
If you pass up this opportunity to take over the DOS world, you too will be stuck with Windows. The thing you have to ask yourself is, do you want to get stuck with Windows? If not, perhaps you can conclude that the rest of the world doesn't want to be stuck with Windows either.
But if Microsoft won't change the course of the computer industry, who will? As far as I can tell, Novell is the only company that has the clout to do it. Do you want to look back at this moment and know you walked away from the greatest opportunity in computer history and join Digital Research as one of the companies that could have? Think about it.
First of all there will be several levels and many add on options to NovOS. The entry level system will be basically and enhanced DOS clone. It will be powerful but its main focus will be simplicity. It will be a "consumer" version of dos and be designed around the home/single user market.
Advanced versions/add ons will be designed around being an "umbrella" operating system where DOS is just one of many emulation that are available. NovOS Advanced will be designed as a multi-layer program with the innermost layer being task dispatchers, resource management, communication etc. This layer will contain elements common to all operating systems.
On top of the innermost layer a DOS emulator inner shell can be dynamically loaded to support running DOS programs. This shell will be able to service dos interrupt calls and pretend it is DOS. If extended dos or NovOS calls are made, a NovOS driver is loaded to support NovOS calls.
But why limit ourselves to just the DOS world? If the inner shell gets a UNIX request, it will load up a UNIX shell and service the UNIX program. So now you ask, "are we talking about running different operating systems on the same processor at the same time? Yes, that is exactly what I mean.
In fact, with an X-Windows layer, both dos and UNIX program could be running at the same time on the same screen. If you were on a network, some of the programs on your screen might be running on other computers on the network and piped into your X-Windows session.
In fact, you could have a network with several 486 machines in a closet with no screen or keyboards that act as spare processing power. These machines will actually run programs and pipe the output to workstation over the lan. The user need not know what CPU is running the program or even what operating system is running.
Back to the inner shell. This shell needs to be written to support global resource management. It needs to be able to allocate system variables and define their scope. This will allow for interprocess communication. These variables will be accessed by name or handle and will be able to be locked by tasks or made read-only. This is similar to semaphores, but much more advanced.
These system variables could also be network global even though they exist on one machine or the file server. In fact, you need not know where the variables are stored because you will access them by name and by magic the NovOS system will find them.
This brings me to the next concept of global naming. This needs to be a feature of the inner shell that allows resources to be found no matter where they are. Maybe it could be accomplished by making BTRIEVE an integral part of the NovOS system. In this manner it would be possible to manage system resources in a very advanced manner.
In fact, this is a very important concept here in building the right foundation for NovOS is being able to support resource management and system database information well on the innermost level. This is something common to all operating systems and in a lot of cases, their weakest link. In NovOS, we have the opportunity to draw from all these systems and come up with a state of the art operating system.
So it is important realize that ultimately, we are not writing another DOS clone, we are writing an OS that can run a DOS environment. With the power and speed of desktop computers running close to mainframe speed, there is no reason to assume that the OS of a desktop need to be smaller and simpler than that of a mainframe. In fact, I can see NovOS actually being able to be expanded into a more powerful OS than a VAX has.
Of course, let me remind you that it doesn't have to start out that way. As long as we get the foundation right, and don't make mistakes that will limit NovOS, this can all be added later.
Another concept I want to talk about is the system control language. What I mean is that I don't want to be stuck with BATCH files. I think the system control language is one of the most important pieces of an advanced version of NovOS. Examples of system languages are REXX on IBM mainframes, and my MarxMenu product.
The idea here is that NovOS can support complicated control scripts using a language that is geared to doing job control. As dBase is a data base language that has commands geared to do database work, a job control language is designed to do process control. This language will be powerful enough to read system resources and make intelligent decisions including network management, user menus, controlling mail, diagnostics, reporting, etc.. In fact, I would write the user interface in the system language including the command line shell.
If BTRIEVE is built into the OS and is accessible from the system language, then the system language could play a major role in software development. Application software could be written in the system language or application software could access parts of the system language to perform services for it.
Another concept I'd like to introduce is the ability for NovOS to deal with a new resource called an "Application". Applications are things like LOTUS or WORD PERFECT that are known to the system. Applications can become owners of files or perhaps all files contain a pointer to their parent application. In this manner, NovOS can deal with files based on what program owns the file.
Applications themselves can be owned by other applications which are ultimately owned by an operating system. (Technically, an OS can be considered an application). This world allow you to mix files from different operating systems in the same network in the same directories.
Another feature of logical applications is that file translation can be automatic. For instance, if Word Perfect loaded a WordStar file, a file translation pipe could automatically be established to handle the file conversion.
Application could also be linked to groups so that if a group were to be given rights to an application, then members of the group would have access to the files owned by the application.
It would also be logical to create application groups so that you can tie office functions together and assign whole groups of applications at one time. This could also tie into the system menu so as to be able to create a user interface based on what's available.
Since files will be stamped with applications, and applications stamped with the operating system that owns it. By invoking a file NovOS could load a dos emulator if it is a DOS program, or a UNIX emulator for a UNIX program, or Windows for a Windows program, or if you load a VAX program, NovOS could find a VAX on the network and start the program there, loading the files application, and pipe the video to your local machine.