Softpanorama
May the source be with you, but remember the KISS principle ;-)

Contents Bulletin Scripting in shell and Perl Network troubleshooting History Humor

OFM Bulletin 1998

2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
2006 2005 2004 2003 2002 2001 2000 1999 1998 Archives
Comments updated January 19, 1998. This is the second commented version. The original uncommented version of this document is available here.

The comments are maintained by Janne Kukonlehto. See also the following messages on the Midnight Commander developers mailing list:

Version. 1.06, Jan 15, 1998

The Orthodox File Manager(OFM) Paradigm

By Dr.Nikolai Bezroukov

Abstract

This paper has a very strong Dos/Windows bias. The only non-Dos/Windows OFM mentioned by name is Midnight Commander (probably because Midnight Commander has a Windows port).

Contrary to what this paper might make you think there are many OFMs for unix. A good place to start looking is the file manager directory at Sunsite. Some examples of Unix OFMs are GNU Interactive Tools, Pash and Unix Cockpit.

The paper discusses Orthodox File Managers (OFMs), often called NC-style file managers. The importance of this type of file managers is connected with  a very high productivity of advanced users and the portability (OFM is the only portable file manager known to the author). OFMs can be found on a large variety of operating system including  various flavors of UNIX, OS/2,  all existing versions of DOS, Windows 3.1, Windows 95, and  Windows NT . They are an essential tool for system administrators, especially NetWare and UNIX system administrators.  The current stage of development is explored, several classical (NC5, VC, DN,FAR) and GUI-based (Windows Commander, Norton Commander for Windows 95)  implementations are reviewed and recommendations for future development are proposed. The author believes that OFMs should become an important tool for WEB masters. Another important role of OFMs is to simplify file management in Linux and FreeBSD and to help to attract new users to this very interesting and currently underutilized Oses (Midnight Commander is now shipping with both variants or UNIX mentioned).

The "Orthodoxness test" that measures the level of compliance of a particular file manager with the orthodox doctrine is proposed. It contains four parts: "Basic compatibility", "Virtual file systems support", "Modern extensions" and "Recommended extensions/Wish list".

Contents


Introduction

The Orthodox File Managers (often called NC-style file managers), are probably the most influential type of file managers of DOS heritage.  The OFMs are more than a popular type of file manager.  It is a cultural phenomenon that we ( lacking more precise definition) will call the OFM paradigm or even OFM religion (the word orthodox is more applicable to religion that paradigm;-). For a typical Windows user it looks somewhat strange that people continue to use descendants of a character-based file manager  that  was initially designed for XT. Also strange that a lot of talented programmers devote considerable time solving intricate problems of designing OFM-style manager. One of the motivations of this article is to provide some kind of framework for both OFM users and authors and to put this kind of file manager into a more general context.  The test provided in the supplement 1 also can be useful for the authors of the OFM implementations

Overview of the OFM implementations

I believe that the total number of the OFM implementations (including discontinued) is close to a hundred. This figure alone says a lot about the phenomenon. No other type of  file managers ever managed to get such a strong following.  OFMs are also parts of the hacker culture, especially European hacker culture.

Although originated in the USA,  the OFMs  became mostly a European phenomenon with a very strong following in former USSR(xUSSR) countries. The first attempt to create to generalize Norton Commander functionality (PIE Commander by Valentin Chernyak that has had four independent panels instead of two) was done in this region as early as 1989. Three major OFM implementations (VC, FAR and DN) are from Ukraine, Russia and Moldavia/Russia (Stefan Tanurkov is from Kishinev, Moldavia and  Dmitry Dotsenko is from Moscow). In the xUSSR countries OFMs are often taught at introductory university courses and books describing techniques of working with this type of file manager has been published in several millions of copies.  From the late eighties till the early nineties for entry level users in the xUSSR OFM interface was a synonym to the DOS interface. Many users never even suspected that the OFM is not a part of DOS or that regular command-line DOS interface exists. 7

In other  European countries OFMs are very popular as well.  There are many implementations of OFMs in that region (probably at least one for each European country :-) including:

The high quality Australian implementation - FC by Brian Havard is very popular in the OS/2 environment (Win95 version with support of long file names and a virtual file systems for archives is also available). This  suggests that OFMs are well known in Australia too. 

More that a dozen implementations of OFM exist for UNIX. The most popular in the UNIX environment is  Midnight Commander.

Sometimes OFM-style managers are incorrectly called NC clones - the latest incarnation of OFMs represented by Dos Navigator(DN), FAR, Midnight Commander(MC),  Volkov Commander(VC), Wincmd (Windows Commander) and others are far from being clones, since Symantec lost its leadership after NC 5.0; most of them are quite original and often introduced new features.

We will distinguish between classic OFM implementations(COFM) that use text interface and GUI-based OFM implementations (GOFM).  As with any religion along with mainstream (orthodox) implementations there are various sects that deviate in some ways from the orthodoxy  ;-).  One rather interesting sectant implementation (Jet Commander) is also discussed in the paper. 

