To XPUB2 and Beyond!

By Angelo Scicolone posted in Tech

XPUB 2 and new reader technology

XPUB 2 is an evolution of our proprietary XPUB format for distribution of fixed-layout digital publications supporting interactivity and multiple languages/renditions, and is directly linked to our new native reader technology, that allows to reproduce the contents of the XPUB on iOS and Android devices. The XPUB 2 reader is based on cross-platform technologies, and shares up to 90% of the code between iOS and Android versions while still being fully-native. The new reader finds place in PubCoder’s native iOS/Android app exports, our free PubReader companion app (App Store / Google Play) and our white-label Shelf solution.

This will enable easier maintenance and allow us to add even more features quickly to our ecosystem. For the moment, you can already enjoy better performance and stability, full compatibility with the latest requirements from Google Play Console (64-bit support, Target API 28) and App Store (WKWebView, Xcode 10.2, iOS 12 SDK, CFBundleDisplayName key), full VoiceOver / TalkBack support.

Also, you can enjoy faster setup and app export time for Android, since building the new Android app-reader is now up to 2x faster than before and does not require to install and configure Android SDK anymore.

We started transitioning to XPUB 2 in December 2018 and just completed the transition with PubCoder 3.6:

  • December 2018 — PubCoder 3.3 quietly introduces XPUB 2 as an experimental feature
  • April 2019 — PubCoder 3.5 now uses XPUB 2 as the default format for new projects; iOS app export is now based on XPUB 2
  • July 2019 — PubCoder 3.6: Android app export is now based on XPUB 2 as well

While your new projects will automatically use XPUB 2, older projects will still use XPUB 1.0 for compatibility, but you can switch to XPUB 2 at any time in project settings to use the new reader technology on PubReader and Shelf, and everything should work fine (unless you are heavily using custom code, making assumptions on how the page is built, in which case you may need to update your code). Native iOS / Android apps, instead, will always use XPUB 2. We plan to drop support for XPUB 1.0 in 2020.

Accessibility Improvements

During these months, we’ve been working even harder with selected partners to improve support for assistive and accessibility technologies, particularly focusing on-screen reading tools like Apple’s VoiceOver and Google’s TalkBack, which are now fully supported on XPUB2 outputs.

We also worked to improve how the output is built, in a way that it is more transparent and optimized for screen reading technologies. For example, adding an “Alternative Text” to an image will make it a content image that will be spoken by the screen reading system, otherwise it will be considered a layout image and it won’t be spoken anymore.

What’s new in authoring

PubCoder has seen a lot of additions and improvements in the authoring area in the last 6 months, here’s the biggest ones:

  • Added Blend Mode property to objects, allowing to apply blending graphics effects such as multiplyscreenoverlaydarkenlightencolor dodgecolor burndifferenceexclusionhuesaturationcolorluminosity(on Android devices, this requires Android 5.0 or later)
  • Added Scroll Behavior property to objects, allowing to define the positioning of objects when the page is being scrolled by the end-user. Instead of always scrolling with page like before, they can now also be locked in background or foreground.
  • Added New Overlay and Split Overlay to page thumbnail contextual menu, allowing to assign a new overlay to the selected page, blank or cloned from the current one, respectively
  • Added Duplicate Page to Edit menu and page contextual menu
  • Added some new properties to the Text Object: ColumnsColumn SpacingLine HeightLetter SpacingPadding
  • Added Distribute Spacing Horizontally and Distribute Spacing Verticallyto the Arrange menu. The same functionalities can also be accessed by clicking on the distribute objects icons in the stage toolbar while pressing the `alt` key

Autosaving Coloring Games

In 2019, one of the most user-requested features has finally seen the light: autosaving coloring games. We’ve received a lot of feedback about this and finally delivered the feature with PubCoder 3.5: simply turn on Autosave User Artwork in the inspector of the coloring game, and the user artwork will be saved and restored even if the user switches page or closes to app or book.

And this is entirely built upon standard LocalStorage, so it works not only in XPUB and native apps but also on EPUB3 and HTML5 exports.

Audiobooks in Shelf

If you missed it, we also introduced a new Audiobooks reader in Shelf, so that you can bundle audiobooks (or podcasts) together with books and digital publications in your Shelf. Take a look at this post if you’re interested.

Some more things…

Though long, this is not an exhaustive list of what has been added to PubCoder in the first half of 2019. For a complete list, you can always take a look at our release notes in the new documentation website, which by the way is entirely new on its own.

Angelo Scicolone

Angelo is responsible for the development of PubCoder’s authoring application and platform design. He started coding since he was 9, at 17 he sold his first shareware Mac products on the web and on cd-roms worldwide. While graduating in Computer Science, he co-founded Emerasoft, where he developed applications for desktop publishing and publishing systems for Mac and Windows. He also wrote several articles and software reviews for the Italian IT-magazine Applicando. Since 2007 he has been working on custom development projects and desktop/mobile applications (Mac/Win/iOS/Web). One of these projects led to Pubcoder.