Infogrid Pacific-The Science of Information


AZARDI - Development Framework

When creating software the platform and programming language choices have to be made. Updated: 2012-11-16


When developing any application you have to decide language and development environment.

We choose XUL Runner over Webkit for the desktop environment, and pure Javascript and HTML5 for the Online and Web-app versions.

There have been numerous blogs and comments on the fact that Javascript cannot support all of the ePub3 specification components. That may be true, but is probably not if the framework has serious API support, and you are actually bothering to support the obtuse and proprietary balloon flying parts of the ePub3 specification.

We had some "encouragement" to use Webkit, but the lockin aspect, lack of consistency and reliability with Apple and Google, and complexity of creating cross-platform (Linux, Mac, Windows) desktop applications ruled this out. We haven't regretted this decision so far.

Here are our pragmatic decisions and excuses for compromising on everything.

Development Framework


We choose Mozilla XULRunner over Webkit for the desktop reader for the following reasons:

  1. It is a relatively mature (but poorly documented) development environment that allows credible stand-alone desktop products to be delivered to all platforms.
  2. It is the core component of Firefox and plugins and is updated with every update of Firefox.
  3. The Mozilla MPL license allows the creation of a proprietary product.
  4. It was the only browser supporting MathML in 2011 when the first version was released (and mathJS is fat, black and ugly).
  5. Once you have been through the learning curve you can do just about anything.

We want to keep AZARDI proprietary because we want to control what it does and how it does it, not because we want to write code no-one should touch. We also want to set the development priorities which are based on real client requirements rather than a featuritis approach.

You can see this instantly with Readium, the IDPF project. They stated that following the Apple fixed layout presentation was more important than pushing the specification because currently more fixed layout books are available in the restricted Apple presentation. This is so bad. The IDPF is not a standards organization. It continues to be a North American proprietary controlled puppet. Readium doesn't let the designer control the content presentation. Sadly it has the same "shut down" content approach as Kindle, iBooks, and ADE.

We also have an obsessive obsession with the desktop. It is a place of calm compared to the noisy world of "my tablet is better than yours". It is also a place where most of our target learning customers sit.

We do not have any RTL clients, or even anyone who has approached us for RTL, so that is low on the priorities although we are implementing it with the next release as a trial. On the other hand we have a number of education customers with high levels of requirement for accessibility, so that is high on our considerations not just with the AZARDI reader, but also with the IGP:Digital Publisher production tools.


AZARDI Online is a pure Javascript web-app play. We wanted something that had the lowest possible total cost of ownership considering that bandwidth was probably the biggest total cost for online content delivery. Therefore AZARDI Online is optimized as a static framework delivered from AWS (Amazon Web Services). That's around US$0.12 per gigabyte, or around 1000 normal book deliveries.

Content security is also an important consideration for the online product. Once content has gone online it is potentially public. We have to address the prevalent attitude that everything online is free. It's not. Publishers and authors have to have a profitable business.


This is the most difficult development area as Android and iPad have different capabilities across different versions. To keep application development costs and feature development under control means finding the lowest common denominator. From our perspective that means mobile features trail desktop and online. We continue to evaluate option here which means large future code rewrites from time to time. That is the reality of creating an all platform, all browser, all device ePub3 interactive, fixed layout, reading system.

Windows 8 and IE10 curiously and mysteriously just may end up being the easiest web-app development environment.

comments powered by Disqus