RE: Topic: Tables and 1.0


Subject: RE: Topic: Tables and 1.0
From: Tom Newton (Tom.Newton@gtl.com)
Date: Thu May 03 2001 - 04:21:49 CDT


My 2p's worth from someone who has taken part in development of a
wordprocessor (maxwell):

Listen to Eric/Paul! Tables are _really_ hard. If you take a look at
Maxwell, which has a tables implementation of sorts, and have a look at the
RTF import code, you can see that probably 50% of the code in Maxwell's RTF
importer relates to importing tables. Now if you multiply that up to the
number of importers that AbiWord support (and you'd hope that they'd all
"Just Work" in a x.0 release), you can see there's a hell of a lot of code
to write. And then a lot of bugs to fix. I spent maybe two months (full
time) coding/fixing the Maxwell RTF import code related to tables. By
comparision, the rest of RTF importing is _trivial_.

And take a look at some of the issues. We had the RTF spec in RTF format
which was one of my table import torture tests. Pretty much the whole
document is one big table, and maxwell performs pretty badly on this
document. Now you could argue that Maxwell's design is wrong, which is
probably true, but nevertheless, just the pagination issues arising from
tables are horrible horrible.

I say (mimicking Eric and Paul): release 1.0 with a note that says "we're a
cross platform wordpad now, come back for v2.0 (or whatever) and we will be
a cross platform Word.

We spent about 1 man year writing Maxwell from scratch, and we were aiming
approximately for Word v2.0 (for windows). With hindsight that was too
ambitious (although given the circumstances we did pretty well). AbiWord
already aims higher than Maxwell in some respects (XP design, many
importers/exporters), so celebrate what you've got with a 1.0 without
tables.

Tom (straight from the trenches)

> -----Original Message-----
> From: Eric W. Sink [mailto:eric@abisource.com]
> Sent: 03 May 2001 00:58
> To: abiword-dev@abisource.com
> Subject: Re: Topic: Tables and 1.0
>
>
>
> Martin wrote:
>
> > Well there is a challenge! First Modeless dialogs now this :-)
>
> Thanks for reminding me that you tackled my first challenge with
> a fair amount of grace. It also provides me a calibration point:
>
> Tables are much, much harder than modeless dialogs. :-)
>
> > I think that if Dom and I had 1 month together with no
> distractions we
> > could do a good job on tables. Not that is likely to happen.
>
> Your one month estimate might not be that far off, in
> terms of just getting the layout algorithms done. Tables aren't
> that hard, but tables get 10x harder when they have to exist
> alongside all those other features you've got. One month to code
> the algorithm, five months to shake out the bugs.
>
> Tables interact with everything else in the AbiWord layout engine.
> Unfortunately, every layout engine I have ever seen is, by nature,
> a very "brittle" piece of code. Bend it, and it will break. Every
> feature seems to impact every other feature. I'm obviously
> overstating the negative side of this quite a bit, but there is
> more truth here than I wish there were. Tables will break margins,
> multiple columns, headers/footers, text flow around objects,
> line spacing, and so on. The feature can be coded in a month, but
> the resulting incarnation of AbiWord will not reliably do much of
> anything.
>
> And that doesn't even include the issues of the GUI. A decent user
> interface for table editing is quite a challenge. Has *anyone*
> succeeded at this yet? If not, that's sort of good news, since
> AbiWord's table editor can therefore blow chunks just as badly
> as the rest of them.
>
> And then there are the performance concerns. Grafting tables onto
> a layout engine is a famous, well-understood way to slow it down by
> a factor of three. It all depends on the algorithms. Sometimes you
> get everything implemented, and in the course of fixing a "bug",
> you end up needing to add another pass to your formatter.
>
> Don't get me wrong: I definitely want to see AbiWord get tables.
> It's a desperately needed feature, and it's kind of fun to code.
> I just don't want release 1.0 to wait for the feature.
>
>
>
>

-----------------------------------------------------------------
This e-mail is intended only for the addressee(s) named above. It
may contain confidential or privileged information and if you are
not the intended addressee you are not authorized to disclose,
copy, distribute or place any reliance on it whatsoever and we
request that you inform our postmaster (postmaster@gtl.com) that
you have received this e-mail. Any attachment(s) to this message
has been checked for viruses, but please rely on your own virus
checker and procedures. If you contact us by e-mail, we will
store your name and address to facilitate communications.
-----------------------------------------------------------------



This archive was generated by hypermail 2b25 : Sat May 26 2001 - 03:51:00 CDT