Office Applications round-up

Office Applications round-up


[ Site Index] [ Linux Index] [ Feedback ]


"Linux application support is very limited"

-- Microsoft ("Linux Myths").

Actually, there's more stuff out there than you can wave a substance-coated stick at. In this article, I'm going to poke around the wonderful world of office software, with an emphasis on spreadsheets and word processors. (I'd talk about databases too, but der Editor wouldn't give me an extra hundred pages.)

There are basically three categories of office software you need to be aware of on Linux. There are integrated office suites (like Microsoft Office -- all in one). There are stand-alone applications (word processors and spreadsheets). And there are things that are neither word processors nor spreadsheets, but serve the same function. These latter items typically come from the UNIX world rather than being ports of Windows applications; I include items like the TeX typesetting system (and LyX graphical front-end) in this, because although it isn't a word processor you can use it to write letters or books and do the same sort of things you'd do with a word processor.

In the integrated office category, the two current leaders are StarOffice and ApplixWare. However, they will soon be challenged by KOffice, the KDE integrated office suite (which is not yet in beta, but looks like a worthy contender). Also worthy of note is SIAG Office, an idiosyncratic open source office project that shows considerable promise. Corel have promised to release Corel Office 2000 on Linux, but as this is not yet available I'm not including it in this review -- it'll get a chunk of a later Linux column when it comes out.

In the word processor category, there are a number of choices; Word Perfect 8 is, of course, the grandfather of DOS-era word processors, and is available in a neat graphical version for Linux. There's also the curious case of Maxwell, which started life as a commercial word processor then went open-source. Among spreadsheets, we have WingZ -- which once promised to revolutionize the field, before Excel ate it's Windows-based market -- and SIAG, the centrepiece of SIAG Office (which can run on its own as a standalone spreadsheet, and is available as a stand-alone KDE version, KSIAG).

Finally there's the stuff you probably won't be familiar with. The TeX typesetting system (pronounced "tech"), invented by Donald Knuth, is ubiquitous on UNIX (and a lot more approachable than the traditional UNIX typesetter, troff). With the LaTeX macro package, TeX provides tools that make it relatively easy to produce books, articles, and letters using any text editor. And if you really don't want to learn all the control codes to type into your files, there is a wonderful tool called LyX (and a KDE version, KLyX); these aren't WYSIWYG word processors, but a "what you see is what you mean" word-processor-like tool for creating and printing LaTeX files.

StarOffice

StarOffice is, at heart, a clone of Microsoft Office 97. It's huge (if you download it, it runs to 70Mb), has more functionality than you can possibly use, and demands bags of machine resources; typically 30-60Mb of memory. Realistically, if you want to run StarOffice 5.1 on an intel-based Linux system, your minimum spec is a 166MHz processor and 64Mb of RAM -- double those figures if you don't enjoy listening to your hard disk.

StarOffice was created by a German company, Star Division, created in 1984 to write a German-language word processor. It grew like topsy, sprouted ports to a number of operating systems, and materialised on Linux as far back as 1995 (albeit in a somewhat wobbly version that is hardly recognizable as the ancestor of the smooth integrated suite available today).

In August, Star Division was bought out by Sun. Sun promptly announced some interesting developments. Star Division were formerly working on a port of StarOffice to Java; this is being continued by Sun, whose forthcoming StarPortal product is basically StarOffice for Java, designed to run on network computers. They're also releasing the source code to StarOffice under the Sun "community source" license. This is not true open source, as defined by Eric Raymond, insofar as Sun retain all rights to commercial derivatives: but it means that StarOffice will rapidly show up on non-Intel Linux platforms (such as PowerPC Linux) and other flavours of free UNIX. It also means that you can use StarOffice for free, unless you're a major corporation deploying more than 500 copies of it in your organisation.

