Tech

The Road to Foxit MobilePDF SDK

by Conor Smith | November 22, 2016

The Fox

When the Debenu team joined Foxit in early 2016 to form the Foxit SDK business unit it was a great opportunity to reflect on the SDK products available from both companies. It quickly became apparent, from reviewing external and internal feedback, that while Foxit had market leading technology in terms of quality and performance, there was one area that was an issue: ease of development for mobile.

While the power and low-level functionality of our SDKs was appealing to many large businesses including Amazon, Microsoft and Nasdaq, it was hurting us with companies that had fewer engineers — and less time — to dedicate to implementing PDF functionality into their products.

It was clear that we needed to make some changes to the product range in order to help enable prospective customers to create prototypes using our SDK quickly and then implement the technology into their products, with as little work and pain as possible.

Quickly a term was adopted internally for this project: Rapid Development Kit (RDK).

A team was formed to pursue this project and to define its scope. What turns an SDK into an RDK? What should it contain? What platforms should we target first? How should we measure its effectiveness?

It was decided that an RDK should be easy to understand, quick to integrate and flexible enough that it can be customized to meet each customer’s unique requirements. It is a fact that prospective customers will naturally compare our products to our competitor’s products, therefore the developer experience was extremely important in our planning.

iOS and Android were identified as the logical platforms to first target with the RDK. This new product would also be best served by a fresh new project based on Foxit’s core foundation technology, rather than retrofitting an existing SDK with rapid development kit characteristics.

With those initial decisions made a new product was born, Foxit MobilePDF SDK, with the following characteristics:

  • Easy-to-Learn
  • Rapid-to-Integrate
  • Proven and Flexible UI designed for Mobile
  • Quality Technology and Best Performance

To accomplish this we broke the new SDK down into three elements:

  • Core PDF API
  • PDF View Class
  • UI Extensions Component

As its name suggests, the Core PDF API contains all of the PDF related functions for the RDK. It can be used with or without the other elements of the RDK and will be consistent in design across all platforms.

MobilePDF SDK for AndroidThe PDF View class is where things start to get rapid. Previously, with some exceptions in the ActiveX SDK and .NET SDKs, we had left it up to the customer to pull together the various low-level functions to build their own basic PDF viewer with functionality such as scrolling, zooming and text selection. While this was appealing to some of our bigger customers who need to have complete control, it wasn’t as appealing to customers who wanted to build a world-class PDF viewer with minimal effort and time. The built-in class for taking care of standard PDF viewing was put in the “must have” column for the RDK because of the time and money it will save our customers.

The final element is the UI Extensions Component, the native front-end of the RDK, and the prime element that had been missing from our mobile SDKs up until this date. The UI Extensions Component uses the PDF View Class as the starting point and builds a complete — with native UI controls for each platform — PDF viewer around it, including Tools functionality, with a user interface optimized for use on iOS and Android platforms. Users of Foxit MobilePDF, a free app for viewing and annotating PDF files on iOS and Android, will notice that we’ve used the same UI because its usability has been proven by a million plus downloads from the respective app stores.

To ensure maximum flexibility we decided to include the source code project for the UI Extensions Component so that our customers could modify the appearance and functionality of the component to meet their exact requirements.

It has been 6 months since our first meeting about the project that would become Foxit MobilePDF SDK and we’re very excited about the end result. It’s a mature solution — development timelines are much shorter when you have access to Foxit’s core technology, which has been used to view PDF files by over a billion users — but it is also only the beginning.

We’re going to talk to as many customers as we can and listen carefully to their feedback so that we can continue to refine our new RDK to make it the go to option for any developer looking to add PDF viewing and manipulation to their mobile apps.

Haven’t tried Foxit MobilePDF SDK for iOS and Android yet? Give it a try!