GeodSoft logo   GeodSoft

Linux, OpenBSD, Windows Server Comparison: Ease of Learning vs. Use & Repetitive Tasks

Since the widespread adoption of graphical user interfaces the entire computer industry and especially the trade press have almost universally confused two very different concepts. These are "Ease of Use" and "Ease of Learning". Ease of use is widely discussed and often regarded as one of the more important characteristics of any software product. The phrase ease of learning is not often used. In nearly every instance where the phrase ease of use appears in computer related literature, the phrase ease of learning should instead be substituted. Ease of use is nearly always used to mean that a product is easy to learn to use.

Products are easy to learn to use for any of several reasons. First, most (graphical) products today follow highly standardized user interface conventions so that once a users becomes familiar with the behavior of a particular widget, they have a good idea how a similar widget in another location or product will behave. Certain widgets tend to be located in very standardized locations. The actual name and icons associated with widgets varies but to the extent that names and icons carry across products and even platforms, this also aids user learning. Specific products will be easy to learn to use if the product developers anticipate user behavior and group product specific functions naturally under headings where users first look for them. If developers fail to anticipate user behavior and place functions where users have to search multiple menu entries to find them, the product will be regarded as hard to use.

Thus ease of use normally means how easily a user new to a product can figure out how to perform a specific action. Rarely is the ease that the tenth or one hundredth time the same action performed a topic for discussion. By the very nature of product reviews, operations are not repetitive. About the closest anyone comes to covering these issues is the occasional mention that a very common actions has no hot key and requires three or more menu selections to accomplish. In end user applications, many of the operations that once required macros to do efficiently, now have built in functions that perform the operation more naturally such as style sheets and templates, predefined envelope printing functions, built in database capabilities for merges, etc. Generally, end user office productivity applications do not have a lot of multi step functions, that need to be performed frequently.

In the area of system administration however, there are a number of tasks that are likely to be highly repetitive. The GUI tools that make office applications easy to learn, may also make system administration tasks also easy to learn. When we say easy to learn, we're talking simply about the mechanical steps to perform some task; it's unlikely that performing such a task, using a GUI or menu interface, will aid the administrator in understanding the concepts behind what is being done. The multi layered menus and graphical selection tools that may make finding and changing some setting simpler when well planned, may also make these tasks very burdensome to perform repeatedly, such as on a weekly, daily or even more frequent basis. To compensate, some of the most rigidly repetitive tasks, such as backups, include their own schedulers or can make use of a standard system scheduler.

In addition to the technical characteristics of the user interface, other factors are also related to both ease of learning and ease of use. These include the quality and availability of documentation, system architecture and whether it is designed to be open to users or hidden, and the availability of support and training services. These will also be discussed.

Windows Lacks Automation

Some processes can become quite tedious and labor intensive. Adding new users is a prime example. Compared to the tricky UNIX command line syntax of useradd and related utilities, opening a Windows User Manger window, clicking on new users, filling in several fields and opening the group dialog and control clicking several groups and then the add button or double clicking each group successively seems simple. For one or a few users, it is. As the number of users to be added or updated increases, the mechanics of opening and closing a several windows or dialogs per user can become quite tedious. I can't imagine using User Manager in academic environment, where there might be thousands of users to add and remove, each quarter or semester.

Though the basic UNIX user maintenance commands may be more complex initially than User Manager, they can be used in scripts. Even a modest size business, say 50 or more employees, has enough turnover, that in the long run a script is likely to be well worth while. For example, a number of access permissions and defaults are likely to be determined by a user's department. These might include access to several applications, a default printer, whether access to the command prompt is allowed, whether remote access is allowed, and membership in at least one and quite possibly multiple user groups. With a script, adding a new user should only require typing the script name, the username, the user's full name and the user's department abbreviation at the command prompt. The initial password is entered interactively, when prompted. In many environments, with a well planned script, this would be all that would be needed for most users. The unusual users would be handled on a case by case basis with the command line, text or GUI system administration tools appropriate to the system. For an academic environment, a script would process a list, hopefully created from enrollment or registration applications, and automatically create users as needed.

The point of this is that, the easy to learn Windows tools, become cumbersome to use as the tasks become more repetitive. At large enough volumes, the Windows tools simply become unusable. There are add on solutions on Windows systems, but when it's necessary to turn to them, it's not reasonable to claim "ease of use" as a Windows advantage. A modest priced add-on, the Resource Kit, may provide a sufficient solution in conjunction with scripting skills. Alternatively, an expensive commercial add-on may be the answer, though the open source and free, UNIX derived, Perl scripting language (included with nearly every UNIX like system and available for free on every significant platform today), is a powerful administrator supplement on Windows, and could handle the kinds of tasks described here.