StarOffice comes as standard with many linux distributions; you'll find it bundled free with SuSE Linux 6.2 and Caldera 2.3, and probably with Red Hat distributions after 6.0. If you don't have a copy, you can obtain it from Sun Microsystems, via www.stardivision.com; either download it (but be warned, it's big!) or order a free CD. Trying to run StarOffice on an older Linux distribution may be difficult; it requires several shared libraries that may not be present on old systems, and it also requires the X11 windowing system. (There's no console version available.) If you obtain it with a distribution, it should install just like a normal package; if you install it yourself, you must unpack the tar archive then follow the directions in the README file in the directory it creates. Note that there are two possible installation strategies: single user, or networked (which is the one you want to select if more than one person will use this copy of StarOffice). You run a networked installation by appending "/net" to the "install" command.

Because StarOffice used to be shareware, it requires a registration number. Sun provide a generic license, and say versions 5.2 and later won't need registering; meanwhile, you can use the following:

As the company name in the registration enter:
Sun Free Download Version
and for the key enter:
680A-0JH7-M60MVR-CQPD-147K
In use, StarOffice is strikingly reminiscent of an earlier version of Microsoft Office. It provides a desktop, StarDesktop, that resembles the Windows 95 screen, right down to the "start" button: the difference is that this is just the main window of the application, rather than a window manager. Incidentally, if installed under KDE, StarOffice integrates the "K" menu settings so that they show up under the "Start" button's menu. This is a nice touch, but the KDE applications aren't swallowed by StarDesktop; they run in their own windows, as usual. And StarOffice isn't (yet) sensitive to KDE's themes, other than at the level of window decorations.

One omission for which I am grateful is that StarOffice lacks any clone of Microsoft's talking paperclip and friends (a feature which on occasion has driven your reviewer into paroxysms of rage). Instead, it has a help feature that pops up hints and tips and can easily be switched off. There are fairly extensive on-line tutorials, and a truly huge reference manual for StarBASIC, StarOffice's built-in clone of Microsoft Visual Basic for Applications.

File format compatability is an important issue for any office suite; we live in a world dominated by Microsoft to such an extent that their proprietary document formats are ubiquitous. StarOffice can take this in its stride; it has import and export filters for a whole range of formats, including HTML, Microsoft formats as far back as Word 6 and as far forward as Office 97, RTF, dBase, Lotus, earlier Star Division formats, and a range of image types. It can't cope, however, with some of the UNIX environment's standards: LaTeX or troff documents, for example. (It's at little points like this that StarOffice's Windows heritage becomes glaringly obvious.) While its filter set is deficient compared to ApplixWare or Word Perfect, it has the basics nailed down -- you can read and write Microsoft Office documents transparently.

Trying to nail down what StarOffice can do is difficult, because StarOffice is a very big, versatile package -- like Microsoft Office, it has functions that most of us can never even imagine a use for. Some things are difficult; for example, I haven't been able to figure out a way of searching a text document for text surrounded by LaTeX-like macros and remove them, applying a style to the surrounded text -- at least, not without learning more about StarBASIC programming than I had intended to. But on the other hand, it can almost certainly be automated with a bit of programming. Like Microsoft Office, StarOffice looks like a platform you can write special-purpose business applications on; one, moreover, which also ties in pretty effectively to the world wide web, as it includes the ability to produce HTML (of fairly good quality, for a word processor). If you want to surf the web, StarOffice includes a newsreader, mail tool, and fairly competent web browser; it can even run JavaScript content and execute Java applets (if you tell it where your Java SDK is installed). If you want to prepare drawings, there's a reasonable sketch package built in. For presentations, there's a clone of Microsoft Outlook.

StarOffice doesn't have quite the same range of examples and wizards as the Microsoft product, but nevertheless the autopilots (for creating new documents of specific types) automate a lot of the legwork, and more importantly it has the same feel. If you need to plonk an office body in front of a computer running Linux, someone who neither knows nor cares about computers but absolutely must be able to process words and spread sheets, then StarOffice is definitely the way to go. It's basically Microsoft Office without the spurious dancing paperclips and inane Sirius Cybernetics Corporation "we're here to help you!" nonsense. The price is right (although the open source purists may quibble over the Sun licensing terms), and it hogs memory (like the Microsoft originals), but it does almost everything you can imagine wanting an office package to do and does so in a manner that will make Windows users feel right at home. As far as I'm concerned the only thing it obviously lacks, and needs, is a "vi" emulation mode. But that's just me ...

ApplixWare

ApplixWare, from Applix Inc., is another big integrated office package. Unlike StarOffice, ApplixWare comes from the UNIX world; it's shed the eye- watering price tag and moved down-market into Linux. You can download a demo (limited) edition from www.applix.com", or buy it direct; the basic kit costs US $99 (about £60). It also comes bundled with a number of other packages; there's a working version of 4.4.2 in Caldera 2.3, and SuSE Office 99 (based on SuSE 5.3, now obsolete) comes with ApplixWare 4.4.1.

Installation from the RPM files in the SuSE kit is pretty easy, but takes a lot of disk space -- 250Mb for a single-language kit with the full on-line documentation and samples. There's no registration dialog to fill in, which is a minor blessing. In use, ApplixWare takes up much less memory than StarOffice; 8-16Mb in normal use. It will run happily on lower-end hardware, although a realistic minimum is a 70Mhz machine with at least 32Mb of RAM (and more if you plan on running GNOME or KDE at the same time).

When you fire up ApplixWare, you get a small floating window with buttons to start up the various sub-applications -- word, draw, sheet, mail, and data (the SQL database query front-end). What you may not notice without poking around is the "*" (asterisk) menu -- this gives you access to the full range of the ApplixWare suite, including Applix Presents (the obligatory PowerPoint clone), the HTML editor, and various customisation and macro dialogues.

ApplixWare doesn't look like Microsoft Office: it has a fairly traditional Motif look-and-feel, which might seem a little dated by contemporary fashion standards but is highly customizable.

In use, it's hard to criticize ApplixWare for lacking features you'd expect of a full-blown office package -- because it doesn't. Anything you'd want to do in StarOffice you can also do in ApplixWare, albeit differently. The user interface has more of a bias towards pull-down menus and dialog boxes than the rather cluttered Microsoft-clone style favoured by StarOffice (which has rather too many tabbed forms and weird file selection boxes for this reviewer's taste). As with StarOffice, each application can embed objects that are actually documents created using another of the applications: it would be rather surprising to encounter an integrated suite that didn't, these days.

ApplixWare's file import and export filters are more extensive than those of StarOffice. Here its UNIX heritage shows; Interleaf and FrameMaker are supported, along with WordPerfect and the usual Microsoft suspects -- interestingly, there's no direct file exchange with StarOffice (and vice versa). Unlike StarOffice, you need to explicitly import or export files; ApplixWare only works seamlessly on its own file formats (whereas StarOffice tries to guess the type of a file and take apropriate action accordingly).

In use, Applix Words feels simpler and less cluttered than StarOffice, but this is deceptive -- because there are fewer toolbars and icons, but the functions are still there, under the menu tree. A particularly obvious way of exposing this hidden complexity is to look at the Edit->Find and Replace dialog box. Embedded in the Find and Replace dialog there's actually quite a powerful regular expression engine that also has the ability to parse styles. (As with StarOffice and the other integrated suites and word processors in this review, ApplixWare is able to cope with frames and do style-based markup -- that is, to designate blocks of text as belonging to a certain style with set characteristics and layout.)

On the database side, integration with ODBC-compatible databases and Informix, Ingres, Oracle, or Sybase is provided by Data. This probably doesn't mean much to you unless you need to work with a database -- but if you do, ApplixWare has extensive facilities to help you mine it.

ApplixWare is a bit more than just a bundle containing a word processor, spreadsheet, and supporting programs. For starters, embedded throughout the entire suite is ELF -- Extension Language Facility. As with StarBasic, you can record scripts of ELF commands using a macro recorder; you can also edit them, turning them into fairly complex applications that permit data entry and do useful things with the captured input. ELF is not a subdialect of Basic, but a different language -- however, at first sight it bears more than a little resemblance to Basic. There are some pretty powerful features in ELF; ApplixWare is multi-threaded and provides the ability to interoperate with CORBA-compliant ORBs, so you can hook it up to other business-critical applications and write a front end for them using the ApplixWare Builder rapid application development tool. Builder is a fairly comprehensive looking integrated development environment, reminiscent of visual Basic; it uses an object oriented approach with ELF as the application language, and can be used for event driven or real time applications (up to a point). In particular, you can set up applications that monitor a database and take action as and when it changes -- a valuable facility if you want to use ApplixWare as a business automation tool rather than just as an office suite.

If you don't like the Microsoft styling of StarOffice, or don't like the way StarOffice hogs memory, or don't need seamless interoperability with Microsoft applications, ApplixWare is probably the package for you. If you need industrial-strength database integration or the ability to use your office package as a RAD tool, ApplixWare is definitely the way to go.

KOffice

KOffice isn't out yet, so why am I writing about it? Simply put, because I think it represents the future.

Big commercial office suites like ApplixWare or StarOffice (or Microsoft Office, or Corel Office, for that matter) are feature-rich: but this is not necessarily a good thing. For starters, there is commercial pressure to release new versions of the software at regular intervals, even when there's no customer demand: companies are in business to sell products, and will sometimes try to push customers into purchasing new products by any means necessary. Marketing departments dream up new features which may or may not be useful to someone, or change user interfaces or file formats for whatever reason. (Anyone who's been forced to upgrade a copy of Microsoft Word 6 because it can't read or write more recent Word documents will appreciate how useful file formats can be to a marketing department.)

Open Source software has traditionally been famous for bad user interface design because it was mostly written by programmers, for programmers: the developer's temptation was always to ignore the user interface and instead expose the guts of the program for fellow-programmers to tinker with. (This is the only excuse I can come up with for the existence of GNU Emacs -- it's a monstrously powerful program with a user interface that seems cunningly designed to cause repetitive strain injuries and force the user to learn arcane keystroke combinations by heart.)

KOffice therefore represents a major sea-change in the field of office suites. For one thing, it's being developed by an open source team, unlike all the others in this review. Even SIAG Office is mostly a one-man band (although it, too is an open source project); but KOffice consists of a bunch of teams working on sub-projects and developing the system using the bazaar methodology that is the hallmark of successful open source projects. Secondly, KOffice starts with a clean slate and no marketing input whatsoever. The goal is not to maximize sales by churning (forcing users to update their software regularly), or by adding obscure features that nobody wants: the goal is to produce a rock-solid modern integrated office environment as part of KDE (the K Desktop Environment). To this end, KOffice has been under development for about a year; it should see the light of day with the release of KDE 2.0, probably in mid-2000, although you can download a developer's snapshot of the source code today.

(Be warned: although it is possible to use KOffice in its current state, it is probably a bad idea. Firstly, compiling it from scratch is not for the faint of heart -- it took me the best part of a day, I was forced to patch some typos and minor bugs in the C++ source code, and there is no guarantee that it doesn't harbour major bugs. Secondly, it's still changing: it will continue to mutate until hitting a functional freeze, after which the developers will concentrate on nailing any bugs that are left in it before a public release. So files you produce with a current snapshot may not be entirely compatible with a final version.)

Having made all these reservations, KOffice is a very nice piece of kit indeed. At its heart is an ORB (Object Request Broker), a server that lets programs request services from each other (over a network if necessary). It follows a document-centric model; you create a document (using any of the KOffice tools) and embed whatever data you want in it. For example, if you're creating a word processed document and want to incorporate a spreadsheet, you tell KWord to insert a sheet object -- and a live spreadsheet appears in a frame in your document. When you edit the sheet you're using the Sheet application rather than the word processor.

