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

Contents Bulletin Scripting in shell and Perl Network troubleshooting History Humor

Orthodox file managers (OFM) standards

News OFM Book Orthodox File Managers Standard 1999(OFM1999) - basic OFM requirements The Orthodox File Managers Standard 2004(OFM2004). Advanced OFM requirements The Orthodox File Managers Standard 2012(OFM2012) -- Cutting Edge Features of Orthodox File Managers Less is More: A rich functionality behind Spartan interface of Orthodox File Managers

Standards are often created in non-standard way, and often, de facto standard long precede the official one. Such de facto standard often has a form of "reference implementation".  That what happened with OFMs where Norton Commander, especially NC 3.0 and 5.5 and then Volkov commander, FAR and Total commander were the "source of inspiration" for many independent OFM developers on Windows. On Unix the most influential reference implementation other then Norton Commander 3.0 and 5.5 was Midnight Commander.

Reasonable people can disagree which elements of the standard are important and which are not. Programmers can always try to take an advantage of the ambiguity of specification, but adhering to the standard makes learning for the users less painful and makes migration of substantial percentage of user to better implemented, better supported OFMs a possibility (actually this was always the main advantage of OFM paradigm).

Still overcomplexity of the current computing environment make the question "When enough is enough" very important and very difficult to answer. Removing from the standard dead wood increases chances of its adoption by best products as any standard creates an implicit pressure for developers to comply with minimal requirements (see OFM1999).  Pressure that exists even when many of them never read the standard ;-). But some of their users did.

This is a third revision of the standards. Original (version 1) was published in Jan 1998 (see OFM Bulletin 1998). Version 2 was published in 2004 (when OFM2004 was added and OFM1999 substantially revised). The last revition was made in 2012. At this I three new versions were published

Due to the problem of overcomplexity,  "excessive zeal" in defining such any standard can backfire, so I am not in a hurry expanding those three with additional features for at least the next five years ;-). Actually this my foray into "standard creation" activity (which to say frankly is a very complex and underappreciated job). at least gave me some appreciation of the difficulties involved in creating a viable standard. In a way good standard should anticipate future and this is a very difficult task.

Of course today computers are tremendously more powerful then in 1999 when the first standard was created so some features excluded can be added and some limitations relaxed. But complexity of codebase for a good OFM implementation is now really "neck-breaking" and codebase for OFM on a compiled language can easily exceed 100K lines. That's probably why leaders did not change (we have FAR, Total Commander and MC as three leading implementations -- the same as we have in 1998 when the version 1 of OFM 1999 was published). This is also why standard 2004 (advanced OFM requirements) proves to be a way too complex and for the last seven year the progress toward meeting those requirements in existing OFMs was very slow. As of 2012 I do not think that it is feasible to measure the compliance with this standard the way I do it for OFM1999.

FAR integrated LUA in version 3.0, Total Commander now have multiple panels and horizontal positioning and Midnight Commander has better implementation of full shell terminal window and improved built-in editor.  That's about it. Among contenders only WinSCP supports scripting. There are a couple of pilot Python-based implementations, but how far they might go within the limitation of a single-developer model is unclear... 

In any case five years "revision period" adopted from the very beginning proved to be reasonable and I do not plan return to another revision before 2017. May be even longer  "cool down" period would be beneficial before the next revision (the period between 2004 and 2012 revisions was actually more then five years ;-).  

As with everything 80% return on implementing set of features can be achieved by implementing 20% of those features ;-). This paradox is true even for OFM1999...

To summarize the current stat of OFM standardization activity we can state that two standard are currently available, and one is under development:

  1. Orthodox File Managers Standard 1999 (OFM1999 - basic OFM requirements)
  2. Orthodox File Managers Standard 2004 (OFM2004 -- advanced OFM requirements )
  3. Orthodox File Managers Standard 2012 (OFM2012 -- "cutting edge features" and elements of "dream OFM" implementation; early draft).


Old News ;-)

[Oct 19, 2012] Noticed that Total Commander has severe limitation of command line implementation even in version 8.x

From "misunderimplemented" department ;-)

For example you can't put two command in the line separates by semicolon

[Oct 18, 2012] MC 4.8.1 has problem with new implementation of Ctrl-O when on return active panel is not change even is current directory was changed in shell.



Copyright 1996-2012 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. Site uses AdSense so you need to be aware of Google privacy policy. Original materials copyright belong to respective owners. Quotes are made for educational purposes only in compliance with the fair use doctrine. 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...

Disclaimer:

Last modified: July, 07, 2013