Since this post was published, we have released Foxit PDF SDK, the only true multiplatform SDK in the market, available for Windows, Mac, Linux, iOS, Android, UWP and Web. It features a single, consistent core API, as well as a built-in viewer and UI for faster development. Learn more.
With the release of Windows 10, Microsoft introduced an extension to the Windows Runtime platform called Windows Universal Platform, or UWP for short, which was created with a platform homogeneous application architecture and common core API to allow software engineers to develop universal apps that can run on Windows 10, Windows 10 Mobile, Xbox One and Hololens.
That’s pretty cool, right? If you are using Windows 10, UWP apps are available through the Windows Store and have a fluid and more modern user interface to classic Windows desktop applications and are optimized for traditional keyboard/mouse setups and touch screens.
Microsoft’s intention is for UWP to be the future building block of Windows apps and programs, and we are happy with that.
UWP and PDF
There are a few things that need to be thought about when building a PDF viewer for UWP devices. Windows has divided devices into families where if you create an App for one device it can be downloaded onto a range of devices within that family. The Microsoft UWP Guidebook breaks them down into Desktop, Xbox, mobile and Hololens.
When designing and implementing PDF capabilities, the device is important to take note of, as according to the Guidebook, desktop devices apps
“can have a windowed view, the size of which is determined by the user. Depending on window size, there can be between one and three frames. On larger monitors, the app can have more than three frames.”
When designing documents for apps developers will now have more to think about and have greater freedom to design for platforms.
Know your end user
As Microsoft have broken their devices into families it is important to understand what end users want to see on each device as, for example, Microsoft notes that
“the amount of information displayed on a TV should be comparable to what you’d see on a mobile phone, rather than on a desktop.”
This can greatly affect the amount of information that is held within a PDF document on any device. With the need to understand the end user comes the need to predict their habits and how they interact with PDF documents.
Developers must take note of the fact that end users may use more than one device to view the App so different input means must be deliberated on. The Guidebook states
“common input handling allows an app to receive input from a range of devices, such as touch, pen, mouse, keyboards, and game controllers.”
With all these added inputs within PDFs to think about a developer’s job is about to get much harder and much more interesting.
Multi-device handling also brings with it the idea of scalability and it is really important to get the PDF technology right from this respect. When factoring in things like annotations and signatures if the technology is not scalable and adaptable to varying screen resolutions & input methods then trust and competence is brought into question.
When creating a UWP app, Microsoft confirms that
This is great for developers who favor one language over another or work with an SDK whereby they don’t need to use numerous languages to create PDF technology in their UWP app.
From the outset, UWP and PDF software are heading down a very interesting path where PDF technology will have to be tested and improved to keep up with the varying device types, screen resolutions and other UWP challenges. We set ourselves this challenge and released an app available to download in all device app stores. The success of this has been huge with over one million downloads already! To grow on this knowledge and experience we have updated one of our most popular products MobilePDF SDK to support UWP, as well as Android and iOS. Now you can create an app on any platform or device with fully functioning PDF capabilities. Don’t take our word for it; see it for yourself on our MobilePDF SDK product page.