From the ground up

How to build an open source Java office suite in 30 days

Chris Mayer

Anthony Goubard explains how he managed to build Joeffice in one month

Could you construct the basic components of an
office suite and get it running on multiple OSes and browsers
within 30 days?

One month on from setting himself this
particularly tough challenge, Java developer Anthony Goubard
released the alpha version of
a open source Java office suite comprising of a word processor,
, presentation software, a
database editor and a drawing viewer.

Goubard told JAXenter
that the idea was spawned from his sprawling mess of documents, and
that he wanted to help developers out in a similar

“As many developers know, during the day we
often use an IDE and an office suite. It amazed me to see how it’s
no problem to have 30 files opened in an IDE and it’s a mess when
we have 10 documents opened in an office suite,” he

The Amsterdam-based developer says that Joeffice
is “developers and students” seeking a free office package. In
order to keep things simple, Goubard tried “write clean code as
much as possible” so newcomers could pick up Java as they went

Joeffice is also aimed at developers with
specific office suite needs, such as wanting to deploy a timesheet
in an applet, update a spreadsheet in real time or save documents
in shared directories.

“At the moment to develop a business
application, companies have the choice between writing an office
macro or a specific application. I think Joeffice offers something
in between,” Goubard told us.

Another underlying goal of the project was to
offer something different to other open source options. Goubard
believes that the likes of LibreOffice and OpenOffice “focus too
much of being a clone of Microsoft Office” and

and not enough “instead of improving the user



Holding experience building Swing applications
with his own company
Japplis, Goubard opted for the
NetBeans platform as the basis for the project rather than its main
competitor Eclipse. Aside from some reused Java code, other
libraries used in the creation of Joeffice include Apache POI to
read Microsoft Office document
s and
Apache Batik for SVG files.

“Eclipse RCP is based on SWT, [while] NetBeans
is based on Swing which I consider better than SWT. I think there
is more documentation and books on it and I’m also a long time
NetBeans user,” explain

While creating Joeffice, Goubard
documented the development
with daily
Youtube videos
. Goubard told JAXenter that
creating Joeffice “was easier” than he thought  it would be,
only spending an eight hours on average per day on the project.
However, the ambitious target of completing it in 30 days wasn’t
without its problems, falling foul of many bugs in libraries as
well as Java’s WORA promise.

“I regret [to say] that the ‘write once, run
anywhere’ is not true at the moment for smartphones and tablets,”
he said. Using the NetBeans Unix installer was also a sticking
point for Goubard, with problems with “some Unix distributions” as
well as varying sizes of fonts on Linux versions. For browsers,
Joeffice is an applet, meaning Goubard didn’t need to go through
JavaScript cross-browser testing.

“My goal was to show that it’s not impossible to
inspire other developers to participate,” Goubard reveals, before
paraphrasing Eric Ries’ adage from The Lean Startup that “it’s
better to release something not totally finished and listen to what
people want, than to work one year on something and then realize
nobody was interested in it”.

It’s important to remember that Joeffice isn’t
anywhere near completion. Expecting such a turnaround from one man
in a month would be extremely hopeful, yet alone laughable. Goubard
explains that the alpha release “isn’t about great software” but is
actually a call to the community to come help him build the

“According to Wikipedia there are 10 million
Java developers [in the world], if just 1% would participate in
this project that would mean 100 000 Java developers working on
creating an office suite,” Goubard explains. “That would make the
life of people using an office [suite] easier.”

Where Joeffice heads next is undecided. Goubard envisages
the 1.0 release to be “roughly equivalent to Google Docs in terms
of features”. While that might seem like pie in the sky at this
point, there’s nothing stopping Java developers joining to build a
fully functional open source Java suite.

Joeffice is looking for developers to collaborate and do
upstream work. If you want to get involved, all the details to get
started are here.

Images courtesy of Joeffice and mkosut

comments powered by Disqus