db4o open source object database
About Developers Customers
Customer Success :: Mandala IT
Skip Navigation Links.

MANDALA SmartPhone Software Ready for Mass Markets with db4o

Mandala Notebook Mandala Notebook

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)



Mobile Database | Java Database | .NET Database | Mono Database | Android Database | LINQ Database
Object Database | Open Source Database | Embedded Database | Database Benchmark | C# Database
Visual Basic Database | Symbian Database | Pocket PC Database | Compact Framework Database | OSGi Database | Complex Event Processing Database