Like Microsoft Office 2000, KOffice uses XML (Extended Markup Language) as its common document format. XML is a subset of SGML (standard generalised markup language), a document description language which is to textual information pretty much what SQL is to databases. (You may be familiar with HTML, the common language of the web; HTML started life as a very tiny subset of both XML and SGML.)

Components of KOffice include KWord, a word processor that follows the model of FrameMaker (probably the best DTP package in the world, in your reviewer's admittedly biased opinion) and which is already suitable for basic DTP work; also KSpread, a spreadsheet. (KSpread, and soon the other KOffice tools, use the Python language for automation -- this is a big improvement on over-blown descendants of Basic, insofar as Python is a powerful, modern object-oriented language rather than a misplaced attempt to breathe life into the rotting corpse of a sixties-vintage experiment in teaching programming that pre-dated the contemporary ideas of structured or object-oriented programming.)

Other components include KImage (an image viewer), KIllustrator (a vector graphics editor modeled loosely on Adobe Illustrator), KImageShop (a Photoshop-like bitmap editor), KPresenter (why is a Powerpoint-like presentation package obligatory for all integrated packages? Why not something useful like an outline processor or mind mapper instead?), Kformula (a mathematical formula editor), KChart (for producing pretty output from those spreadsheets), and KataBase, a relational database system. Apparently it is also planned to make KLyX operate as a KOffice component, so that any other KOffice-type objects can be embedded in a KLyX document, and vice versa. At the time of writing, these tools are in various states of completion: some (Killustrator, KPresenter) are very usable, others are usable but short on features and tend to crash (KWord), and some are barely present (KataBase).

What is becoming clear is that all the parts are present -- before long, probably by mid-2000, KOffice will materialise in Linux distributions everywhere. It is smaller (in memory and disk space requirements), and cleaner, not being weighed down with spurious extras that nobody uses. It has a far better scripting model, one based on a modern programming language that is easy to learn and extremely powerful. Because it isn't competing for market share against Microsoft Office (like StarOffice) it doesn't have to cripple itself by mimicking Microsoft's poor user interface; because it's not commercial produce (like ApplixWare or Corel Office 2000) the developers can focus on whatever is useful rather than whatever sells extra copies. And because it's a bazaar project, like the Linux kernel, it promises to gather momentum suddenly and very visibly once it moves into beta testing. In twelve months time we may be looking back and wondering why on earth we ever bothered considering using a commercial office package.

SIAG Office

SIAG Office is a bit of a curiosity. Scheme In A Grid (Scheme is a dialect of the LISP programming language) started out as a spreadsheeting tool for computer scientists -- but has grown into a full-blown office suite. It's open source, but written principally by one developer (Ulric Eriksson). The complete suite consists of a spreadsheet (SIAG), a word processor (PW -- Pathetic Writer), an animation program (Egon), a text editor (XedPlus), a file manager (Xfiler), and a postscript file previewer (Gvu).

SIAG Office wasn't written to make Windows users feel at home. The applications all use Emacs key bindings rather than the maybe more familiar Windows or KDE key bindings (inherited from IBM's CUI standard by way of Windows 3). The programs all run as stand-alone applications; however, they integrate tightly -- you can embed SIAG spreadsheets in PW documents, for example. Basic file import/export to Microsoft formats is supported, albeit with some loss of layout information; and there are far fewer obvious widgets and bells and whistles than in the larger office suites. For example, LW lacks Applix Word's extensive book indexing and cross-referencing tools, or StarOffice's plethora of style control settings.

However, SIAG Office has a lot of power where you'd expect an open source project to have it -- in its programmability. It's written around a Scheme interpreter, and all the commands and functions built into the various applications are exposed so that you can get at them by writing scheme. Or Tcl or Guile code, too: SIAG Office supports multiple application languages. As an example of its power, one of the example spreadsheets that comes with SIAG itself implements a web server! This is potentially a very powerful tool for automating web-based forms, and SIAG office will in general appeal to the more technically-minded Linux user for its small size, extensibility, and power.

