Re: Topic: Tables and 1.0


Subject: Re: Topic: Tables and 1.0
From: Eric W. Sink (eric@abisource.com)
Date: Wed May 02 2001 - 18:57:52 CDT


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 archive was generated by hypermail 2b25 : Sat May 26 2001 - 03:51:00 CDT