The Guide To Making AbiWord Under BeOS Usable

[or How to Make Abiword Just Work on BeOS]

James Montgomerie [jamie@montgomerie.net], 29th March 2001

AbiWord - Wordprocessing for Everyone

AbiWord is an free open source word processor. Designed to be cross-platform, it runs on more platforms than any other office application, with the exception of Mozilla. Its design allows the vast majority of code to be platform independent, yet still have a native front-end on every platform it supports, with all the speed and natural ease to use that entails.

Wordprocessing for Everyone? Even BeOS users?

AbiWord has supported BeOS for some time. Recently, however, the BeOS-specific code - arguably, it’s not a port, so I won’t be calling it one - has been falling behind its equivalents for other platforms. BeOS users downloading AbiWord have been (rightly) disappointed by it’s speed and stability, and are not using AbiWord, seeing it as another failed open-source BeOS port.

This perception is understandable, but unfair. Though ‘behind’ the implementations for other platforms, the BeOS code is almost there. It is almost working. If you help, AbiSource will, once again, be able to trumpet BeOS as a supported platform, and BeOS users will be able to use a high-quality, fast, stable, free word processor, just like Windows, *nix, GNOME, QNX and (soon) Mac users can.

How You Can Help If You’re a [Potential] User

Try It Out

Download the latest version from http://www.abisource.com/, and try it out. The bad news is that you probably won’t be happy. You almost certainly won’t want to regularly use the program now filling [a small amount of] your hard disk space. The good news, however, is that AbiSource has a public database of bugs, called ‘Bugzilla’, and that by entering any bugs you find into this database you can alert the AbiWord developers to them and, hopefully, they’ll fix them for future releases.

Hang on - you want me to complain?

Yes! We want AbiWord to be the best, easiest word processor you’ve ever used. The only one you’ll ever need. Wordprocessing for Everyone - remember? By entering bugs into the Bugzilla database, you can help us reach that goal - after all, if developers don’t know about the bugs, they won’t be able to fix them. The database is located at http://bugzilla.abisource.com/ - just create yourself an account, and start logging bugs. Only if users do this can we truly create Wordprocessing for Everyone.

How To Help If You’re a [Potential] Developer

If you’re a developer, download cvs for BeOS (http://www.bebits.com/app/1610), follow the instructions on http://www.abisource.com/dev_download.phtml#cvs to download the AbiWord code using cvs, and have a look around. Take a look at the summary of current issues below, dive it and try to fix them. Join the AbiWord Developers Mailing List, and don’t be afraid to ask (or answer) questions. I’ll say it again - join the AbiWord Developers Mailing List, and don’t be afraid to ask questions. Lastly, remember not to read only this document - there’s lots more information in the abi/docs/ directory and on the AbiSource web site (http://www.abisource.com/). After you’ve done some coding, post a patch (don’t worry - making a patch is easy, usually simply a case of cding to your abi/ directory and typing ‘cvs -z6 diff -c3 >name.patch’) to the developers mailing list, and it will most likely be included in the official tree. Don’t forget to change /abi/CREDITS.TXT to include your name before the patch, if you want credit for your work.

The Non-Exhaustive Current BeOS Issues List

Redraw Speed

The Killer Problem. Even ‘normal’ typing on BeOS is currently dog slow. The text drawing functions can be found in abi/src/af/gr/beos/gr_BeOSGraphics.cpp, but the problems probably lie deeper than that, in the depths of the view refreshing code - places like abi/src/af/xap/beos/xap_BeOSFrame.cpp.

Weird Crashes and Hangs

The other Killer Problem. AbiWord often hangs or crashes strangely under BeOS, and it doesn’t on other platforms. Compile with debug on (make ABI_OPT_DEBUG=1), break out bdb, and start fixing bugs!

Graphical Glitches

Despite recent clean-ups, the BeOS front-end still does weird things sometimes - wrong sized text, stray lines, disappearing text. These could be occurring in many places, but the misbehaving code will probably be contained in files in the abi/src/af/gr/beos/ or abi/src/af/xap/beos/ directories. Have a ferret around and try to find the cause. Then try to fix it.

Missing and Wrong Dialogs

Many BeOS dialogs are missing or out of date. If you have another PC near your BeOS machine, try running AbiWord on both at once and having a run through the features. If not, take a look at the screen shots in abi/shots. If you come across a missing dialog, or one that needs to be changed to conform with other platforms, put code in abi/wp/ap/beos/.

Toolbar and Ruler Issues

The toolbars and rulers don’t turn on and off when they’re supposed to (i.e. when the user selects the toggling options in the View menu). However, before that’s fixed, they should probably be made to look more BeOSey - see the NetPositive toolbars for an example. The relavent code is in the obviously named files in the abi/src/wp/ap/beos/ and abi/src/af/ev/beos/ directories. If you feel it’s necessary (or easier), don’t be afraid to re-factor this code to use third-party (but GPL compatible!) toolbar code.

The Status Bar is the Wrong Height!

Okay, so this isn’t such a pressing problem, but it’s a pet peeve of mine - the status bar should be the same height as the grabbing-sizing thing on the bottom right of the window. This is easy to achieve by changing the value of STATUS_BAR_HEIGHT in abi/src/wp/ap/beos/ap_BeOSStatusBar.h, but this makes the text fall off the bottom of the window (set it to 13, recompile, and see what I mean). The cross-platform code might need to be changed to fix this (any changes should not affect the look of the status bar on other platforms).

We Need an Icon

AbiWord on BeOS currently has no icon. Make the AbiWord icon be the AbiWord on BeOS icon.

Fonts

We currently ship the default AbiWord fonts as Adobe fonts on other platforms which don’t have them by default. We can’t directly ship these fonts for BeOS, even though we need them, because BeOS uses TrueType fonts. Come up with a solution.

We Need an Package

Currently, AbiWord for BeOS is packaged in a rather user-unfriendly zip file. Make a SoftwareValet (or other installer) package target for the make system.

Lots Of Other Things

Browse the Bugzilla database at http://bugzilla.abisource.com/. Play with AbiWord. You’ll find plenty of other, smaller, issues.

Spread The Word

If you know other BeOS developers, get them to help too. Don’t worry - they won’t spoil the broth.