Incidentally, there's a port of the SIAG spreadsheet to the KDE user interface (which is rather nicer than the standard Xaw widget set that SIAG uses as standard). KSiag is currently the most solid, reliable spreadsheet for KDE, and if all you need is a spreadsheet it's highly recommended. (Whether it keeps that crown depends on how well it manages to keep up when the KOffice spreadsheet is reliable enough to trust for day-to-day work.)

Word processors

Your reviewer feels the need to make a confession at this point. I first met Word Perfect about eleven or twelve years ago, back when the then- current release was 4.2 for DOS. I did not enjoy the experience. Some people swore blind that Word Perfect 4.2 was simply the best word processor on the planet; I thought it was a dog's dinner, cursed by a plethora of incomprehensible function key sequences if you wanted to get anything done, underpowered in comparison with the likes of Borland Sprint or Microsoft Word.

Time has gone by since then; Word Perfect corporation fumbled the ball when Microsoft pitchforked most of the PC user base onto Windows and agressively marked Word. Then Word Perfect was bought by Corel, and then Corel got religion about Linux. You can now download Word Perfect 8 for Linux for free, or buy a copy on CD (with tons of extra clip art and so on and so forth) for not a lot of money. It's still Word Perfect -- but either it's not as bad as I remembered, or they improved it. A lot.

Word Perfect has a much smaller disk and memory footprint than the integrated packages -- taking about 6Mb of memory to run and 55Mb of disk space for a full install. It's also fairly economical in terms of screeen real estate; it should be fine on smaller, older systems.

Despite this, it isn't short on power features. In terms of word processing facilities, Word Perfect is the equal, or superior, of any of the integrated packages. In addition, it has some basic typesetting controls that StarOffice and ApplixWare lack (such as kerning and word/letter spacing controls), which make it fundamentally better suited to lightweight DTP work. And while all those confusing function key bindings are there, it also understands the CUI keystrokes (such as Alt-F for the file menu, then "S" for "save"). The list of file formats Word Perfect 8 understands is pretty huge -- including items like Island Write and Interleaf which will be of use to people coming from a UNIX text processing environment, as well as Windows users.

