[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice
Subject:    Fwd: KOffice, especially KWord and KSpread
From:       Thomas Zander <zander () planescape ! com>
Date:       2001-06-01 16:46:43
[Download RAW message or body]

please take care to include the author in replies..

----------  Forwarded Message  ----------
Subject: KOffice, especially KWord and KSpread
Date: Fri, 1 Jun 2001 09:59:17 +0200 (MEST)
From: gnor@gmx.de
To: zander@kde.org


Dear KOffice developers!

Please excuse the few CCs, but there is no official broadcast address.
Please broadcast to the people involved.

Recently I saw your programs under the S.u.S.E. 7.1 Live Eval.

I hope, you haven't developed it too much further yet, because I have a
contribution that prevents you from copying just another "Industry
Standard" mistake.

My first point of visiting in a new word processor is the formatting part
and there the corner where page breaks between paragraphs are suppressed.

Fortunately this design is still open.

So I can give you a couple of hints how to design this in a way that it can
go into document templates.

The most important case of suppressing page breaks between paragraphs is
not the caption of a figure or table nor the heading of a section or
chapter.

It is the humble business letter with signature salutation at the end, if
it is written in a bureaucracy, it may contain Cc and attachment lists
after the signature.

And paper runs out at the bottom of a letter.

Especially if you squint over to MS-Word, very likely with the general KDE
design, there lurks a trap that will cause lots of manual work.

MS-Word, and StarOffice plus some others who blindly copy everything from
Redmond, can prohibit a page break only *below* a paragraph. This is
realised as a property of the paragraph.

The sad news is, that you have to set this property in the last paragraph
before the signature salutation.

However this paragraph belongs to the text body and is thus part of the
variable components of a letter, contrary to the signature salutation,
which is constant like some other parts of a letter.

Thus the MS-Word solution can't go into a document template, it requires
manual inspection and correction instead.

Strangely, most people aren't aware of this problem, they would twiddle the
font size or the margins in this case. My friend, who dislikes Linux
because of it's tendency to solve everything by programming suggested even
writing a macro! But these aren't the simple keystroke emulators of
DOS-Word 4.0 any more, the VBA object space is quite complicated, contrary
to the simple syntax of VBA.

Maybe it is the interactive nature of personal computers since the
Commodore PET, VC20, C64, C128, Tandy TRS-80 or CP/M machines up to the PC
that swept away even the Ataris and Amigas, that has suppressed the notion
of the computer as an automation tool.

I grew up in a batch environment, where you had to consider possible
outcomes in advance, which is natural if you start with programming,
anyway. I don't want back the punched card, but UNIX ran in open doors
because of its orthogonal scriptability.

So it is natural for me to use all the abstraction and automatisation even
old DOS-Word 4.0 had provided.

With the advent of WinWord 6.0, users got further pushed into the
interactivity trap, separation of document and style got blurred at least,
writing back a slightly modified style stopped working in the transition
from WinWord 2.0a to 2.0c, where selecting the desired style greyed out the
write back button. Keeping NORMAL.DOT clean got next to impossible and you
know all the results of putting macros into a document, which made only
sense with Excel. This uncontrolled and probably uncontrollable
scriptability in Windows will hurt scriptability in general, even the
comparatively safe and controllable UNIX way.

In the OS wars, I got a Lotus SmartSuite for OS/2. I switched over to Ami
Pro. And it's paragraph property was a revelation: Page breaks could be
suppressed *above* as well. Since WinWord 6, German versions discreetly
conceal the fact that this works only below. I had already good experiences
with Lotus Organizer and Improv (more on this later), but this won me over.
When I got an NT box because I didn't want to have my bookkeeping in the
hands of the surfers in my pub, I got a SmartSuite96 bundled. It has been
upgraded to SmartSuite97 in components and to SmartSuiteME via free mag
CDs. I don't miss Word, the "Click Here!" blocks make my document templates
even more parametric, albeit separate styles have been widely gone, CSS may
give them back. Lotus makes bad politics, but they have a couple of good
programs.

So we have now the option to put page break suppression *above* as well as
*below* into the paragraph properties.

But there is an alternative:

The most popular typesetting system on Linux and the BSDs is TeX.

One of its concepts are penalties, used as hints for good and bad breaking
points, contrary to other programs, TeX tries to balance line breaks in a
paragraph. Penalties can be given in horizontal and vertical mode, the
latter the method to inhibit page breaks at the desired places. LaTeX put
this into a \nopagebreak{} macro.

These can go into template source files, just copy the skeleton, rename it
and start to type like in the old dinbrief.sty of LaTeX 2.09.

Surprisingly, a WordPerfect version for Linux revealed the same inter
paragraph page break inhibition mechanism that is templateable.

Papyrus uses a bracketing method to inhibit page breaks, but this is not
templateable.

So you now have the alternative of putting page break inhibitors *both*
above and below into the paragraph properties, which is more familiar to
MS-Word users or go the UNIX way and offer page break inhibitors *between*
paragraphs. Perhaps you could swat two flies with one blow and have the
properties dialog parse the vicinity of the paragraph, indicating present
page break inhibitors as checkboxes and putting/removing them if the state
of these checkboxes are changed.

I hadn't looked at the file format, but I suggest SGML or XML.

Develop KWord into a full-fledged SGML writer, with the DTD/CSS-Generator
hidden in the style manager. Don't forget to allow deriving styles from
others like the #include or \input mechanisms, there was a "Based on..."
combo box in WinWord 2, but it didn't work.

Steal good ideas from Billy, but not his blunders.

Let's now come to KSpread.

Enter Improv, a revolutionary spreadsheet developed for Steve Jobs' NeXT
cube (a friend of my friend knows a boss who hath still one, this machine
is still madly fast), ported to Win3.x and then abandoned. Lotus even has
abandoned claiming the Improv trade mark, the last remains are two little
files in %notesdir%\Data\W32\ of Notes R5 PE. I must look for it in the
Abandonware archives, for my floppies are broken and I have a couple of
.IMP files. It would have been an ideal match for OS/2's WPS.

Besides the 12 dimensions, which are of less interest here, there was a
feature never copied in any spreadsheet.

All spreadsheets copy faithfully the old Visicalc scheme of labelling the
columns A, B, C, ... and the rows 1, 2, 3, ...

Improv was different: The default labels read "Element A1"... on one side,
"Element B1"... on the other, "Element C1"... and so on for the remaining
dimensions.

The word "default" has triggered your attention? You're right!

Just click into a label and edit it to whatever you'd put traditionally in
the first row or column of the cells. Sounds not very impressive.

But go to a cell and type"=" or click on the "=" icon. Now the difference
begins!

There is not only a cell formula editing line, but a multiline formula
editing window. In the first line now a formula shows up.

But it doesn't start with "=" as usual, it has a LHS!

And this LHS consists of all the descriptive labels given to the
co-ordinates of this cell! And if you point now at other cells, these will
enter the RHS with their descriptive label combination! No more cryptic
math-like names like A1, B4, ... like on old line-number BASICs from
time-sharing systems and 8-bit machines! We are now glad to have overcome
the 6 characters of FORTRAN and the 8 characters of old UNIX linkers, the
8.3 names of DOS and the 14 characters of old UNIX file systems.

If you marked a range of cells, the range would show up in the LHS of the
formula and you could enter corresponding ranges in the RHS of this
formula. No more copying of formulae like in Visicalc or pulling the lower
right corner of the cursor box like in Excel. More, if you just click on
the label of the row/column to mark it completely, the running co-ordinate
is left out on LHS and RHS! Rumours are that recent versions of Excel
accept the labels traditionally typed in the first row/column in their
formulae, a lame replacement.

Again, none of the grocers seems to get the idea that descriptive
co-ordinate names help in debugging the formulae. Probably because these
simple minds need only simple formulae. ;-) Or why do you think the bubble
in the New Economy built up? And Reaganomics II, er Bushonomics II, seem to
work?

I don't know whether Lotus has a patent on this. Since Lotus has lost any
interest to put it secretly into 1-2-3 and thus any interest to make money
from it, this patent is destructive in hampering progress. Thus it should
be challenged. Because this concept of long descriptive cell descriptors is
straightforward derived from programming languages, the patent is also
void. The implementation uses only a symbol table, which is also borrowed
straightforward from compilers. And the original spreadsheet was Visicalc,
1-2-3 is a straightforward port to the PC. Know why Lotus is now the Notes
company instead of the 1-2-3 company?

But just try to implement the long cell descriptors. Use only German
developers, German patent law demands an innovative nonstraightforward step
contrary to British patent law where a company got a patent on graphics
algorithms grabbed from scientific publication thus by no means new. The
FSF has convinced the EC to postpone their plans to grant software patents.
Perhaps we can prevent the new feudal system based on "intellectual"
property.

Kind regards

Norbert Grün (gnor@gmx.de)


--
Machen Sie Ihr Hobby zu Geld bei unserem Partner 1&1!
http://profiseller.de/info/index.php3?ac=OM.PS.PS003K00596T0409a

--
GMX - Die Kommunikationsplattform im Internet.
http://www.gmx.net

-------------------------------------------------------

-- 
Thomas Zander

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic