After Flash, why PDF must die !
This post was originally published on AIIM's Expert Blogs by Serge Huber, CTO at Jahia Solutions
Ok now that I have your attention, I'll quickly say that of course I believe that PDF is a great technology that has served its purpose for a long time, but I believe we should progressively stop using it in some use cases since the world has actually changed to slowly make it less relevant.
PDF, the Portable Document Format, was initially created by Adobe to address a difficult problem at the time: how to generate a document that would always look the same, no matter the platform it was viewed on, and that would print out in the same way on various printers connected to different hardware and operating systems. It used at its core the Postscript technology it had pioneered and combined it with font embedding, compression and various other features to achieve the at-the-time impressive goal.
It is a real testament to the engineers working on PDF at the time that this was indeed achieved, and worked well work a long time, making the document format widely accepted throughout all industries. Today a PDF file is a guarantee of delivery of high quality print formatted content, visible on an amazing range of target platforms, ranging from desktop computers to mobile devices such as smartphones.
The PDF file format even included optional DRM technologies and forms that made it possible for organizations that needed to provide digital fill-out forms and make it easy to give them to users to fill out and print out (saving the results proved to be less ubiquitous though).
But if it was this great, why am I saying it should join Flash in the realm of technologies we should get rid of ? Well actually for many of the same reasons that Flash was targeted by Apple initially: mobile devices and HTML5. Apple made a huge gamble when they released mobile devices that didn't include a Flash player. From my point of view, it was initially a pure engineering decision, that exploded into a real open conflict when it got into Steve Jobs' hands. The engineers working on the iPhone and the iPad looked at Flash from a CPU usage consumption point of view, and quickly noticed that it was using up a lot of power because of the intrinsic compositing and post processing done inside the player to make things look good. As Adobe was focusing on making Flash available on many platforms, including some with no graphic processor units (GPUs), it build a high-quality but CPU-intensive renderer. It then tried to use the GPUs on the Windows platform because it was trying to address the problem of the netbook platforms that were using Intel Atom CPUs and that were not sufficient to playback high resolution video feeds now available on YouTube.
At the same time Adobe was working with Apple to improve the implementation on the Mac OS X platform but I'm guessing that these efforts were not very high priority because Adobe was probably most interested in the Windows platform. Also, I'm also guessing that Adobe was not told about the iPhone project until it was about to be released, because we all know Apple likes to keep secrets to make big announcements.
When Google tried to use Flash as a way to attract customers to their own mobile platform, the result was actually quite disappointing, Flash on Android was so slow and battery hungry that Adobe announcd it would not include it in the next major release of Android anymore. So what are people replacing Flash with ? They are replacing it with HTML5.
HTML5 is a very powerful new version of possibly the most used standard in the world. It can already do today almost everything that the Flash player can do, at least the most used functions, and has native hardware accelerated implementations on all major platform, this time including mobile devices. Again doing this in a standard and open way probably helped get more companies involved, and it was quite amazing to see how fast the new extensions were being implemented. Even Microsoft has seen the light and is rapidly implementing the standard in its own browser, and although I remain sceptical about the quality of their implementation (I have been burned in the past), the first new versions are promising.
Flash became very popular on the web because it helped solve two problems : the video codec nightmare and multi-platform gaming. Before the inclusion of video in the Flash player, there were ways to embed videos on an HTML page, but these actually embedded a native player such as Windows Media Player or Real Media Player, and these were not available on every operating system. Inside the custom players often multiple video codecs were used, and if a video used a codec that was not available on some platforms (usually because it hadn’t been installed), the video would simply not play. Flash helped this problem by offering a highly available player on all major desktop operating systems making it possible for services such as YouTube to develop. HTML5 does bring us a new video tag, but the problem of the codec is still a big issue, as some browser implementations are proponents of the Google VP8 codec engine, while others prefer H.264. Hopefully this will not be an issue for end-users, but that remains to be seen. On the gaming side, this is one area where Flash is still a solid solution, and until there are good tools to replace Flash authoring tools with HTML5, I think that this will primarily be the place where Flash will remain strong.
Back to PDF, it is easy to see that the technical demands of this file format are much less demanding than the Flash player technology. Embedding fonts is also now possible in CSS 3.
One area where PDF file are actually a nuisance is on smaller screen mobile devices. A lot of us, I believe, would be interested in reading content coming from magazines or books on their mobile devices, be they an iPhone, and iPad, a Kindle or any other you prefer. On these devices a PDF is really a bad thing to use, since you end up seeing only a part of the document at a time, and end up scrolling and zooming a lot just to read the content. Even the iPad’s larger screen is not really big enough to match the size of a regular piece of paper or a real magazine page, so everything ends up being too small to read (unless you pan and zoom). The Kindle e-reader is a wonderful screen for reading, but opening a PDF, although technically possible, is a pain because the screen is too small and therefore you either end up with an unreadable page, or have to pan and zoom with a device that doesn’t necessarily have touch (here I’m considering only the low end non-touch version of the Kindle, as I believe that we need to look at how to scale content down to the cheapest available devices). So what we can see here is that the printed-page metaphor on which PDF is based really doesn’t work well on the mobile devices, and for this reason I believe we need something better.
There are already quite a few e-book standards available that fit the bill better, but some of them are limited and will not fit the more advanced needs of magazine editors for example. But this is changing rapidly and I have good hope that standards such as EPUB3 will grow more and more powerful. At the same time it is also possible to use HTML5 embedded inside native application and build some scalable rendering, especially using CSS3’s media queries, that make it possible to change the styling based on screen sizes or orientation (portrait, landscape).
I think that in the future PDF will probably survive for a long time as a solution for scanning and printing, although my ecological self would prefer we limit printing to a minimum, and that other formats should be preferred to target consumption on mobile devices. It seems that book editors are understanding this now because I see that less and less electronic books are being delivered only in PDF format but usually also make them available in various e-book formats. The scanning use case is a bit different, but here also PDF is a bit of an overkill as usually it is not needed to have a complex format as PDF to store an image, but it is used here mostly for lack of a better alternative. The industry that still is looking for a good cross platform standards is the magazine industry, and this must happen soon because that industry is actually losing a lot of traction and some already say it is a business of the past.
Both Flash and PDF were born out of needs to deliver better cross-platform experiences, but since their birth the open web standards have started replacing every feature unique to the former, making them slowly more irrelevant. This is a natural and good thing, and I hope we will see more delivery in the future of scalable open content standards.
Author : Serge Huber
Serge Huber is co-founder and CTO of Jahia. He is a member of the Apache Software Foundation and Chair of the Apache Unomi project management committee as well as a co-chair of the OASIS Customer Data Platform Specification.