On the minus side, Word Perfect can't convert ApplixWare or StarOffice documents. (To be fair, those two packages can't interoperate with one another, either.) And my attempts to import RTF and Word documents created with StarOffice into Word Perfect failed (possibly because RTF isn't one file format, but actually has about half a dozen different versions that Microsoft entertainingly pins the one name on).

If you don't need the spreadsheeting functions or have a lower-end system, I'd strongly recommend Word Perfect as your word processor. It's either that or ...

LyX.

LyX (pronounced "licks") and the KDE version, KLyX, is not a word processor. It's a graphical front-end for the LaTeX typesetting system; you can get it from www.lyx.org or www.klyx.org. In use, it behaves much like a word processor, and you use it for the same purpose -- producing neat printed documents. But the differences are fairly drastic, once you run up against them.

Word processors all attempt to emulate typewriters to a greater or lesser extent, because back when people began writing the first word processors, typewriters where what the users expected. You type a line of text and maybe underline bits of it, or plop markers into the text to indicate that the selected chunk is in a different typeface.

LyX won't let you do that, because LyX is a front end for the TeX typesetting package. TeX is a compiler; you feed in a file containing instructions and text, and it emits postscript (or an intermediate format, called DVI) containing the human-readable text formatted in accordance with those instructions. LaTeX (pronounced "lay-tek") is a set of macros (TeX programs) that give you a handy set of commands for formatting bits of a document; if you say \address{hello} in a LaTeX document, TeX will format "hello" using the address style defined by LaTeX.

TeX (and LaTeX) are beloved of scientists, because they produce very high quality documents -- typeset quality, in fact, with beautiful kerning and tracking, excellent hyphenation control, and all the things that professional editors like to see in an academic paper. (In fact, most refereed journals expect papers to be submitted to them in LaTeX or a related TeX format). But learning TeX macros is a bit off-putting to someone who only wants to dash off a quick letter -- which is where LyX comes in.

LyX provides a word-processor-like front-end to LaTeX. You use it like a word processor and it produces LaTeX files that, when fed through TeX, produce beautiful typeset output. More: it shows you a good impression of how your pages will look in print -- it's a WYSIWYG environment, and instead of seeing raw text with embedded macros, you see text in whatever format it will appear in on paper. KLyX differs from LyX only insofar as it provides the nicer KDE user interface, but takes up twice as much memory (roughly 6Mb instead of 3Mb, on an empty document window). It's hard to say how much disk space LyX or KLyX take up, because they both require a full LaTeX package to be installed -- if you include all the supporting packages, fonts, DVI viewers, and so forth, this can easily top the 50Mb mark.

LyX is especially good at cross-referencing, tables, and indices, to say nothing of mathematical formulae; it supports LaTeX to the max, and is loaded with features that will appeal to scientists or engineers producing documents. It is highly customizable, if you're willing to learn a bit about TeX macros, and is probably the ideal word processing solution for students, academics, or engineers. It is, however, short on secretarial or office features (such as mail merge) -- not surprising, because that's not really what TeX is about. (If you want to do mailmerge on TeX documents, the traditional way to do it would be to write a perl or awk program to yank the appropriate information out of a database and stuff it into a template file while feeding the latter through TeX. Which is why TeX itself doesn't really come with support for that sort of feature -- it doesn't need it. Which, in turn, is why LyX doesn't provide it.)

Some secondary differences may annoy people who expect LyX to behave like a glass typewriter. Do you instinctively insert multiple spaces after a full stop? LyX (and TeX) will ignore them -- TeX has its own idea about how to space out text along a line. And a carriage return does not mean "end of line", it means "start a new paragraph". Subtle differences, but they may take some getting used to if you're new to driving a typesetter.

The main thing going in LyX's favour is that the quality of output it produces is unsurpassed. If what you want to do is grind out essays, or papers, or letters, or a book, LyX is the bee's knees.

Stuff you won't be familiar with

Linux comes from the wonderful world of UNIX, and a lot of the common tools of the PC world don't have exact equivalents in UNIX. UNIX didn't evolve big monolithic applications like word processors or spreadsheets because UNIX was a programmer's lego-box; extremely powerful processes could be constructed out of simple tools, instead of needing one middling-powerful program to do all the possible tasks relating to one problem domain.

For example, UNIX originally spread throughout Bell Labs in the early 1970's as a typesetting and word processing system. There was no word processing package; instead there was the troff typesetter (similar to TeX but more primitive and with a tendency towards obscure commands -- it's been called "the assembly language of desktop publishing" with good reason), the ed text editor (later, vi and emacs), and other tools.

These tools are still part of the Linux heritage, and you can find their up-to-date descendants (such as groff, GNU troff, or vim, vi-IMproved) in any Linux distribution. These programs do not have menus or graphical interfaces, and in many cases they don't have online help -- but they work, and they still do the job. In their case, the fact that they're nearly thirty years old doesn't mean they're primitive or obsolete; it simply means that they're stable, not really undergoing continuous development. Troff files created in 1975 remain readable today, which is something of a marvel when you compare it to the evanscent history of word processor file formats.

The moral of this story is that you don't need any of the products described in this feature merely to do publication-quality typesetting or write a book using Linux. If you have a full Linux distribution installed on your computer, you don't need to add extra software to do something as basic as writing a letter. A second conclusion to draw from this is that if you learn about the guts of the Linux toolset, you won't be tempted to buy applications just because they promise to do something useful -- in most cases, anything you want to do can already be done using an obscure tool buried in /usr/bin. Because Linux is not a consumer operating system predicated on the assumption that consumers buy software, you may be surprised to discover how much it can do for you.

(As for this article, it was written with the traditional tools: vi, wc, and a homebrew formatter carved out of perl.)


[ Site Index] [ Linux Index] [ Feedback ]