PDF files and memory related crashes

I’m sure PaperPad users came across crashes while they are working with PDF files. Most of these crashes are caused by PaperPad running out of memory and the operating system shooting it down.

I have been losing sleep over this issue. Especially because it crashes very predictably and consistently when you try to send a big PDF document (15+ pages, depends on the amount of images), because there is simply not enough memory in the iPad to render the whole document into. (Thanks to Warren to first noticing and reporting this issue)

You might say, that rendering the whole document into the memory is a very inefficient way of handling this. You would be right, very right. Unfortunately, that is the only way to render pages into PDF documents using Apple’s Quartz2D library.

In the last update I have provided the option to only save pages with changes on them if the document is larger than a certain size. This helps to prevent crashes, but is a plain bad solution.

I have been working on implementing my own PDF library, optimized for PaperPad’s needs for some time now. I am very happy to announce that I have reached feature-complete yesterday. I have been testing it for a day and it seems to be working fine.

This, of course, means a big and long overdue update to PaperPad. Most of the memory issues will be solved by this library and the PDF files will be rendered properly resolution independent in the user interface, instead of the current rasterized versions.

However, before I release this update, I need to test it throughly with different PDF files. Since I only have so many PDF files, and I’m sure that some the PaperPad users would have some fringe-case, frankenstein PDFs which would crash PaperPad and its brand new shiny PDF engine after I go public, I ask you to help me test the new version with as many files as possible.

If you are interested in beta testing the new PaperPad please shoot me an email with your device ID. Please be aware that you should only do this if you are interested in experimenting with buggy software and able and willing to provide me feedback about the crashes that are bound to occur.

In return, in addition to the good feeling of helping a poor young indie developer, you'll get to download of all of my current and future apps for free...

Peace.