AbiWord: A CrossPlatform GNOME Office Component Dom Lachowicz - - PowerPoint PPT Presentation

abiword a cross platform gnome office component
SMART_READER_LITE
LIVE PREVIEW

AbiWord: A CrossPlatform GNOME Office Component Dom Lachowicz - - PowerPoint PPT Presentation

AbiWord: A CrossPlatform GNOME Office Component Dom Lachowicz <doml@appligent.com> Hubert Figuire <hfiguiere@teaser.fr> 1 Abstract What is AbiWord ? 1.Cross platform Word processor 2.Part of GNOME Office 2


slide-1
SLIDE 1

AbiWord: A Cross−Platform GNOME Office Component

Dom Lachowicz <doml@appligent.com> Hubert Figuière <hfiguiere@teaser.fr> − 1 −

slide-2
SLIDE 2

Abstract

What is AbiWord ? 1.Cross platform Word processor 2.Part of GNOME Office

− 2 −

slide-3
SLIDE 3

AbiWord’s Goals and Ambitions

1.Word processor for the masses 2.Cross platform: not everybody use GNOME yet 3.Strong import/export capabilities: open to the world. 4.Really extensible

− 3 −

slide-4
SLIDE 4

Glossary

Some acronyms:

  • AP: designates application framework code
  • XAP: designates cross−application framework code
  • XP: designates cross−platform code

− 4 −

slide-5
SLIDE 5

The Future of AbiWord

After milestone 1.0 (really soon on the Internet)

  • Tables
  • Compound Objects
  • Embeddable

We expect them for 1.2. Not promise however.

− 5 −

slide-6
SLIDE 6

Tables

  • One of the most requested features
  • Require a large rewrite of the formatter
  • Totally XP

− 6 −

slide-7
SLIDE 7

Compound object embedding

  • Also one of the most requested
  • Would allow supporting more data inside a text
  • Spreadsheet (Gnumeric)
  • Equations (MathML)
  • XP and work with native embedding (Bonobo, OLE, etc.) !

− 7 −

slide-8
SLIDE 8

Embeddable component

  • Already demonstrated by a Third party (OEOne)
  • Needs to be XP but native (Bonobo, OLE)
  • Examples:
  • Evolution
  • OEOne

− 8 −

slide-9
SLIDE 9

AbiWord in Evolution

− 9 −

slide-10
SLIDE 10

OEOne: AbiWord in Mozilla

− 10 −

slide-11
SLIDE 11

The Future of GNOME Office

  • Take advantage of GNOME new technologies
  • Bonobo
  • GConf
  • GTK 2.0
  • Work with other team (Gnumeric)

− 11 −

slide-12
SLIDE 12

Work with other Team

  • An escher drawing model (new canvas)
  • Better support for popular MS Windows graphic types
  • Better support for popular MS Windows file formats
  • Cross−Application embedability
  • Shared dialogs and other controls
  • Improved font handling
  • Improved printing support

− 12 −

slide-13
SLIDE 13

AbiWord’s Cross−Platform Ambitions

Why cross platform ? The framework

− 13 −

slide-14
SLIDE 14

Why cross platform?

1.Freedom of code 2.Freedom of choice

− 14 −

slide-15
SLIDE 15

The framework

Our own framework.

  • Pros:
  • Integrate on each platform
  • Faster and lighter
  • Cons:
  • More work

− 15 −

slide-16
SLIDE 16

What we do

Separate interfaces from implementation (abstraction)

  • Abstract drawing canvas
  • I18N and L10N
  • Event mapper/dispatcher
  • Abstract SOME controls
  • Activate and manage dialogs
  • Provide a cross−platform text formatter and management

− 16 −

slide-17
SLIDE 17

What we don’t do

  • Manage the widget creation and layout.
  • ...Rewrite a complete graphics toolkit
  • Render fonts

− 17 −

slide-18
SLIDE 18

Platform implementor has to provide:

  • Bindings between GUI events and the XP framework
  • GUI layout for the word processor frame
  • Ready made dialogs
  • Graphics primitives
  • Other platform specific features (fonts, printing, ...)

− 18 −

slide-19
SLIDE 19

Portability ?

Still high !

− 19 −

slide-20
SLIDE 20

The ultimate catch

Cross platform AND cross application Ready made low level classes for any applications for each platform

  • Toolbars
  • Menus
  • Graphics and font handling
  • Printing
  • A multitude of dialogs

− 20 −

slide-21
SLIDE 21

How does that work?

Two parts 1.The cross−application framework ( XAP) 2.The application framework (AP)

− 21 −

slide-22
SLIDE 22

The framework classes

  • Interface

XAP_Frame −> AP_Frame

  • Implementation

XAP_FrameImp −> XAP_GnomeFrameImp −> AP_GnomeFrameImp

This is the revised architecture planned for 1.2

− 22 −

slide-23
SLIDE 23

How to Help AbiWord ?

1.Help us out with maintaining Bugzilla 2.File bugs and perform regression and stress tests 3.Help out with "bug−days" 4.Help answer questions on the abiword−user list 5.Write user and developer documentation 6.Translate or update an existing translation 7.Contribute code 8.Sponsor a developer 9.Port Abi to your favorite platform (eg: Qt/KDE, MacOS 9)

− 23 −

slide-24
SLIDE 24

Conclusions

− 24 −

slide-25
SLIDE 25

Questions?

− 25 −