This paper provides a short overview of features in five classic (DN, FAR, NC and MC(the latter being mainly the UNIX beast, although Win95 version is now available), two GUI-based(Windows Commander and Norton commander for Windows 95)   and one sectant implementations (Jet Commander).

Advantages of OFMs

Much like Johann Sebastian Bach's music OFM belongs both to the previous century and to the next century. The interface is more than 10 years old and is somewhat archaic. Key assignments have no rational explanation from the point of view of a typical Windows user (but that deficiency can be be easily cured by providing a key-mapping mechanism, see below).

At the same time OFMs offer a unique blend of simplicity and power. They provide a very efficient tool (and a way of thinking about performing these operation - that's why the word paradigm appears in the title of this paper) of working with large collections of file and complex file structures. People that start using OFMs seldom switch to another file manager. There are a lot of users (including the author) with more than a five years experience in one or several OFM implementations.

I see the following major advantages of OFMs:

The New Direction for OFMs - WEB Administration

Professionally OFMs are mostly used by system administrators (especially Novell administrators and now Linux and FreeBSD administrators), BBS sysops and professionals who perform a lot of file manipulations. Using OFM is also part of the hacker culture, especially in Europe.

But now the most important type of users of OFMs  are WEB masters. Essentially all BBSs are moving toward WEB server technology and BBS sysops were always a stronghold of OFMs. WEB masters need to perform a lot of file manipulations, and often work in the cross-platform environment.  The first important move of OFMs in this direction is the support of the FTP virtual file system(VFS). Second important feature is the ability to convert the case of filenames.

I believe that HTML-related tasks will drive the evolution of OFMs for the next decade. Several possibilities exist and some features are very easy to incorporate into the general OFM framework. Among them:

The most simple panel view enhancement is to show  the <title>  tag as a description for all HTML documents (by generating Descript.ion file on the fly,  if its time stamp is older than one of HTML documents, or using other methods).

The simplest navigational enhancement is probably the ability to use a selected document(index) as a filter to display all referenced documents in the panel. Even now this can be achieved in DN by writing simple preprocessor that converts HTML document into file list. In essence it is similar to viewing an archive and can be called a virtual HTML file system. The second useful enhancement would be to display a tree view of references from the HTML document as a specialized tree-view and navigating this tree in a usual OFM style. 

As for built-in viewer enhancements, integration of HTML stripping into viewer would be really beneficial. Also badly needed is the ability to jump from the text view to the panel view for a particular directory (jump to the directory selected in viewer or editor will probably be enough and is quite simple to implement).

Here are some recommendations for tools that can be used with OFMs to improve a WEB master productivity:

Characteristics of OFM

Appearance

The main window of the OFM is divided into three subwindows. Two of them called panels are identical in structure and are situated side by side. Panels contain directory listings of the current directory or a  tree representation of the current drive. One of the panels is the so-called active panel in a sense that the user can perform operations on file listed in this panel. The second one is passive and serves as a target for operations performed on the files on the active panel.

The third window contains just a command line, and is situated at the bottom of the screen. Often the toolbar with buttons for 10 functional keys is situated under the command line.  The panels can be shrunken or completely hidden.

Both panels are further divided into three subwindows - a header, a list part, and an information line. 

The header line contains the titles of the columns present in the list part. In some OFMs (for example Windows Commander) columns headers are clicklable and click on any of them changes the sorting order of the list.

The list part contains the list of directories and files from the current directory (usually including hidden and system directories and files) with some or all attributes(size, timestamp, etc.) or tree representation of the current drive.  In all OFM user can choose one of several form of the directory listing representation (the minimum is just two: a brief list and a detailed list).  In advanced OFMs the list is customizable. 

Information line(or more correctly information windows) is in essence a separate window that shows the information about current file and current group of selected files, if any. If long file names are supported then the long file name of the current file is displayed in the window in real case(i.e. if file name in in upper case it should be displayed as such). Additional operations on the current file (for example click by the mouse on the information line can select all files with the given extension, etc.) also can be supported in this window. In case one or more files on the panel are selected the information line shows statistics on these files(the total number of selected files and the total size of the group).   In modern OFMs, an information line became an information window and bottom border line of the panel and upper delimiting line are used for displaying the number of selected files and the total number of files in the current directory.

In some OFM there are special colors for directories, executable files, hidden and system files. Traditionally at the bottom of the screen a command bar is displayed (see below).

Common characteristics of OFM

All OFM share the following characteristics:

OFM and GUI-based interface

Although the OFM paradigm is rooted in the character text interface and classical OFM implementations are text-based, OFMs are not limited to it. It is not a type of GUI per se, it's not keystrokes(if you can reassign them), it's  the semantics of operations that matter most.  Now a lot of of OFMs successfully use GUI interface. 

GUI provide much more capabilities than restrictive character-based interface. Nevertheless the character interface is really important and considered classical from another point of view. Artists know well the saying "form liberates". In the same way puritan character interface liberate a programmer from spending too much time and effort on unimportant things and thus provide possibility to spend most of the time implementing richer set of operations. Paying too much attention/time/effort  to the "face" is characteristic to Windows developers and often  negatively influence the functionality of the product. Nevertheless several GU-based implementations exits and some of them combine drag and drop features with classical OFM features. I found almost a dozen of GUI-based implementations. Among them the following deserve attention:  

Milestones of the OFM paradigm.

OFMs is more that 10 years old. Milestones in the development of OFM are:

NC line of the OFM

Norton Commander for DOS is the original line of OFMs that exists in four major version: 2.0 3.0, 4.0 and 5.0. Only versions 2.0 and 3.0 (I believe only the version 2.0 was written by NC original author John Socha, before he left the company) can be considered as a decent implementations of   the ideas of OFM (NC 2.0 was the cornerstone of OFM)  and they provide a basis of OFM paradigm. Versions 4.0 and 5.0 provide useful enhancements, but implementations look much like betas and are quite fat. 

The main enhancements introduced in NC5 are:

The Virtual File System(VFS) was the only important addition to OFM paradigm in NC 5.0. Actually  NC 4.0 also can show archive contents in panel, but unlike NC 5.0 it cannot view archived files. Initially VFS was implemented by many OFM enthusiasts as add-ons to NC 3.0 (archive viewers of different flavor with NC-like panel structure and operations were very popular addition to NC 3.0, but the level of integration was limited). The VFS provides possibilities of working with archives in a completely transparent way by viewing archives as directories.

NC 5.0 for DOS was probably the last version which really contributed to the OFM paradigm. Compatibility with NC 5 should be considered as a minimal test for contemporary OFM implementations(see suppl.1).  

Symantec essentially discontinued its line of OFMs in favor of Windows-style file managers (Norton Navigator). BTW Symantec managed to kill another interesting file manager -- Xtree. But probably due to pressure from users in Europe a European-only Norton Commander for Windows was created (or reanimated :-) in 1997. This product is much weaker than shareware alternatives and the development team seems lack a talented leader that is needed to compete with other OFM implementations. My impression was that nobody from the developers has a deep understanding of  the OFM paradigm.

Currently there are two commercially available OFM products from Symantec - NC 5.0 for DOS (an old hat by today's standards) and NC for Windows 95 and NT (see overview below).

VC line of OFM - masterpiece of assembler programming

Volkov Commander(VC) was the first OFM that beat NC-line to the punch. VC 4.0 was a masterpiece of assembler programming, small (v. 4.xx is a COM program and is less than 64K), but extremely powerful. In 1994 it took the world by storm at it implemented a dozen of important enhancements that later became part of the OFM paradigm (for example Ctrl-[ and Ctrl-]).  Even now with strong competition from FAR, VC is still  probably the most popular OFM. I have used VC from late 1992 (Volkov Commander was first published in the Softpanorama bulletin in the December 1992). In the 1993 the development of Volkov Commander were partially supported by the grant from the Softpanorama bulletin and Vsevolod Volkov make a couple of presentations on the Kiev Softpanorama seminar.

Level of compatibility

We will discuss version 5. It's still in alpha(4.99.03), but the alpha is amazingly bug free and pretty much usable. Despite absence of several features(Find file, etc.) this alpha version is more powerful than 4.0. It supports long file names and the archive VFS. And it still is the smallest OFM among the leading OFM implementations (beta is 78K zip archive ! It's refreshing to see that program under 100K can perform more that a just "Hello world" with a couple of options ;-).

This version corrects VC 4.0 major deviation from the orthodox NC paradigm that was connected with the way it treats "Alt-F10". VC 4.0 does not keep the results of scanning on the disk (I believe only the last tree structure is available and often pressing Alt-F10 initiate time consuming rescan of the whole drive, that makes the feature almost unusable).  This is now fixed and a file TREEINFO.VCX is used as a cache for the drive directory info.

VC contributions

In Midnight Commander "ctrl-[" is "ctrl-x p" and "ctrl-]" is "ctrl-x ctrl-p" and "ctrl-i" is "ctrl-x t".

VC version 4.xx was a milestone in OFMs. It make a lot of important contributions to the OFM paradigm, like "Ctrl-[", "Ctrl-]",  generation of the selected file list to the command line (Ctrl-I), enhanced attribute command that can change timestamp of the file as well as attributes, etc.  Most of them are now firmly incorporated in the OFM doctrine (BTW Ctrl-I, Ctrl-[ and Ctrl-] functionality was recommended by the Softpanorama bulletin).  Also its tiny size makes it an excellent troubleshooting tool and the best OFMs to carry with when servicing customer PCs. There are more that a dozen of various add-ons for VC 4.01 (see for example ftp://ftp.elf.stuba.sk/pub/pc/utilfile/ in the USA the best is to use its Walnut Cdrom mirror ftp://ftp.cdrom.com/pub/sac/). This attests the popularity and the value for the programming community of  this OFM implementation.

Version 5 preserve VC 4.xx unique advantages as it is still the smallest and the fastest of the of leading OFM implementations.  If provides several contributions to the orthodox doctrine:

VC deviations from OFM paradigm

Quick view was not available in 4.0. It is still absent from the beta, but is present in the panel menu, so it will be implemented in a final version.

Like in v.4.0 file operations using the passive panel tree view are impossible. For example there is no possibility to copy file from one directory into another directory using the tree representation of the disk on the second panel.

Navigating the tree in one panel will make current(highlighted) directory current on the second(passive) panel. This is an interesting kind of quick view function for the tree representation and although useful in its own way it does not substitute the functionality of selecting the target directory on the tree representation. 

Clicking on Name, Size, Date and Time options does not resort the directory with this key.

DN line - breakthrough in VFS

The DOS Navigator (DN) is an extremly interesting and influential implementation of OFM. v.1.5 released in April 1997 opened a new generation of OFMs. It should be considered as an ultimate DOS-based classic implementation of OFM and  currently it is difficult to compete with DN featurewise.

Like MC it is a team effort. Initial design was by Stefan Tanurkov and Dmitry Dotsenko. Several programmers participated in the development on a different stages. After v. 1.37 Slava Filimonov (he now author of MRP Navigator - a file shell, designed for use for Win95/NT) and Ilya Bagdasarov were in charge for DN coding. Then Stefan Tanurkov and Max Masytin continued the development.  The version 1.5 was authored by Stefan Tanurkov and Max Masytin. 

Although it is a text based,  the latest version seems to be more close to GUI-based OFM counterparts as it is using Borland Turbo Vision for the interface implementation. The size of DN distribution is also more close to GUI-based OFMs (1M). Although it seems to be a little bit overloaded with additional utilities, the core OFM functionality is really impressive.

Disclaimer: The author has a very limited experience working with DN and tested only the demo of v .150.  The demo does not provide some advanced features. In this case documentation was used.

DN Contributions

DN 1.5 should be considered as a milestone in the OFMs virtual file system implementations. It had made a very important contributions in this area. The feature set and flexibility of DN in this area are really amazing. Among a long list of DN innovations I would like to single out the following three VFS:

In Midnight Commander the flat substree vfs and find file based vfs are achieved via find file - panelize. The list based vfs is achieved via external panelize.

Briefcase vfs is a standard unix feature (called symbolic links in unix-speak).

This three new types of VFS are really a milestone in OFM development.  The flat subtree VFS is an important productivity enhancement tool. It was first introduced in Xtree (as early as in 1987) and this capability probably was the single most important reason of  XTree popularity. This VFS should be a standard in all modern OFMs, as it provide really superior functionality to any known to me Windows-style file manager. With Xtree-line of file managers discontinued (by the way by Symantec :-(), it can became a distinctive mark of OFMs.

Three other innovations are also very important:

Usefulness of the ability to have several sets of panels is proved by attempts by other authors to add similar features to OFM (for example early attempts to introduce 4 panels in the PIE Commander by Valentin Chernyak) and  experience with Windows-style file managers where multiple windows are a standard feature.

As I already mentioned DN introduced many other innovations. Among them:

Midnight Commander has the movable panel delimeter feature. You can even select whether you want to divide screen area to panels horizontally or vertically.

The directory tree expand/collapse happens automatically in the dynamic tree view of Midnight Commander. In the static tree view you can use F2 (rescan) and F3 (forget). Note also that Midnight Commander creates tree view on the fly so there is absolutely no delays.

In Midnight Commander you can express "*.txt; *.bat; *.inf; *.doc" as "*.(doc|bat|inf|doc)".

Level of compatibility

Despite a lot of enhancements semantically DN is very compatible with OFM doctrine. All operations that I tested were implemented semantically correct although many of them used different (e.i. non-standard) hot keys.

Neither Alt-<letter> not Crtl-Alt <letter> quick search works and I have an impression(may be wrong - I use only a demo version) that this important part of OFM paradigm was not implemented at all.

Sometimes (like in case of switching from quick view windows to full windows view) no key was available at all and the operation need to be performed by the mouse. That is a deviation from the OFM doctrine that stress availability of all (or most) operations via hot keys. For other operation hot keys were different, so the major problem is that keyboard remapping is not supported. 

The current version of DN supports archive VFS, but does not support DOS 7 long file names and FTP VFS.  No 32 bit version of DN exists yet.  I strongly recommend to make a GUI-based version as well.

MC line -- power to UNIX

Almost all the unix OFMs have source available. Midnight Commander is no way special in this respect.

MC is the part of GNU project. It is the only OFM implementation known to the author that have source available.  It was originally developed for Linux in Mexico by Miguel de Icaza.  Interestingly enough the initial version (released  in late 1994) was called MouseLess Commander. Later  name was changed to Midnight Commander and people from other continents joined the original developer. The current team includes Andrej Borsenkow, Radek Doulik, Ching Hui, Jakub Jelinek, Janne Kukonlehto, Fred Leeflang, Mauricio Plaza, Dugan Porter, Paul Sheer and Norbert Warmuth.  Its major contribution was FTP integration (this was really a milestone and now this feature has found its way into FAR 1.50).

MC is not the first OFM-style manager for UNIX and not the only one. At least a dozen of other implementations exist. But MC is definitely the most popular one. The main contribution of MC is not to OFM doctrine as such, but its role in the popularization of Linux and FreeBSD platforms among PC users and understanding of important Unix concepts by the advanced PC users community and developers. As it is included in all major Linux and FreeBSD distributions it proved to be an important cross-fertilization device for DOS-related skills to UNIX-related skills in file manipulation. 

UNIX is a much better platform for some OFM-style VFS. For example briefcase VFS can be implemented via links. But the most important is that MC makes PC user instantly productive in Linux or FreeBSD and thus serves as an important tool for the popularization of UNIX (the second, largely overlooked tool is THE editor that provides for UNIX users with mainly PC background convenient escape from Vi/Emacs mentality ;-).

MC also influenced several PC implementations of OFMs started in late nineties including JC and FAR. MC implementation on Win95 platform currently is not very impressive. MC main achievement is to bring OFMs to UNIX, not vice-versa. But it does bring several UNIX ideas back to DOS/Windows. I still have pretty rudimentary understanding of MC, but other that FTP VFM I can mention the following innovations:

In Midnight Commander a little of scripting language functionality can be achieved via the MC_CONTROL_FILE feature.

I beleave that TCL is in best position to integrate TCL into OFM implementation and that would be yet another important contribution to the OFM paradigm.

FAR line

Although still in beta FAR 1.50b is a very impressive OFM 32 bit implementation. It was definitely influenced by VC, DN and MC. At the same tile is it very clean implementation with its own "face" and an excellent compatibility with OFM doctrine. Currently it can be considered as a leader among the 32-bit classic OFM implementations. 

Level of compatibility

FAR v. 1.50b currently has the best score on my "The Orthodoxness Test". It also has probably the best archive virtual file system implementation, as Eugene Roshal is the author of RAR - a leading achiver.  FAR supports the quick view feature (important part of OFM paradigm).  FTP support is very impressive and now becomes an standard by which the other OFM implementations will be judged.

Far is compatible with requirements of considerable part of the Orthodoxness test(parts 1,2 and 3). for example it is the second OFM (after DN) that implements history of visited folders, viewed and edited files, etc.

Among advanced features that FAR support are:

Midnight Commander has had the case conversion feature since 1995.

FAR Contributions

Althouth the feature list in FAR 1.50b is less impressive that in DN (flat subtree VFS, briefcase VFS and filefind/filelist VSF are not supported) it is the best 32-bit OFM implementation with text-based(classic) interface. The most important contributions of v. 150b to the OFM paradigm are:

FTP VFS is a really extremely important feature and although it is not the first implementation (the first was in MC) it is a major achievement. 

Another enhancement is the method of selecting of the sort order by clicking on the special letter in upper left corner of each panel.

After using FAR for a week or so I now understand it would be nice if you can click on current file in the panel information line (last line in the panel) OFM should select all files with this extension and place extension in the select history list.  Also regretful that 30-line mode is not supported.

FAR deviations

FAR 1.50b deviates from OFM paradigm is several minor ways.  It merged 3 extension tables (execute (Enter), view(F3) and Edit(F4) into one and does not provide a way to migrate other OFM association tables into the new format.

The idea of merging the association tables, so that one can see all three associations at once (as well as of using Windows association table as a default association) deserve attention, although the loss of flexibility of having separate tables in a simple text format probably outweigh all benefits. For example the ability to include the same subtables into both extension menu and the user menu is lost.

The main point is that in OFM there should be a possibility of dynamic association when user is presented with several choices. The classic example when one can benefit from that feature is the  use of extension .DOC. It is so overused (text, RTF, MS Word native format contents are common), that the correct choice of viewer is often impossible without examining the first bytes of the file.

Click on name, size and date does NOT change the sort order, etc. as OFM paradigm requires although FAR provides a symbol in the upper left corner of each panel clicking on which provide user with the menu, that contains most of the options. But this solution is less elegant that using column headers as buttons.

GUI-based implementations

Midnight Commander has alpha/beta level support for three different GUIs: tk, xview and gnome. The tk support might even work on Windows 95 (giving Windows 95 GUI to Midnight Commander).

GUI editions of Midnight Commander support drag-n-drop and context menus (right mouse button).

GUI present a lot of difficulties for the implementing OFM as creation of decent interface and implementation of drag and drop are very time consuming. I know much less about GUI-based implementations that about text-based implementation, so this part of the article is still very raw. 

WinCmd -- Windows Commander

Windows Commander by Christian Ghisler is probably the most well known example GOFM. Windows Commander 1.0 was released in the autumn of 1993. I have tested the version  3.03 that was released in July 1997. I personally consider it to be the best GUI-based OFM implementation and prefer it to the   Norton Commander for Windows (NCW).  Currently is can be viewed as a reference GOFM implementation and it is much better deal for long time OFM users than NCW (see below).

The next version of WinCmd (v. 3.5, currently  in beta, will be released in the second quarter of 1998) will have three major enhancements (ftp VFS; the directory hotlist similar to favorites in a WWW browser; history list similar to a WWW browser; start menu with sub-menus and shortcut keys). Other features in the v. 3.5 includes: The direct access to Network Neighborhood without mapping a drive; ability to unpack Microsoft CAB files and CAB self extracting archives; button bar will be configurable; the ability to put Wincmd to the system tray.

Level of compatibility

The current version (3.03) fairy well conforms to the level 1 of  "The Orthodoxness Test"(suppl.1). It also well conforms to the part 1 of the level 2 of the test (archive VFS implementation test).

Advanced features implemented.

WinCmd Contributions

Incompatibilities

Ctrl-U does not switch panels is one panel contains the tree view.  Restore selection operation is absent. Directory favorites and folders in the start menu will be implemented in the v.3.5. Multiple file associations are supported in a limited way:   Wincmd uses the Win95 mechanism for associations. A right click or Shift-F10 opens the context menu, which can be extended and in a limited way supports multiple extensions.

Information window does not show the current file. Minor modification of this windows can increase the score and usability (I recommend to to change the information window to three line format used in FAR: the first line is info about group of selected files, if any, second is about the current file (it's name in actual case) and the third one - information about the current directory.

One minor, but important for long-time OFM users point: compare directories in not considered a command. It is considered a marking operation. Semantically this is correct, but classical key sequence F9-C-C for comparing the directories does not work. A key remapping mechanism is badly needed. 

NCW - Norton Commander for Windows95/NT

As I already pointed out NCW was essentially reanimation of discontinued product that was made by Symantec under pressers from European users (German users were especially vocal in this respect). The first impression after installing NCW was mixed. It is definitely the most expensive OFM implementation on the market ($120) and it is not directly available in USA (one needs to buy it from Great Britain) and it is not supported in By USA headquarters. But the functionality provided is very modest and from that point of view it seems to be overpriced. It looks like more or less diligent reproduction of NC5 in GUI -- more like a student project that advancement of the state of the art. It can be used as a OFM, but probably be recommended only for low level users.  For the power and long-time OFM users Windows Commander 3.5 is preferable (and much cheaper).

The main enhancement is a built-in scheduler.  I like it very much (BTW it can plays chime every hour). It  proved to be a really useful addition, that integrates well with OFM functionality. But file manipulation capabilities and support of command line are underpowered.

Despite the price NCW does not supply its own viewers and bundles basic Quick View Plus viewers. So to view HTML one need to get full version of Quick View Plus. If you try to use Navigator as a HTML viewer NCW try to display additional non existent empty file after loading the original one (looks like extra keystroke is transmitted to NCW).

Oleg Volochtchuck is listed in the development team. But recent rumors suggest that he moved to the USA and now works on other projects.

Advanced features implemented.

NCW Contributions

Incompatibilities

Ctrl-E, Ctrl-R and Ctrl-O do not work at all. Generally command line support leave much to be desired. Renaming of directories is clumsy. 

Sectant implementations

JC line - an example of sectant implementation

JC Commander made its first official English-language release in early 1996 - the same year as FAR and IMHO was influenced by MC and DN. V2.0 released in early 1996 supported long file names under WIN95. The current version is 2.2 and exists for  OS/2, Dos and Windows95. It can be considered as advanced sectant implementation.

Among advanced features supported by JC:

JC deviations

Although a strong product,  the value of JC is greatly undermined by serious deviations from the orthodox doctrine in more ways that other implementations discussed above. It does not pass Part 1 of the orthodoxness test and can be classified as a sectant implementation. 

A lot of keystrokes that are engraved in motor skills of long time OFM users behave differently. For example, such a basic for OFM users keystroke as Alt-F1 does not provide list of drives for left panel. Alt-F10 does not show Tree search panel, but just changes the second panel to the tree view, Alt-U does not exchange panels. 

Selections are not persistent. That mean that selection of *.exe and then *.com will not lead to selection of files with extensions EXE and .COM.  Even worse the deselection key (Gray "-") does not accept any regular expression at all.

Although the level of implementation is pretty impressive, I do not recommend JC to long time OFM users, unless the author implements key assignment scheme in the Setup in future versions.

Comparative table

  NC VC DN FAR WinCmd NC for Win95 MC
OFM Type Classic Classic Classic Classic GUI GUI Classic/GUI
The current version 5.0 5.0 alpha 1.5 1.5 beta 3.03 1.0 4.1.21
OS supported DOS DOS, OS/2, Win 95 DOS OS/2, Win95, NT WIN3.1, OS/2, Win95, NT Win95/NT Unix, Win95/NT, OS/2
Size of compressed distribution 1.4M   100K 1M 500K   1M    ??? 1M
Software type Commercial Shareware Shareware Shareware Shareware Commercial GNU General Public License
Price $90    $20 $20/$35   $20   $36       $120 Free

The Orthodoxness Test     

Part 1 100% 80% 90%* 100% 90% 70% 63%
Part 2 40% 25% 75% 50%   50%     25% 85%
Part 3 0%           32%
Part 4 0%           12%

* Feature set is 100%, but key compatibility is 90%

About the author

The author start working with NC 2.0 in late 1989 and used all major orthodox implementations since including NC 3.0, 4.0, 5.0,  VC 4.0, FC, VC5.0beta, FAR 1.50b and several other OFMs. My main OFM for the last 4 years was VC, but now I use FAR more often. I also have some experience with  GUI-based OFMs including Windows Commander and Norton Commander for Windows 95.

Author would appreciate comments of the technical issues raised in the paper. Please sent you comments to nnb@bellatlantic.net.  The latest copy of the paper is available from the www.softpanorama.org.

Acknowledgments

The author would like to thank  Finn Ekberg Christiansen (the maintainer of the Unofficial Volkov Commander Page) for his feedback on the v.1.01 of the article and to Eugene Roshal, who point out a lot of errors and inconsistencies in the v.1.02 and 1.03  of the paper.

Supplement 1.

The Orthodoxness Test (version 0.6).

The Orthodoxness Test is a five stage test, results of which are depicted in a way similar to TCP/IP addresses i.e. 100.45.0.0 means that particular OFM has a score 100% on part 1 (basic NC compatibility), score 46% out  on the part 2 (Virtual File Systems) and zeroes on the part three and four of the test (see below).

The score is determined separately for each section. For example if section weight is 10% and a given OFM comply with 80% of subsections of this section, then the total score for the section will be 10%*80%=8%.  If weights of subsections are not given then equal weight of each subsection is assumed (i.e. the weight of each subsection is equal to 100/number_of_subsections).

Important notes:

Part 1. Basic compatibility

The following comments refer to whether a particular feature is supported by Midnight Commander 4.1.21 or not.
  1. Compatibility with NC 5.0 semantics in basic key movement (the key assignments listed below can different, if remapping capability exists) on the left to right panels including, but not limited to the following (10% with equal weight of each subsection) :

Supported.
Not supported, "ctrl-\" invokes directory hotlist.

Supported with different key assignment: turn on the lynx-like motion feature and use left and right arrows.

Supported.
Supported.
Supported by Win95/NT and OS/2 ports with different key assignment (F11 and F12).

Supported.
Supported with different key assignment (+ and \), detecting whether a key is the gray one or the white one is difficult on unix.

Supported with different key assignment (ctrl-x q).

Supported.
Supported with different key assignment (ctrl-x i).

  1. Compatibility of  F1..F8 operations with NC 3.0 semantics:
Supported.
Supported.
Supported.
Supported.
Partial support: whether internal or external viewer or editor is used is configurable from the options dialog.

Supported.
Partial support, destination directory cannot be selected from tree view.

Partial support, the chmod and chown features can be used to change attributes, timestamps cannot be change, operation cannot be applied to a subtree.

Supported.

  1. Tree view compatibility:
Not supported due to a bug, worked in the past.

Not supported.
Supported.
Not supported.

  1. Selection/deselection compatibility:
Supported with different key assignment (+ and \), detecting whether a key is the gray one or the white one is difficult on unix.

Supported.
Supported with a different key assignment (Meta-*).

Not supported.
Supported.

  1. Tree search panel compatibility:
Not supported.
Supported, Midnight Commander never scans more than one directory at a time.

Supported.
Supported with a different key assignment (ctrl-s).

  1. Quick view compatibility:
Supported.
Supported.
Supported.
Supported.

  1. Quick search compatibility:
Supported with different syntax: press "ctrl-s" first, then type the search string. Under some circumstances "ctrl-s" can be omitted.

Supported with a different key assignment (ctrl-s).

  1. Shell execution compatibility (the ability to specify the shell and its parameters required for GUI-based implementations)

Supported (ctrl-o).
Not supported.
Supported with a different key assignment: history is Meta-H, previous command is Meta-P, next command is Meta-N.

  1. Sorting directories compatibility:
Supported.
Supported.
Not supported.

  1. . User menu script invocation compatibility (GUI implementations can provide alternative methods to run custom scripts with parameters taken from the panel):
Supported.
Supported.

  1. . Association management compatibility:
Partial support.
Supported by the GUI editions.

Part 2.Virtual file systems support

Support of  two VFS - archive and FTP is now required for leading OFMs.   Currently only FAR and MC support both.

  1. Archive virtual file system(25%):
Only extract supported, compress is not supported.

Supported.
Partial support: edit, compress, delete and rename are not supported.

Partial support: subdirectories inside a ARJ archive are not properly supported due to limitations in UNARJ. A fix for this is available from Eric Lammerts.

Not supported.
Not supported.

  1. FTP virtual file system (25%). 
Supported.
Supported.
Supported via Find File - Panelize.
  1. Flat tree VFS --  the ability to view all files in a given directory and its subdirectories as a plain list (like in Xtree) .  This is a very important feature for system administration  (20%). 

Standard unix feature (symbolic links).
  1. Briefcase VFS. All operations that use this panel as a source and as a target should be allowed (15%). 

Supported via Find File - Panelize and External Panelize.
  1. FindFile/List  VFS -- the ability to view file search results as a regular panel with all file operations available as well as the capability of multiple searches using a text-file list (as in DN). All operations that use this panel as a source should be allowed (15%)

 

Part 3. Modern extensions

To get to this section a feature need to be implemented in at least one major OFM implementation and prove its usefulness. Features for which no reference implementation exists are listed in section 4 of the text.

  1. Navigation enhancements (favorites and history for visited directories): 10%
Supported.
Supported.
Supported.
Supported.
Not supported.
Not supported.

  1. Selection extensions:
Not supported.
Not supported.
Not supported.
Supported.
Partial support: something similar can be achieved by separating the alternatives with the |-sign.

  1. Command line extensions:

Supported: all the input widgets have persistent history.

Not supported.
Not supported, Meta-Tab invokes a different kind of completion.

Supported with a different key assignment (ctrl-s p and ctrl-x ctrl-p).

Not supported.
Supported (ctrl-x t and ctrl-x ctrl-t).

Standard unix feature.
Standard unix feature.

  1. Commands enhancements: 
Supported: all the input widgets have persistent history.

Not supported.
Not supported, not needed on unix.

Not supported.
Not supported.
Not supported.
Supported via F6 (RenMov).

Supported.

  1. Panel view enhancements:
Supported by the GUI editions.

Standard unix feature.
Supported with different implementation: the input box for panel template has persistent history.
Not supported.
Not supported, use Alt-9 instead.

Not supported, a fix for this exists but hasn't been applied to the main source yet.

Supported.
Not supported.

  1. Tree view panel enhancements:
Supported: the directory tree expand/collapse happens automatically in the dynamic tree view of Midnight Commander. In the static tree view you can use F2 (rescan) and F3 (forget).

Not supported.
Not supported.
Not supported.
Not supported.
Supported in the dynamic tree view: left arrow moves to the parent, right arrow moves to the child and up and down arrows move between sibling directories.

  1. Built-in viewer enhancements:
Not supported, would conflict with the existing hotkeys.

Not supported.
Not supported.
Not supported.
Supported via Options - Display bits.

Not supported.
  1. Built-in editor enhancements:

  2. User menu and extension macro substitution symbol extensions:
Not supported.
Supported with different variable names (see table).

Part 4. Recommended extensions/Wish list

Not supported, Learn Keys is a different kind of feature.
  1. A separate from the macrorecoder key assignment mechanism similar to QEdit (via Setup) of MultiEdit (via run-time menu) editors. That can lessen the problem of incompatible key assignment for the same  functions in different OFMs.

Supported.
  1. Context dependent dynamic associations (it is easy to distinguish the type of the file by reading the first sector or block of the file. For example classic problem of guessing content of the document with extension  .DOC (is it in the  ASCII, RTF of MS Word format) can be solved this way.
Not supported.
  1. Additional capabilities of working with favorites (like in Netscape)
Not supported.
  1. Deletion of duplicates and automatic sorting of visited directories list by frequency (favorites lists).
Supported with diffenrent variable name (%s and %S).
  1. Implementation of @ not as a separate macro variable, but as a modifier to any existing macro variable (for example @!.! with the following semantics: it should have a value of current file if no files are selected and value of the list of selected files otherwise.

Not supported.
  1. Mkdir button should be dimmed if the active panel view archive content.
Not supported, on unix F11 is the same as Shift+F1.
  1. The bottom menu should show F1..F12, nor F1-F10 (IMHO now to find an XT keyboard is rather difficult :-).
  2.  

Not supported.
  1. . The title tag in HTML documents should be considered as a description and viewed in the appropriate field on the panel.
Not supported.
  1. . Integration of  HTML-related navigation (see discussion above)
Not supported, a little of scripting language functionality can be achieved via the MC_CONTROL_FILE feature.
  1. . Integration of TCL or REXX as a macro language

Not supported.
  1. . Integration of a simple HTML viewer with ability to jump from hyperlink to the panel view of the appropriate directory.
Midnight Commander has a lot of features not listed above and probably not present in any other OFM. These include:
  • External file systems: an easy way to add a new VFS (read-only).
  • External panelize: an extremely powerful way to select which files are shown in a directory panel.
  • Background copy and move.
  • Two tree view mode: static (normal) and dynamic (automatic expand/collapse)
  • User menu/extension file macros work on the command line, too. This makes it easy to execute same command for multiple sets of files (this makes command lines shorter, too).
  • Filtered view.
  • All the input widgets have persistent history.
  • Conditional user menu entries.
  • Input line completion.
  • Concurrent shell.


Etc

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc. We believe this constitutes a 'fair use' of any such copyrighted material as provided for in section 107 of the US Copyright Law. In accordance with Title 17 U.S.C. Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes.   If you wish to use copyrighted material from this site for purposes of your own that go beyond 'fair use', you must obtain permission from the copyright owner. 

ABUSE: IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days. Multiple types of probes increase this period.  

Society

Groupthink : Two Party System as Polyarchy : Corruption of Regulators : Bureaucracies : Understanding Micromanagers and Control Freaks : Toxic Managers :   Harvard Mafia : Diplomatic Communication : Surviving a Bad Performance Review : Insufficient Retirement Funds as Immanent Problem of Neoliberal Regime : PseudoScience : Who Rules America : Neoliberalism  : The Iron Law of Oligarchy : Libertarian Philosophy

Quotes

War and Peace : Skeptical Finance : John Kenneth Galbraith :Talleyrand : Oscar Wilde : Otto Von Bismarck : Keynes : George Carlin : Skeptics : Propaganda  : SE quotes : Language Design and Programming Quotes : Random IT-related quotesSomerset Maugham : Marcus Aurelius : Kurt Vonnegut : Eric Hoffer : Winston Churchill : Napoleon Bonaparte : Ambrose BierceBernard Shaw : Mark Twain Quotes

Bulletin:

Vol 25, No.12 (December, 2013) Rational Fools vs. Efficient Crooks The efficient markets hypothesis : Political Skeptic Bulletin, 2013 : Unemployment Bulletin, 2010 :  Vol 23, No.10 (October, 2011) An observation about corporate security departments : Slightly Skeptical Euromaydan Chronicles, June 2014 : Greenspan legacy bulletin, 2008 : Vol 25, No.10 (October, 2013) Cryptolocker Trojan (Win32/Crilock.A) : Vol 25, No.08 (August, 2013) Cloud providers as intelligence collection hubs : Financial Humor Bulletin, 2010 : Inequality Bulletin, 2009 : Financial Humor Bulletin, 2008 : Copyleft Problems Bulletin, 2004 : Financial Humor Bulletin, 2011 : Energy Bulletin, 2010 : Malware Protection Bulletin, 2010 : Vol 26, No.1 (January, 2013) Object-Oriented Cult : Political Skeptic Bulletin, 2011 : Vol 23, No.11 (November, 2011) Softpanorama classification of sysadmin horror stories : Vol 25, No.05 (May, 2013) Corporate bullshit as a communication method  : Vol 25, No.06 (June, 2013) A Note on the Relationship of Brooks Law and Conway Law

History:

Fifty glorious years (1950-2000): the triumph of the US computer engineering : Donald Knuth : TAoCP and its Influence of Computer Science : Richard Stallman : Linus Torvalds  : Larry Wall  : John K. Ousterhout : CTSS : Multix OS Unix History : Unix shell history : VI editor : History of pipes concept : Solaris : MS DOSProgramming Languages History : PL/1 : Simula 67 : C : History of GCC developmentScripting Languages : Perl history   : OS History : Mail : DNS : SSH : CPU Instruction Sets : SPARC systems 1987-2006 : Norton Commander : Norton Utilities : Norton Ghost : Frontpage history : Malware Defense History : GNU Screen : OSS early history

Classic books:

The Peter Principle : Parkinson Law : 1984 : The Mythical Man-MonthHow to Solve It by George Polya : The Art of Computer Programming : The Elements of Programming Style : The Unix Haterís Handbook : The Jargon file : The True Believer : Programming Pearls : The Good Soldier Svejk : The Power Elite

Most popular humor pages:

Manifest of the Softpanorama IT Slacker Society : Ten Commandments of the IT Slackers Society : Computer Humor Collection : BSD Logo Story : The Cuckoo's Egg : IT Slang : C++ Humor : ARE YOU A BBS ADDICT? : The Perl Purity Test : Object oriented programmers of all nations : Financial Humor : Financial Humor Bulletin, 2008 : Financial Humor Bulletin, 2010 : The Most Comprehensive Collection of Editor-related Humor : Programming Language Humor : Goldman Sachs related humor : Greenspan humor : C Humor : Scripting Humor : Real Programmers Humor : Web Humor : GPL-related Humor : OFM Humor : Politically Incorrect Humor : IDS Humor : "Linux Sucks" Humor : Russian Musical Humor : Best Russian Programmer Humor : Microsoft plans to buy Catholic Church : Richard Stallman Related Humor : Admin Humor : Perl-related Humor : Linus Torvalds Related humor : PseudoScience Related Humor : Networking Humor : Shell Humor : Financial Humor Bulletin, 2011 : Financial Humor Bulletin, 2012 : Financial Humor Bulletin, 2013 : Java Humor : Software Engineering Humor : Sun Solaris Related Humor : Education Humor : IBM Humor : Assembler-related Humor : VIM Humor : Computer Viruses Humor : Bright tomorrow is rescheduled to a day after tomorrow : Classic Computer Humor

The Last but not Least


Copyright © 1996-2016 by Dr. Nikolai Bezroukov. www.softpanorama.org was created as a service to the UN Sustainable Development Networking Programme (SDNP) in the author free time. This document is an industrial compilation designed and created exclusively for educational use and is distributed under the Softpanorama Content License.

The site uses AdSense so you need to be aware of Google privacy policy. You you do not want to be tracked by Google please disable Javascript for this site. This site is perfectly usable without Javascript.

Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine.

FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner. We are making such material available to advance understanding of computer science, IT technology, economic, scientific, and social issues. We believe this constitutes a 'fair use' of any such copyrighted material as provided by section 107 of the US Copyright Law according to which such material can be distributed without profit exclusively for research and educational purposes.

This is a Spartan WHYFF (We Help You For Free) site written by people for whom English is not a native language. Grammar and spelling errors should be expected. The site contain some broken links as it develops like a living tree...

You can use PayPal to make a contribution, supporting development of this site and speed up access. In case softpanorama.org is down you can use the at softpanorama.info

Disclaimer:

The statements, views and opinions presented on this web page are those of the author (or referenced source) and are not endorsed by, nor do they necessarily reflect, the opinions of the author present and former employers, SDNP or any other organization the author may be associated with. We do not warrant the correctness of the information provided or its fitness for any purpose.

Last modified: June, 14, 2015