MANDALA SmartPhone Software Ready for Mass Markets with db4o
Mandala IT in Heidelberg, Germany,
recently launched Mandala Notebook, a new pioneering consumer software product for
SmartPhones that allows users to easily manage notes, and edit and share documents
of all sizes on a small-screen display. For this challenge, the company found it
needed an easy-to-deploy object database that could run with the smallest memory
footprint, but one with a pricing policy that would that would fit the young company's
boot-strapping business model. What it found was db4o.
"Without db4o, we would have had to change our design plans. The interface would
probably lack quite a few features, and we could not support images in the database,"
says Mandala CEO Dr. Sean O'Donoghue. "We also needed a partner willing to take
a long-term view. This is a vision that Mandala IT and db4objects share."
As of early October 2005, Mandala Notebook is available for Symbian UIQ phones (especially
Sony Ericsson P800, P900, and P910 models) via the company's website and all major
online distribution channels for mobile software packages, such as Handango. Mobile software packages for both business and private
users are a hot market, estimated to be growing at a brisk rate of 170% per year,
according to leading analyst group Canalys.
Mass market distribution means 100% zero-administration requirements and a completely
self-contained application, which puts a particular burden on the underlying database.
Luckily, db4o's native object database is distinctly suited to meet these requirements.
The idea for the application was born from O'Donoghue's conviction that today's
PDAs and SmartPhones are not living up to their potential. Currently, most people
keep only a tiny fraction of their ideas, plans, and data on mobile devices. What
if you could easily organize all of this functionality on one mobile device that
you always have at hand? "Our goal was to realize this vision by creating software
with the same high standard of quality and ease-of-use that people are used to from
their PC," says O'Donoghue.
Small Screen, Big Software Challenges
The two main development challenges were GUI design - how to maximize the use of
the small screen space - and the poor state of software in today's SmartPhone market,
O'Donoghue says.
"Developing a good GUI for a SmartPhone requires quite a bit of rethinking. We had
to step outside the GUI conventions that are standard on a PC... Literally every
pixel was fought over by our graphic designers," he says.
The company ended up inventing its own proprietary method for showing a hierarchy
of items using remarkably limited space. Where other products show multiple columns
of information for each item, for example in Windows Explorer, Mandala trimmed the
look by overlaying date on top of task and appointment icons. The goal was always
to save space, but remain clear to the user.
The second major issue was the still very immature state of SmartPhone software
the company was forced to develop on. A lot of time and creativity was needed to
develop work-arounds.
The OO Database Advantage
In selecting a persistence solution, the company's criteria were simple: small memory
footprint and powerful database transaction management. They found just two databases
that meet these criteria, db4o and another that was relational technology.
Since Mandala was using the OO programming language Java, an OODB was a natural
fit. Also, Mandala's product is based on an object hierarchy, so they needed a way
to let users create links between objects outside of the hierarchy.
"db4o enables us to operate with objects in memory, directly store and retrieve
in the database, without any need to translate to a relational, non-object form.
The OODB types simply match the Java types, so no need to translate," says Mandala
CTO Tomasz Ignasiak.
For small devices in particular, memory use is crucial, along with preservation
of transactions. Because cell phones are often interrupted or may crash - possibly
in the middle of a series of transactions - it is essential to be able to perform
a complete roll-back.
For these reasons, Mandala performed "extensive development and trials before committing
ourselves to db4o." One of Mandala's biggest issues with db4o at the outset was
database indices, which were not initially supported, but later provided when db4o
shipped one of its frequent and feature-rich updates.
"The addition of indices on these small devices means 100x faster searching for
databases of the size we wanted to support," Ignasiak says.
High Volume and Querying Flexibility
The core of Mandala Notebook is an item, usually a text note, a drawing or a photo
or voice file (future editions). Each item is made up of many fields (currently
22, and growing). There are also several other types/classes, such as complex drawings,
which are stored separately from the item they are associated with.
"db4o makes storing these complex data structures easy. This would probably not
be possible with others systems we know," Ignasiak says.
The total number of items in a database depends on the user. Users can easily import
structured text information from Word docs, PDF files, Web pages, eBooks, and more,
but the company had to put a lid on database size somewhere, so they settled on
supporting around 6,000 items.
Many of the basic operations in Mandala Notebook, such as browsing and displaying
a page of objects and text search, require internal queries by ID on the indexed
fields. More complex query types planned in future editions include flashcards,
which enable users to mark and find similar items to review, to support eLearning.
Behind the scenes, Mandala relies heavily on db4o's manual activation and deactivation
of objects. This allows memory to be allocated and freed in cases where automatic
methods would consume too much memory. For example, if a specific page with a very
large image is loaded, Mandala can manually de-allocate once the page is closed,
without having to wait for garbage collection. "This is an interesting and useful
feature that we haven't seen in any other database system," Ignasiak says.
Business Model Match
Finally, above and beyond the technology, db4o's approach was the clincher.
Mandala is a self-funded startup with bootstrapping plans. Its mid-term prospective
is excellent, due to market growth, and product positioning looks extremely promising.
But in the short term, they needed to avoid large upfront fees.
Mandala also stands behind the open source concept of db4o - the idea of giving
people the opportunity to use and test software completely free of charge before
they decide to invest in it. This brings in rich developer feedback, and creates
a community that can assess its real value and support the product indirectly.
This was a natural fit to Mandala's business model, which is to provide a free trial
version limited only by number of items. Thus, users who do not need large numbers
of items can continue using the trial version as a free upgrade to the standard
SmartPhone applications.
"db4o concentrates more on supporting platforms, not the language. This is a very
interesting approach for us, as we also are planning our development along the same
lines. This is how we see the mobile computing market developing, and so again it's
a great match with our business model," CEO O'Donoghue said.
Response and Outlook: Positive
Mandala is just now finalizing the initial product launch, consolidating its e-commerce
and support procedures. Even before the formal marketing campaign was launched,
they had quickly exceeded 1,000 downloads. User feedback has been overwhelmingly
positive and sales are already rolling in.
The company plans to stick with db4o for all future product development, based around
new Mandala Notebook editions including new data types, security, images, and voice
notes.
Key factors are price, and continued improved features such as Unicode support and
improved searching speed. Also, Mandala believes that db4o's unique dual-licensing
model (free for non-commercial use, fee for commercial use) is the route to long-term
market success.
"On mobile devices, today's software is unfortunately still very immature and difficult
to work with. By contrast, db4o was without doubt technically the best of the components
we worked with. In our development, our struggle was always with other issues, the
OS or the implementation of Java, never with db4o... We are delighted to have such
a competent partner, both technically and business-wise," O'Donoghue concludes.
Download:
In English (PDF) |
In Japanese (PDF)