Portable Document Format (PDF) files are ubiquitous. It's taken 20 plus years but now PDF creation is integrated into all of the most common desktop operating systems and many mobile applications are capable of exporting PDF files. On the other side, PDF consumers are everywhere, your operating system has a PDF viewer, your browser has one, your hosted applications have their own, and if you're reading this description, you probably have a preferred tool for working with PDF. The problem is that all of these viewers provide a different PDF experience. Most of them do a pretty good job of showing you the page content, but that's where the consistency ends. If the PDF file you've opened in your browser is a form, you may not know that there are fields that you can type into... or if some of those fields are used to calculate values in other fields. You might not know that the PDF file you're looking at in your favorite tool has comments or redaction annotations that should show up as black boxes but are invisible to your PDF viewer. In short, by becoming too popular, PDF has become unreliable; it's promises broken. They're no longer "Portable". But it doesn't have to be this way. Even though some PDF developer tools have been around for almost as long as PDF, too many of them cut corners under the assumption that Adobe Reader and Acrobat are the only viewers in use. They rely on the fact that the Adobe tools "fix" improperly formatted PDF and ignore the dictionaries that, according to the spec, are optional but in practice are required. This talk will focus on PDF developer tools and discuss why it's critical to go the extra mile to make your PDF files work consistently across browsers, operating systems, and viewers, and show developers how to put the "Portable" back in PDF.