In October of 2011 we started building beautiful real time magazines for publishers and companies on the Titanium development platform. The first few functions of our coding framework were based on an extensive design that we put together on a napkin. Over the course of the year, this codebase developed into a framework we now call “the imgZine core” – or codename “napkin” for the technical folks in our team. We’ve continued to optimize this framework, aiming to deploy magazines faster and faster. By September 2012 we could deliver new real time magazines within a few hours!
But after one year of developing magazine apps, our napkin-design started to run into some limitations. Not all our functions worked on Android, we were unhappy with the performance of some of our design decisions and our code became more difficult to maintain. So we decided to convert our learnings into a new version of our platform. For this we needed a bigger piece of paper than a napkin, so we decided to release “Core 2” (also known as “envelope”).
‘Envelope’ contains a lot of improvements that will help us structure our apps in a faster and more efficient way. Here’s the lowdown on what’s new:
Currently, there are over 2,200 different Android devices – all of which have varying resolutions and aspect ratios. We can no longer position a button on a specific pixel like we did when we were only developing for iOS. While each inch on a low resolution screen has 160 pixels, on a high resolution screen 1 inch has more than 320 pixels. So, instead of pixels we started using dps (1 dp is 1 pixel on a 160 dpi screen, and 2 pixels on a 320 dpi screen).
We also expanded the list of functions Core 1 offered for the iPhone by going from a list of articles to browse to something we dubbed the ‘Lego Magazine’ – a more advanced magazine template for iPhones and Android phones. Core 2 was built from the ground up and every line of code was tested on both iOS and Android devices.
Flexibility and extensibility
Every magazine app we build is 90% identical, 10% different. They all use the same core functions. This means the core needs to be extensible – particularly to allow for more customization and bespoke publications. On Core 2, every function or module can be overridden. ‘Envelope’ also allows us to configure and style magazines in different ways, making it way more flexible than ‘Napkin’.
We built a variety of magazines last year, all of which demanded functionalities that were not necessarily standard in Core 1. As a result, we often had to develop these functionalities from scratch for different magazine apps. For instance, while we were building RaboPulse we noticed that we needed a means to display different kinds of data in the magazine – not only articles and text. We needed to showcase articles, YouTube videos and Dropbox files all together. To enable this type of functionality in a faster and more scalable way, we redesigned the database structure in Core 2.
A lot of effort was put into optimizing the code for performance. Instead of focusing on system performance, we try to focus on end-user performance. Core 2 also incorporates a new database structure with optimized queries that is not only more flexible, but also a lot faster.
Results so far
The first magazine running on ‘Envelope’ is Nefarma. Nefarma is available on the AppStore and Google Play, for both tablets and phones. Upcoming magazines that will run on ‘Envelope’ include a new version of MedZine, ‘De Nieuwe Pers’ and an Android version of NLinBusiness.