Perl script skills are common on UNIX and rare on Windows; there are no scripting skills that are routine part of Windows administration. Even batch programming skills, as simple (and limited) as that "language" is, have largely fallen into disuse. Most Windows administrators are entirely dependent on the GUI management interface, and even where it should be obvious that something should be automated, do not have the knowledge or skills to do it. Only where automation is an inherent part of the management tool being used, such as backup programs, are Windows management tasks normally automated. UNIX administrators, in contrast, are normally skilled in at least one scripting language, and routinely expect to automate repetitive parts of their jobs.

The typical product review, including operating system reviews, necessarily focus on setup and ease of learning issues, feature list comparisons and possibly performance as well as other factors that can be compared in relatively brief periods during which the products are being compared. No standard product review can easily focus on long term maintenance issues in a test environment. Only someone with significant experience in the day to day administration of both types of systems, is in a good position to make meaningful comparisons on these issues.

I've said enough to suggest that Windows server systems have a pro novice bias and that UNIX systems have an anti-novice bias because of the admitted up-front learning curve. Elsewhere, I've said with expert level administrators, Windows servers can be made adequately reliable and secure even though as a practical matter, Window's servers typically lag significantly behind UNIX servers in these areas. What about the majority of system administrators who are somewhere in the middle, neither novice nor expert?

After a fairly brief introductory period, Windows exhausts its novice bias, and fairly quickly becomes a hindrance to the continued learning by those administering it. Over time, experience will broaden as any administrator learns more products and becomes increasingly familiar with the menu structure of products they already use. A corresponding learning is likely to develop on any system. On UNIX, an administrator learns a growing variety of utilities, additional command options for utilities they are somewhat familiar with, and perhaps more important, a growing mastery of scripting syntax and both data and logic structures.

On Windows however, at the point that an administrator learns the menus, they hit a barrier beyond which Windows neither encourages growth, nor provides any tools with which to grow. Absent formal training and development programs, any Windows administrator is likely to reach a technical plateau beyond which they will not progress. Once they've learned the mechanics, what opportunities does Windows present for further development? When a job becomes repetitive how can it be automated? On UNIX, there is always more to learn. Any administrator can go as deep into the system, as the demands of their job and their own desires and skills allow, even to learning how a system works at the source code level, at least on the open source, UNIX like systems.

Some might argue that it's not reasonable for me to try to apply my 18 years of experience, including much software development, to "typical" administrators with one to five years of experience. I disagree. For reasons of necessity or choice, my career has moved over a variety of platforms creating a very broad knowledge, but I've never spent enough time on any system to reach what I consider an expert level. I don't mean to dismiss experience. My experience should give me both a conceptual framework and a variety of mechanics against which to compare any new system; I should be able to learn a new system faster than someone with less experience or skill. That doesn't mean that I should not be able to recognize obstacles to learning present on one system and not another.

With all my experience, if I hit obstacles on Windows, that I can't find my way around, the less experienced are even more likely to. Two common ways of dealing with Windows problems, rebooting and reinstalling illustrate exactly what I'm talking about. Neither is problem solving. Both are problem erasing. In one case you erase what's in memory, and the other what's on disk, to get back to a simpler state, in which the problem hopefully won't appear. It's pure luck whether the "fix" is temporary or permanent, because in neither case are the specific origins of the problem determined and eliminated. Even if all user data is saved, except on the newest systems, which don't normally have unexplained problems, a significant amount of both administrator and user time is lost, as the user will attempt to restore the system to whatever state they may have previously customized it. In my experience, these kinds of problems don't occur on UNIX.

If on a UNIX system, I carry automation further in either extent ("all routine tasks") or depth ("home grown intrusion detection") than a less experienced administrator, it doesn't mean the less experienced administrator won't be able to take advantage of the same tools and basic approaches on UNIX that I use. What seems routine will vary greatly with level of experience, as experience helps to see patterns that may otherwise not be apparent. Regardless of an administrator's level of experience, some tasks will become boring; boring is almost by definition, routine.

The first tasks a less experienced administrator automates, will be the simplest, most mechanical, and obviously repetitive tasks, and the scripts will be simple and deal with few if any exceptions. These come with experience. Also with experience, more things seem routine, and scripting skills evolve with level of experience. As soon as an administrator overcomes the unfamiliarity and apparent difficulty of a UNIX command line interface, which should not be more than several months in most cases, an administrator is limited only by their own abilities and not any artificially imposed system limits. The longer an individual has spent in a Windows or other environment with no meaningful command line experience of any kind, the more difficult the transition is likely to be, and some may not be able to make the transition.

System backup is perhaps, the most basic administrative task. If a Windows NT Server is on a budget and no third party backup products have been purchased the options are fairly limited. We'll assume that a tape drive was purchased which allows NTbackup to be used. This is an interactive GUI program but unlike most others, does include a useful set of command line arguments. What are the options available to an administrator? One is to not do backups which should not be acceptable. Next is to run NTbackup interactively. It's a simple program so it should be possible to do other things while it runs. In practice, it pops up a fair number of dialog boxes while it runs. You can do other things but not without interruptions and thus not very efficiently. If backups are performed interactively, they will be missed when the administrator is under time pressures and other tasks will be performed inefficiently while backups are run.

The last option is to automate backups to run during the night which is also likely to reduce the number of shared file conflicts. This requires learning NTbackup's command options and getting them into the system schedule via at.exe. This is very limited compared to cron but adequate for daily backups. The command, at.exe, is one of the few Windows commands of any importance, that has a command line form, without a GUI counterpart. (If you have the Resource Kit, "Winat" is a GUI substitute but is somewhat more limited than the command line version.) This in itself, says a lot about how unimportant repetitive tasks were to Microsoft, when it designed Windows NT. Of course if enough customers ask for functionality, Microsoft will include it. As they try to get their systems to compete with higher end systems, naturally Windows will acquire more of what is taken for granted in the UNIX world. When you see important multi user capabilities missing from Windows systems, remembering that Microsoft and its Windows operating systems are still growing up from single user systems will help understand the situation.

Returning to backup, if you want to do anything more than the most basic backup, such as change log file names on a rotating basis, then some scripting skills are required. Batch programming is not good at this kind of substitution and Perl or any serious scripting language, without previous experience, is likely to be too much of a hurdle to be practical. So even though Windows NT appears to have the tools to automate backups, there is a good chance there will be obstacles preventing a Windows only administrator from actually automating it, without third party tools such as backup programs that include their own scheduling options. Most other system administration tasks on Windows systems present even less opportunity for automation, without the use of third party tools.

On Windows systems, once the mechanics of the day to day job are mastered, Windows administration is likely to be boring on one hand because of the necessary repetition and frustrating on the other because of problems that are "fixed" but not solved.

Smart Monkey Administrators

Trying to hide the fundamental workings of the computer for a computer system administrator is like trying to train phone and photocopy repair persons or auto mechanics without training them in how the devices they repair, function in the first place. Without conceptual understanding, the best that can be accomplished is to follow predefined checklists and match observed results to predetermined decision trees. While this is a valuable diagnostic technique, it only covers standard, well understood problems, i.e., those that have already occurred with such frequency, that their determination and correction has been documented. It reduces the administrator to the proverbial "smart monkey". After the predefined troubleshooting steps have been performed, they can only guess at solutions or call for help.

Understanding the system with a problem allows two things that lack of understanding does not. First, the person who understands the system with a problem may, almost immediately see the problem and solution, without methodically following an involved, step by step diagnostic procedure. Second and more importantly, someone who understands a system, has a good chance of finding and fixing the problem or at least finding a satisfactory work around, for new or infrequent problems, that are not already clearly documented.

transparent spacer

Top of Page - Site Map

Copyright © 2000 - 2014 by George Shaffer. This material may be distributed only subject to the terms and conditions set forth in (or These terms are subject to change. Distribution is subject to the current terms, or at the choice of the distributor, those in an earlier, digitally signed electronic copy of (or cgi-bin/ from the time of the distribution. Distribution of substantively modified versions of GeodSoft content is prohibited without the explicit written permission of George Shaffer. Distribution of the work or derivatives of the work, in whole or in part, for commercial purposes is prohibited unless prior written permission is obtained from George Shaffer. Distribution in accordance with these terms, for unrestricted and uncompensated public access, non profit, or internal company use is allowed.


What's New
Email address

Copyright © 2000-2014, George Shaffer. Terms and Conditions of Use.