Ubuntu Document Viewer Hackfest

Last week was certainly an exciting one, between the Ubuntu Edge campaign announcement and several coworkers being at OSCON, I wasn’t able to keep the Hack Days going. So we’ve decided to pick up where we left off this week, covering the remaining Core Apps on our list. Just like before we’ll be hanging out in #ubuntu-app-devel on Freenode IRC from 9am to 9pm UTC, and will be more than happy to walk you through the process of getting started.

Today we’re going to work on the Document Viewer, a necessary app for most people, which is at the same time both simple and very complicated. The app itself doesn’t require a lot of functionality, but it does need a lot of behind-the-scenes components to load and render documents of different formats. Great progress has already been made on our dogfooding requirements list:

Load a text file. DONE!

Load an image file. DONE!

Load a PDF.

View the file. DONE!

Forward/back pages on PDF.

Pinch to zoom.

Until just yesterday, there wasn’t a released version of our desktop PDF library (Poppler) that had Qt5 bindings. However, with the release of Poppler 0.24 yesterday, we should not be ready to start implementing the PDF support. We also need to replace the existing C++ wrapper used to launch the app with the new Arguments QML component, but when we do that we’ll need another QML plugin that will give us the mime-type of the files that are being loaded. And of course we need to make sure we have full Autopilot test coverage for all of these parts. So whether your skill set is Python, QML, Javascript or C++, there is something you can contribute to on this app.