people ask: what is AbiWord?
Open Source? are you insane?
cross-platform? are you insane?
at one level, he's right...
but people do it anyway...
we take another approach...
quick jargon review
3 approaches for XP GUI software
approach #1: platform ignorance
approach #1: platform ignorance (pros)
approach #1: platform ignorance (cons)
approach #2: platform experts
approach #2: platform experts (pros)
approach #2: platform experts (cons)
approach #3: practical hybrid
approach #3: practical hybrid (pros)
approach #3: practical hybrid (cons)
OK, so how does it work?
head start: use existing libraries
common build environment
products that build, ship
the donut rule
designing a practical hybrid
so, design it that way!
the framework mirrors the design
just a little C++
example #1: GR_Graphics
example #2: events
practicality test: dialogs
comparing the approaches
comparing the approaches, cont.
adding up the scorecard
scorecard: quality of the product
scorecard: platforms supported
scorecard: executable size
scorecard: % XP (framework)
scorecard: % XP (application)
scorecard: developer support