Later today, iOS 8 will be made available to everyone. And we are releasing a major new version of Prizmo (4.0), as well as an important update to Emulsio (2.5) to celebrate iOS 8.

Emulsio 2.5 got a great new iOS 8 photo extension that will let you stabilize your videos right from Apple’s Photos app. Try it, it’s great and it’s free (with IAP, you know the song right).

But let’s dig into some aspects of Prizmo for today.

Better Workflow

@SandrineLoiseau gathered quite a lot of user feedback about version 3.0 that would help us improve the app, and @benoitsan and I went through discussions to determine what this version of Prizmo should be.

Prizmo has a quite long history as a scanning & OCR app on Mac and iOS, and has accumulated many useful features over the years. In the meantime, lots of simpler scanning apps have emerged, and we naturally asked ourselves whether we should cut through features and make it simpler or keep the rich feature set. We finally opted to go with progressive complexity, trying to make simple things simple without sacrificing advanced features that our users love.

In the previous version of Prizmo (3.0), the home screen (a document list) had 3 buttons of the same size. One with a camera icon, another with a +document logo, and a third one with a loudspeaker. The camera icon is for the quick capture mode, +document to create a document (obviously), and the loudspeaker to access the voice reader. This was misleading for a number of reasons:

  • should the main feature, creating a document, be accessed through the +document or through the camera button? Because, you typically create a document using your device camera.
  • If the user got it for the +document, what could the camera icon mean then?

Another problem was that the workflow was a bit complex. After tapping the +document button:

  • the user is asked whether he wants to create a text document, image document, or business card document,
  • then he’s asked whether he wants to import a picture or use the camera,
  • he can then take the picture and go on with the document.

In Prizmo 4, we tried to address that and make things more straightforward for the user, focusing on most frequent scenarios, removing unnecessary modal decisions. Want to create a document from your camera? Tap the camera button. Document mode (text, business card, image) is not asked this time, but is provided as a mode, just like Apple’s camera mode slider. It’s not in the way, yet easily accessible if needed. If the user wants to import a file instead of using the camera, he has a specific button for that. But Prizmo no longer gives both of these scenarios the same importance, UI-wise. We made that button bigger too, to signify the most common task.

Shelves & Buttons UI update: Prizmo 3 on the left, Prizmo 4 on the right.

By the way, this is a pattern used in compression algorithms (I’m currently involved in some kind of JPEG compression, that’s probably why I digress here), like Huffman coding, where you want to associate shorter symbols to very frequent values and larger symbols to less frequent ones in a way to minimize the overall message length. The same applies to UX somehow, trying to minimize user frustration when using your app.

We did something similar with the quick capture mode. Previously in Prizmo 3, quick capture mode was a way to avoid making a document. It would first let you scan, OCR, then export as text, or read the text out loud in the reader. Not too bad, but quite a few user choices throughout the process, which made that mode not that “quick” after all.

In Prizmo 4, quick capture button receives more meaning. Like in Tweetbot, we used the long-tap popup with that button to provide 3 possible outcomes: “assistive text read”, “translate”, “copy text to pasteboard”. This means that the user chooses what he wants to do beforehand, and then the app lets him accomplish that task without asking further questions along the way. It’s also a more scalable approach, as new outcomes can be added.

New specific modes for Quick Capture button.

We also took this update opportunity to align Prizmo export capabilities to the way internal Apple sharing APIs work. When exporting a document in Prizmo 4, the user must decide if he wants to generate a document or do something else (voice, copy/paste, etc.). Going for a document of a particular type then lets him access specific OS-wise sharing options (other apps, social, AirDrop, print, etc.).

User Interface Fine-tuning

Prizmo has been modernized to the latest iOS APIs to make it future proof, and run on latest devices. It’s not a small thing, although this might not be easily visible from a user perspective.

Refined photo capture.

The “shelves” homescreen has been improved, as well as the camera view (thanks @BunuelCuboSoto for his contribution here). Also, we made sure VoiceOver would still work great through all of these changes, as this is a major feature of Prizmo.

Improved Image Processing

This update of Prizmo is also bringing improved image processing capabilities in 2 specific areas: image cleanup, and OCR preprocessing.

Prizmo 3 preprocessing and cleanup were mostly the same thing. This could sometimes degrade image rendering with holes or other artifacts. In Prizmo 4, the cleanup method has been thoroughly reviewed with 2 goals in mind:

  • provide accurate document rendering as if it were perfectly lit,
  • give the user more precise control on color, contrast, and brightness, to further tune the output.

Prizmo 4 delivers these features so much better than previous version.

We also updated the OCR preprocessing step to make it more robust, and with better default handling, not requiring any user interaction for common cases.

These new imaging features were also a good opportunity to put iOS 8's Core Image and custom filters through their paces, and results are (hopefully) more solid and robust in Prizmo 4 than they were on Prizmo 3.

Four (yes, 4) iOS 8 Extensions

As soon as extensions were announced at WWDC’14, we knew we’d be using them in Prizmo. After all, Prizmo was already implementing callback-url mechanism to interact with other apps, and we even pushed that to the point of proposing an Objective-C API on github to make it easier for other apps to cooperate with Prizmo.

Prizmo offers 3 capabilities in the form of 4 iOS 8 extensions:

  • Process in Prizmo (Action)
  • Read Text in Prizmo (Action)
  • Clean Image (Action)
  • Clean Image (Photos extension)

Any app can now access these Prizmo capabilities

Process in Prizmo lets apps (, or any other app) send a number of image files or PDFs to Prizmo, which Prizmo can then process (cleanup, crop, perform OCR, generate searchable PDF, etc.). Prizmo can in turn invoke actions from other apps when the processing is finished, which makes it extremely powerful by chaining apps together.

Read Text is another action that is meant to provide an entry point to Prizmo’s built-in Voice Player to other apps. Voice Player is offering high-quality third-party TTS engine (from our friends at Acapela, also here in Mons, Belgium) to other apps from text files or just strings of text. We thought it could be useful to leverage that capability, especially since that text player will also work in the background, bluetooth in the car, etc.

Clean Image is provided both as an Action (to any app) and as a extension. This allows users to perform page detection (find document border) and crop, including interactive edge snapping. It also enables cleanup, making contrasted text while removing uneven lighting and paper texture.

Photo extension to prepare some document image (crop & cleanup).


Prizmo 4 has support for Handoff, this is a new feature, part of the Continuity thing that allows starting work on one device and continuing it on another. A big deal for the Apple ecosystem.

Handoff: Do you see it? (Hint: bottom-left corner)

Prizmo is a universal application that runs on both iPhone and iPad, but also runs on the Mac. It’s actually the only one to our knowledge to cover all Apple devices, and it is naturally a good candidate for Handoff, especially since this combines beautifully with iCloud. So here we go, Handoff!

Start working on your iPhone, create a document in Prizmo. When you (physically) approach your iPad, iPad’s lock screen will reveal that Prizmo is being used on a nearby device. Unlock the iPad with that special Prizmo button, and boom, you’re editing that same document. Pretty amazing feature, we sure hope many other apps will support that as well.

Other Improvements

There are a number of other improvements in Prizmo 4, like iCloud modernization, access to iOS 8 documents (as input when creating new documents, or as export destinations), revised document export options, bugs fixes here and there, etc.

That’s it for the new features, hope you’ll like this new Prizmo!