reminder -- we need exporters *AND* importers


Subject: reminder -- we need exporters *AND* importers
From: Paul Rohr (paul@abisource.com)
Date: Sat Jan 29 2000 - 12:34:39 CST


Recently, it seems like there's been quite a flurry of interest in improving
the number and quality of our exporters for various formats. This is a very
cool thing. One of the hallmarks of a truly successful Open Source project
is the high degree of compatibility which can be achieved.

For example, it's no accident that Linux has drivers which make it
compatible with a mind-boggling array of devices. Likewise, we definitely
want AbiWord to be ultra-compatible with as many word processor file formats
as we can.

I presume that the folks who've been starting these various exporters are
interested enough in those formats that they'll continue to maintain and
extend them. However, before we go too far down this track, I just want to
make two quick reminders:

1. Completeness. It's important to make sure that our exporters handle as
many AbiWord features as possible. Thus, maintainers should keep an eye on
the following document:

  http://www.abisource.com/feature_matrix.html

If your column isn't all green yet, you probably still have work ahead of
you. ;-) If you don't *have* a column yet, it's probably worth sending Bob
some test documents to help him determine which cells *can* be made green.

2. Internal round-trip fidelity. We edit documents. Being able to export
those documents to other formats is cool, but it's a *lot* cooler if that
exported document can also be edited again in AbiWord, without losing any
information. (Solving the *external* round-trip problem -- preserving
unrecognized features from other formats -- is much much harder, and we
currently don't have a strategy for this.)

AFAIK, we've currently achieved this level of round-trip fidelity for the
following export/import pairs:

  AbiWord (of course)
  plain text
  UTF8 text
  RTF (modulo a few bugs)

Justin and Caolan are still working on the Word importer, but plans are for
that codebase to eventually be used to write Word documents too. The only
planned exception to this "round trip" design goal is old-style HTML (but I
won't go into that rats nest today).

bottom line
-----------
There may be certain cases where it makes sense for a particular file format
to be:

  read-only (ie, just an importer, no exporter) or
  write-only (ie, just an exporter)

However, these should be the exceptions to the rule. Thus, when adding new
importers or exporters, please make it clear whether you believe that format
should eventually be round-trippable or not.

This doesn't mean that any single person needs to take on the burden of
maintaining both the importer and exporter for a given format. That can
certainly be a team effort. Likewise, even if there should eventually be
both sides of the puzzle, having one now is better than none.

Paul
motto -- walk before you run



This archive was generated by hypermail 2b25 : Sat Jan 29 2000 - 12:29:18 CST