diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-08-15 09:54:36 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2018-08-15 09:54:36 +0200 |
commit | 36a37da721032b8d02fad41f22ad717ee8136f34 (patch) | |
tree | 6481c1e6fca21c63679c03ad66800d505334c7b8 /doc/context/sources/general/manuals/musings/musings-whytex.tex | |
parent | 1ef7a093aaf03b6327b3da94d47f53760c868c60 (diff) | |
download | context-36a37da721032b8d02fad41f22ad717ee8136f34.tar.gz |
2018-08-14 23:17:00
Diffstat (limited to 'doc/context/sources/general/manuals/musings/musings-whytex.tex')
-rw-r--r-- | doc/context/sources/general/manuals/musings/musings-whytex.tex | 326 |
1 files changed, 326 insertions, 0 deletions
diff --git a/doc/context/sources/general/manuals/musings/musings-whytex.tex b/doc/context/sources/general/manuals/musings/musings-whytex.tex new file mode 100644 index 000000000..8f9b7de9b --- /dev/null +++ b/doc/context/sources/general/manuals/musings/musings-whytex.tex @@ -0,0 +1,326 @@ +% language=uk + +\startcomponent musings-whytex + +\environment musings-style + +\startchapter[title={Why use \TEX ?}] + +\startsection[title={Introduction}] + +Let's assume that you know what \TEX\ is: a program that interprets a language +with the same name that makes it possible to convert (tagged) input into for +instance \PDF. For many of its users it is a black box: you key in some text, hit +a button and get some typeset result in return. After a while you start tweaking +this black box, meet other users (on the web), become more fluent and stick to it +forever. + +But now let's assume that you don't know \TEX\ and are in search of a system +that helps you create beautiful documents in an efficient way. When your +documents have a complex structure you are probably willing to spend some time on +figuring out what the best tool is. Even if a search lets you end up with +something called \TEX, a three letter word with a dropped E, you still don't +know what it is. Advertisement for \TEX\ is often pretty weak. It's rather easy +to point to the numerous documents that can be found on the web. But what exactly +does \TEX\ do and what are its benefits? In order to answer this we need to know +who you are: an author, editor, an organization that deals with documents or needs +to generate readable output, like publishers do. + +\stopsection + +\startsection[title={Authors}] + +We start with authors. Students of sciences that use mathematics don't have much +of a choice. But most of these documents hardly communicate the message that +\quotation {Everyone should use \TEX.} or that \quotation {All documents produced +by \TEX\ look great.} but they do advocate that for rendering math it is a pretty +good system. The source code of these documents often look rather messy and +unattractive and for a non|-|math user it can be intimidating. Choosing some +lightweight click|-|and|-|ping alternative looks attractive. +lightweight click|-|and|-|ping alternative looks attractive. + +Making \TEX\ popular is not going to happen by convincing those who have to write +an occasional letter or report. They should just use whatever suits them. On the +other hand if you love consistency, long term support, need math, are dealing +with a rare language or script, like to reuse content, prefer different styling +from one source, use one source for multiple documents, or maybe love open source +tools, then you are a candidate. Of course there is a learning curve but normally +you can master \TEX\ rather fast and once you get the hang of it there's often no +way back. But you always need to invest a bit beforehand. + +So what authors are candidates for \TEX ? It could be that \TEX\ is the only tool +that does the job. If so, you probably learned that from someone who saw you +struggle or had the same experience and wrote or talked about it somewhere. In +that case using \TEX\ for creating just one document (like a thesis) makes sense. +Otherwise, you should really wonder if you want to invest time in a tool that you +probably have to ditch later on as most organizations stick to standard +(commercial) word processing tools. + +Talking to customers we are often surprised that people have heard about \TEX, or +even used it for a few documents in college. Some universities just prescribe the +use of \TEX\ for reporting, so not much of a choice there. Memories are normally +rather positive in the sense that they know that it can do the job and that it's +flexible. + +User group journals, presentations at \TEX\ meetings, journals, books and manuals +that come with \TEX\ macro packages can all be used to determine if this tool +suits an author. Actually, I started using \TEX\ because the original \TEX book +had some magic, and reading it was just that: reading it, as I had no running +implementation. A few years later, when I had to write (evolving) reports, I +picked up again. But I'm not a typical user. + +\stopsection + +\startsection[title={Programmers}] + +When you are a programmer who has to generate reports, for instance in \PDF, or +write manuals, then \TEX\ can really be beneficial. Of course \TEX\ is not always +an obvious choice, but if you're a bit able to use it it's hard to beat in +quality, flexibility and efficiency. I'm often surprised that companies are +willing to pay a fortune for functionality that basically comes for free. +Programmers are accustomed to running commands and working in a code editor with +syntax highlighting so that helps too. They too recognize when something can be +done more efficiently. + +When you need to go from some kind of input (document source, database, +generated) to some rendered output there currently are a few endpoints: a +(dynamic) \HTML\ page, a \PDF\ document, something useable in a word processor, +or a representation using the desktop user interface. It's the second category +where \TEX\ is hard to beat but even using \TEX\ and \METAPOST\ for creating a +chart can make sense. + +There are of course special cases where \TEX\ fits in nicely. Say that you have +to combine \PDF\ documents. There are numerous tools to do that and \TEX\ is one. +The advantage of \TEX\ over other tools is that it's trivial to add additional +text, number pages, provide headers and footers. And it will work forever. Why? +Because \TEX\ has been around for decades and will be around for decades to come. +It's an independent component. The problem with choosing for \TEX\ is that the +starting point is important. The question is not \quotation {What tool should I +use?} but \quotation {What problem do I need to solve?}. An open discussion about +the objectives and possibilities is needed, not some checklist based on +assumptions. If you don't know \TEX\ and have never worked with a programmable +typesetting environment, you probably don't see the possibilities. In fact, you +might even choose for \TEX\ for the wrong reasons. + +The problem with this category of users is that they seldom have the freedom to +choose their tools. There are not that many jobs where the management is able to +recognize the clever programmer who can determine that \TEX\ is suitable for a +lot of jobs and can save money and time. Even the long term availability and +support is not an argument since not only most tools (or even apis) changes every +few years but also organizations themselves change ownership, objectives, and +personnel on a whim. The concept of \quote {long term} is hard to grasp for most +people (just look at politics) and it's only in retrospect that one can say +\quote {We used that toolkit for over a decade.} + +\stopsection + +\startsection[title={Organizations}] + +Authors (often) have the advantage that they can choose themselves: they can use +what they like. In practice any decent programmer is able to find the suitable +tools but convincing the management to use one of them can be a challenge. Here +we're also talking of \quote {comfort zones}: you have to like a tool(chain). +Organizations normally don't look for \TEX. Special departments are responsible +for choosing and negotiating whatever is used in a company. Unfortunately +companies don't always start from the open question \quotation {We have this +problem, we want to go there, what should we do?} and then discuss options with +for instance those who know \TEX. Instead requirements are formulated and matches +are found. The question then is \quotation {Are these requirements cut in stone?} +and if not (read: we just omit some requirements when most alternatives don't +meet them), were other requirements forgotten? Therefore organizations can end up +with the wrong choice (using \TEX\ in a situation where it makes no sense) or +don't see opportunities (not using \TEX\ while it makes most sense). It doesn't +help that a hybrid solution (use a mix of \TEX\ and other tools) is often not an +option. Where an author can just stop using a tool after a few days of +disappointment, and where a programmer can play around a bit before making a +choice, an organization probably best can start small with a proof of concept. + +Let's take a use case. A publisher wants to automatically convert \XML\ files +into \PDF. One product can come from multiple sources (we have cases where +thousands of small \XML\ files combine into one final product). Say that we have +three different layouts: a theory book, a teachers manual and an answer book. In +addition special proofing documents have to be rendered. The products might be +produced on demand with different topics in any combination. There is at least +one image and table per page, but there can be more. There are color and +backgrounds used, tables of contents generated, there is extensive cross +referencing and an index. Of course there is math. + +Now let's assume an initial setup costs 20K Euro and, what happens often when the +real products show up, a revision after one year takes the same amount. We also +assume 10K for the following eight years for support. So, we end up with 120K +over 10 years. If one goes cheap we can consider half of that, or we can be +pessimistic and double the amount. + +The first year 10K pages are produced, the second year 20K and after that 30K per +year. So, we're talking of 270K pages. If we include customer specific documents +and proofing we might as well end up with a multiple of that. + +So, we have 120K Euro divided by 270K pages or about half an Euro per page. But +likely we have more pages so it costs less. If we double the costs then we can +assume that some major changes took place which means more pages. In fact we had +projects where the layout changed, all documents were regenerated and the costs +were included in the revision, so far from double. We also see many more pages +being generated so in practice the price per page drops below half an Euro. The +more we process the cheaper it gets and one server can produce a lot of pages! + +Now, the interesting bit of such a calculation is that the costs only concern the +hours spent on a solution. A \TEX\ based system comes for free and there are no +license costs. Whatever alternative is taken, even if it is as flexible, it will +involve additional costs. From the perspective of costs it's very hard to beat +\TEX. Add to that the possibility for custom extensions, long term usage and the +fact that one can adapt the system. The main question of course is: does it do +the job. The only way to find out is to either experiment (which is free), +consult an expert (not free, but then needed anyway for any solution) or ask an +expert to make a proof of concept (also not free but relatively cheap and +definitely cheaper than a failure). In fact, before making decisions about what +solution is best it might be a good idea to check with an expert anyway, because +more or less than one thinks might be possible. Also, take into account that the +\TEX\ ecosystem is often one of the first to support new technologies, and +normally does that within its existing interface. And there is plenty of free +support and knowledge available once you know how to find it. Instead of wasting +time and money on advertisement and fancy websites, effort goes into support and +development. Even if you doubt that the current provider is around in the decade +to come, you can be sure that there will be others, simply because \TEX\ attracts +people. Okay, it doesn't help that large companies like to out source to +far||far||away and expect support around the corner, so in the end they might +kill their support chain. + +When talking of \TEX\ used in organizations we tend to think of publishers. But +this is only a small subset of organizations where information gets transformed +into something presentable. For small organizations the choice for \TEX\ can be +easy: costs, long term stability, knowing some experts are driving forces. For +large organizations these factors seem (at least to us) hardly relevant. We've +(had) projects where actually the choice for using a \TEX\ based solution was (in +retrospect) a negative one: there was no other tool than this relatively unknown +thing called \TEX. Or, because the normal tools could not be used, one ended up +with a solution where (behind the scenes) \TEX\ is used, without the organization +knowing it. Or, it happened that the problem at hand was mostly one that demands +in|-|depth knowledge of manipulating content, cleaning up messy data, combining +resources (images or \PDF\ documents), all things that happen to be available in +the perspective of \TEX. If you can solve a hard to solve problem for them then +an organization doesn't care what tool you use. What does matter is that the +solution runs forever, that costs are controllable and above all, that it +\quotation {Just works.} And if you can make it work fast, that helps too. We +can safely claim that when \TEX\ is evaluated as being a good option, that in the +end it always works out quite well. + +Among arguments that (large) organizations like to use against a choice for \TEX\ +(or something comparable) are the size of the company that they buy their +solution from, the expected availability for support, and the wide|-|spread usage +of the tool at hand. One can wonder if it also matters that many vendors change +ownership, change products every few years, change license conditions when they +like, charge a lot for support or just abort a tool chain. Unfortunately when that +happens those responsible for choosing such a system can have moved on to another +job, so this is seldom part of an evaluation. For the supplier the other side of +the table is just as much of a gamble. In that respect, an organization that +wants to use an open source (and|/|or free) solution should realize that getting +a return on investment on such a development is pretty hard to achieve. So, who +really takes the risk for writing open source? + +For us, the reason to develop \CONTEXT\ and make it open is that it fits in our +philosophy and we like the community. It is actually not really giving us an +advantage commercially: it costs way more to develop, support and keep +up|-|to|-|date than it will ever return. We can come up with better, faster and +easier solutions and in the end we pay the price because it takes less time to +cook up styles. So there is some backslash involved because commercially a +difficult solution leads to more billable hours. Luckily we tend to avoid wasting +time so we improve when possible and then it ends up in the distributed code. +And, once the solution is there, anyone can use it. Basically also for us it's +just a tool, like the operating system, editor and viewer are. So, what keep +development going is mostly the interaction with the community. This also means +that a customer can't really demand functionality for free: either wait for it to +show up or pay for it (which seldom happens). Open source is not equivalent with +\quotation {You get immediately what you want because someone out there writes +the code.}. There has to be a valid reason and often it's just users and meetings +or just some challenge that drives it. + +This being said, it is hard to convince a company to use \TEX. It has to come +from users in the organization. Or, what we sometimes see with publishers, it +comes with an author team or acquired product line where it's the only option. +Even then we seldom see transfer to other branches in the organizations. No one +seems to wonder \quotation {How on earth can that \XML\ to \PDF\ project produce +whatever output in large quantities in a short period of time} while other (past) +projects failed. It probably relates to the abstraction of the process. Even +among \TEX\ users it can be that you demonstrate something with a click on a +button and that many years afterwards someone present at that moment tells you +that they just discovered that this or that can be done by hitting a button. I'm +not claiming that \TEX\ is the magic wand for everything but in some areas it's +pretty much ahead of the pack. Go to a \TEX\ user meeting and you will be surprised +about the accumulated diverse knowledge present in the room. It's user demand that +drives \CONTEXT\ development, not commerce. + +\stopsection + +\startsection[title={Choosing}] + +So, where can one find information about \TEX\ and friends? On the web +one has to use the right search keys, so adding \type {tex} helps: \typ {context +tex} or \typ {xml tex pdf} and so on. Can one make a fancy hip website, sure, but +it being a life|-|long, already old and mature environment, and given that it +comes for free, or is used low|-|budget, not much effort and money can be spent +on advertising it. A benefit is that no false promises and hypes are made either. +If you want to know more, just ask the right folks. + +For all kind of topics one can find interesting videos and blogs. One can +subscribe to channels on YouTube or join forums. Unfortunately not that many +bloggers or vloggers or podcasters come up with original material every time, and +often one starts to recognize patterns and will get boring by repetition of wisdom +and arguments. The same is true for manuals. Is a ten year old manual really +obsolete? Should we just recompile it to fake an update while in fact there has +been no need for it? Should we post twenty similar presentations while one can +do? (If one already wants to present the same topic twenty times in the first +place?) Maybe one should compare \TEX\ with cars: they became better over time +and can last for decades. And no new user manual is needed. + +As with blogs and vlogs advertising \TEX\ carries the danger for triggering +political discussions and drawing people into discussions that are not pleasant: +\TEX\ versus some word processor, open versus closed source, free versus paid +software, this versus that operating system, editor such or editor so. + +To summarize, it's not that trivial to come up with interesting information about +\TEX, unless one goes into details that are beyond the average user. And those +who are involved are often involved for a long time so it gets more complex over +time. User group journals that started with tutorials later on became expert +platforms. This is a side effect of being an old and long|-|term toolkit. If +you run into it, and wonder if it can serve your purpose, just ask an expert. + +Most \TEX\ solutions are open source and come for free as well. Of course if you +want a specific solution or want support beyond what is offered on mailing lists +and forums you should be willing to pay for the hours spent. For a professional +publisher (of whatever kind) this is not a problem, if only because any other +solution also will cost something. It is hard to come up with a general estimate. +A popular measure of typesetting costs is the price per page, which can range +from a couple of euro's per page to two digit numbers. We've heard of cases where +initial setup costs were charged. If not much manual intervention is needed a +\TEX\ solution mostly concerns initial costs. + +Let's return to the main question \quotation {Why use \TEX ?} in which you can +replace \TEX\ by one of the macro packages build on top of it, for instance +\CONTEXT. If an (somewhat older) organization considers using \TEX\ it should +also ask itself, why it wasn't considered long ago already? For sure there have +been developments in \TEX\ engines (in \CONTEXT\ we use \LUATEX) as well as +possibilities of macro packages but if you look at the documents produced with +them, there is not that much difference with decades ago. Processing has become +faster, some things have become easier, but new technologies have always been +supported as soon at they showed up. Advertising is often just repeating an old +message. + +The \TEX\ ecosystem was among the first in supporting for instance \OPENTYPE, and +the community even made sure that there were free fonts available. A format like +\PDF\ was supported as soon as it shows up and \TEX\ was the first to demonstrate +what advanced features were there and how way it was to adapt to changes. +Processing \XML\ using \TEX\ has never been a big deal and if that is a reason to +look at this already old and mature technology, then an organization can wonder +if years and opportunities (for instance for publishing on demand or easy +updating of manuals) have been lost. Of course there are (and have been) +alternative tools but the arguments for using \TEX\ or not are not much different +now. It can be bad marketing of open and free software. It can be that \TEX\ has +been around too long. It can also be that its message was not understood yet. On +the other hand, in software development it's quite common to reinvent wheels and +present old as new. It's never to late to catch on. + +\stopsection + +\stopchapter + +\stopcomponent |