Archive

2024

Illustration: Programming in the AI era DEVELOPMENT AI ChatGPT Insights Programming in the AI era Illustration: How will Generative AI replace SDK engineers? DEVELOPMENT AI Insights How will Generative AI replace SDK engineers? Explore how generative AI is transforming SDK development, from code generation to API design. Learn about its current capabilities, its future potential, and the ethical considerations involved. Illustration: Nutrient unveils AI-powered enhancements, transforming document workflows COMPANY Company Insights Nutrient unveils AI-powered enhancements, transforming document workflows Nutrient reveals new AI SDK enhancements and document workflows for businesses wishing to unlock productivity and increased revenue. Illustration: Expanding SwiftUI capabilities in Nutrient: Customizable main toolbar DEVELOPMENT iOS Swift Insights Development Expanding SwiftUI capabilities in Nutrient: Customizable main toolbar This article explains our process of creating a new API for customizing the main toolbar using SwiftUI. Illustration: PSPDFKit rebrands as Nutrient after tripling revenue since strategic investment from Insight Partners in 2021 COMPANY Company Insights PSPDFKit rebrands as Nutrient after tripling revenue since strategic investment from Insight Partners in 2021 Welcome to Nutrient, the new brand that consolidates SDK, low-code, and workflow automation solutions by PSPDFKit, ORPALIS, Aquaforest, Muhimbi, and Integrify. Illustration: Dark and Tinted Alternative App Icons DEVELOPMENT iOS Insights Xcode Development Dark and Tinted Alternative App Icons Updating how we implemented alternative app icons to support iOS 18’s new dark and tinted app icons. Illustration: The Impact of Rapid Technological Advancements on Sustainable Software Product Development DEVELOPMENT Insights Development The Impact of Rapid Technological Advancements on Sustainable Software Product Development Discover how tech giants like Apple and Microsoft shape software development, the challenges developers face, and strategies for balancing innovation with sustainability. Illustration: Investigating a Dynamic Linking Crash with Xcode 16 DEVELOPMENT iOS Xcode Insights Development Investigating a Dynamic Linking Crash with Xcode 16 Debugging and fixing a crash we noticed after updating to Xcode 16. Illustration: NSCopying in a Swift World DEVELOPMENT iOS Insights Xcode Development NSCopying in a Swift World An exploration into how a modern Swift programming mindset clashes with Objective-C’s NSCopying protocol. Illustration: Generating API documentation for multiple targets with DocC DEVELOPMENT iOS Swift Insights Development Generating API documentation for multiple targets with DocC Follow our process of utilizing DocC to create combined API documentation for multiple frameworks. Illustration: 2023: Year in review COMPANY Company Products Remote Work Insights 2023: Year in review Read how 2023 treated PSPDFKit.

2023

Illustration: Debugging in iOS: Resolving UITextView Flickering Issues DEVELOPMENT iOS Insights Debugging Tips Development Debugging in iOS: Resolving UITextView Flickering Issues A debugging story that includes some tips and tricks Illustration: Nutrient is committed to open source, and here’s why that’s not changing anytime soon LEARNING PDFium Insights Nutrient is committed to open source, and here’s why that’s not changing anytime soon PDFium and open source security — Nutrient CTO Claudio Ortolina parses fact from fiction. Illustration: PDFium: The most trusted PDF rendering platform LEARNING PDFium Insights PDFium: The most trusted PDF rendering platform Discover why PDFium is a leading choice for PDF rendering. Nutrient CEO Jonathan Rhyne separates fact from fiction about PDFium and its role in secure PDF processing. Illustration: Why we're committed to supporting PDFium LEARNING PDFium Insights Why we're committed to supporting PDFium PDFium and open source security — Nutrient CEO Jonathan Rhyne parses fact from fiction. Illustration: Construction Software: Add Form-Filling Features for a Digital Revolution INSIGHTS Insights Construction Software: Add Form-Filling Features for a Digital Revolution How adding digital form-filling features to construction software can save time, streamline processes, and increase accuracy. Illustration: Adopting UITextInteraction DEVELOPMENT iOS Swift Insights Development Adopting UITextInteraction Learn how to add UITextInteraction to a custom text input element on iOS, iPadOS, and macOS. Illustration: Vision Is an Exciting Addition to Apple’s Lineup DEVELOPMENT iOS Insights Development Vision Is an Exciting Addition to Apple’s Lineup Considering how Apple’s newly announced Vision platform could fit in with its existing platforms. Illustration: Unleashing the Beta Beast: Introducing the Mind-Reading Q&A Tool INSIGHTS Culture Insights Unleashing the Beta Beast: Introducing the Mind-Reading Q&A Tool An OpenAI-based Q&A tool that answers your questions about PSPDFKit. Illustration: Conditional Compilation for Apple’s Yearly Updates DEVELOPMENT iOS Insights Xcode Development Conditional Compilation for Apple’s Yearly Updates How to smoothly transition an iOS and Mac Catalyst app for Apple’s yearly updates between June and October. Illustration: How a Tech Writer Tried to Build a Chatbot with OpenAI and Lived to Tell the Tale INSIGHTS Culture Insights How a Tech Writer Tried to Build a Chatbot with OpenAI and Lived to Tell the Tale My week with OpenAI, or how I learned to stop worrying and love ChatGPT Illustration: My Engineering Transition from Mobile to Backend DEVELOPMENT Culture Insights Development My Engineering Transition from Mobile to Backend A peek into the process of an engineer switching teams at PSPDFKit. Illustration: PSPDFKit Announces Completion of SOC 2 Type 2 Audit COMPANY Company Insights PSPDFKit Announces Completion of SOC 2 Type 2 Audit PSPDFKit, the leading document processing and manipulation foundation for tomorrow's developers, announced that it has completed its SOC 2 Type 2 audit. Illustration: PSPDFKit Continues to Accelerate with Record Results in 2022 COMPANY Company Insights PSPDFKit Continues to Accelerate with Record Results in 2022 PSPDFKit, the leading document processing and manipulation foundation for tomorrow's developers, today reported record results for 2022, continuing a trend of accelerating growth and momentum. Illustration: 2022: Year in Review COMPANY Company Products Remote Work Insights 2022: Year in Review 2022 was a year of growth and opportunity. 2023 will be a year of momentum. Illustration: Uncovering SourceKit Limitations While Updating Our API Documentation DEVELOPMENT iOS Swift Objective-C Insights Development Uncovering SourceKit Limitations While Updating Our API Documentation A post that goes into detail on how moving to Swift-first API documentation uncovered issues in SourceKit.

2022

Illustration: PSPDFKit Releases a SharePoint Version of Its Popular PDF Editor, Available Now via Its Affiliate Aquaforest and Muhimbi Brands COMPANY Company Insights PSPDFKit Releases a SharePoint Version of Its Popular PDF Editor, Available Now via Its Affiliate Aquaforest and Muhimbi Brands PSPDFKit announces PDF Editor for SharePoint. Illustration: PSPDFKit Names Miloš Đekić as VP of Product COMPANY Company Insights PSPDFKit Names Miloš Đekić as VP of Product PSPDFKit announced the addition of Miloš Đekić as VP of Product. Illustration: PSPDFKit Announces Record Results for Q3 2022 COMPANY Company Insights PSPDFKit Announces Record Results for Q3 2022 PSPDFKit, the leading document processing and manipulation foundation for tomorrow's developers, today reported record results and record new customer growth for Q3 2022. Illustration: Leveling Up My Manager Skills INSIGHTS Insights Leveling Up My Manager Skills An overview of my journey to becoming a better manager. Illustration: PSPDFKit Appoints Serana Warren as Information Security Officer COMPANY Company Insights PSPDFKit Appoints Serana Warren as Information Security Officer PSPDFKit announced the addition of Serana Warren to its team as Information Security Officer. Illustration: How We Make Our CI Fast DEVELOPMENT Testing Productivity Insights Development How We Make Our CI Fast Principles we apply to improve our CI efficiency. Illustration: Download Failures with Swift Package Manager Binary Targets DEVELOPMENT iOS Insights Xcode Development Download Failures with Swift Package Manager Binary Targets A tale of how reading an error message more carefully allowed us to work around an issue with our tooling. Illustration: Margin Collapsing in CSS DEVELOPMENT CSS Insights Development Margin Collapsing in CSS An overview of a particular margin collapsing scenario I discovered while working on headers and footers support for PDF Generation. Illustration: PSPDFKit Announces Record Results and Accelerating Growth in Q2 2022 COMPANY Company Insights PSPDFKit Announces Record Results and Accelerating Growth in Q2 2022 PSPDFKit, the leading document processing and manipulation foundation for tomorrow's developers, today reported record bookings for Q2 2022. Illustration: Replicating the iOS Text Magnifying Glass DEVELOPMENT iOS Swift UI/UX Insights Development Replicating the iOS Text Magnifying Glass A dive into details of how we replicated the system magnifying glass on iOS. Illustration: Rate Limiting Server Requests in Elixir DEVELOPMENT API Elixir Insights Development Rate Limiting Server Requests in Elixir A blog post explaining how we built rate limiting for test requests in PSPDFKit API. Illustration: PSPDFKit Announces Completion of SOC 2 Type 1 Examination COMPANY Company Insights PSPDFKit Announces Completion of SOC 2 Type 1 Examination Rigorous security audit validates PSPDFKit as a trusted document technology platform. Illustration: Our Attempt at Rewriting PSPDFKit Catalog in SwiftUI DEVELOPMENT iOS Swift SwiftUI Insights Development Our Attempt at Rewriting PSPDFKit Catalog in SwiftUI We tried rewriting a part of our PSPDFKit Catalog example project in SwiftUI. Here's what we learned. Illustration: How We Use Property Testing DEVELOPMENT Web Elixir Testing Insights Development How We Use Property Testing Some real-life examples of how we use property testing in PSPDFKit Server testing. Illustration: Best Practices When Doing Code Reviews — Part 2 DEVELOPMENT Insights Development Best Practices When Doing Code Reviews — Part 2 The second part of a series of posts about doing good code reviews, with tips from the code writer's side. Illustration: PSPDFKit Extends Document Technology Platform with Strategic Acquisitions of ORPALIS and Aquaforest COMPANY Company Insights PSPDFKit Extends Document Technology Platform with Strategic Acquisitions of ORPALIS and Aquaforest PSPDFKit acquires leading document imaging providers ORPALIS and Aquaforest Illustration: PSPDFKit Announces Record First Quarter 2022 Results COMPANY Company Insights PSPDFKit Announces Record First Quarter 2022 Results Bookings for Q1 up 75% year-over-year Illustration: PSPDFKit Names Chris Wilson as Chief Revenue Officer COMPANY Company Insights PSPDFKit Names Chris Wilson as Chief Revenue Officer PSPDFKit announced the addition of Chris Wilson to its executive team as Chief Revenue Officer. Illustration: PSPDFKit Appoints Chris Rosbrook as Chief Financial Officer COMPANY Company Insights PSPDFKit Appoints Chris Rosbrook as Chief Financial Officer PSPDFKit announced the addition of Chris Rosbrook to its executive team as Chief Financial Officer. Illustration: A Peek at Our CD Pipeline DEVELOPMENT API Insights Development A Peek at Our CD Pipeline A short peek at the CD pipeline powering our PSPDFKit API product. Illustration: Java-to-Kotlin Conversion Best Practices BLOG Android Kotlin Insights Java-to-Kotlin Conversion Best Practices This blog post provides a few handy tips for performing Java-to-Kotlin conversion. Illustration: How and Why You Should Be Using ASan BLOG C++ Insights How and Why You Should Be Using ASan Memory management has always been tough in C++, and that's why we should use tools like AddressSanitizer. Illustration: Best Practices When Doing Code Reviews — Part 1 DEVELOPMENT Insights Development Best Practices When Doing Code Reviews — Part 1 An article with tips about how to do effective code reviews that have an impact on the quality of a codebase. Illustration: 2021: Year in Review COMPANY Company Products Remote Work Insights 2021: Year in Review 2021 was a year of success and change. 2022 promises to be a year of growth and opportunity. Illustration: How We Expose Jetpack Compose APIs DEVELOPMENT Android Kotlin Jetpack Compose Insights Development How We Expose Jetpack Compose APIs A few lessons we learned about API design for modern Android.

2021

Illustration: Understanding Fast-Math DEVELOPMENT iOS Insights Development Understanding Fast-Math What does the -ffast-math optimization really do, and when is it safe to use it? Illustration: A Case for Fast CI DEVELOPMENT Testing Productivity Insights Development A Case for Fast CI How slow build times lower your team’s productivity, and how to change this. Illustration: Migrating Our Web Codebase from Flow to TypeScript DEVELOPMENT Web TypeScript Insights Development Migrating Our Web Codebase from Flow to TypeScript How we migrated our web codebase from Flow to TypeScript. Illustration: Using Instant Layers for Onsite Visits PRODUCTS iOS Instant Insights Using Instant Layers for Onsite Visits We talk about how the layers feature of Instant can be used for construction site visits. Illustration: Revolutionizing the Construction Industry with PDF Technology SOLUTIONS PDF Insights Revolutionizing the Construction Industry with PDF Technology Learn how PDF SDKs can be leveraged for the construction industry Illustration: What Is a Deprecated API on iOS? DEVELOPMENT iOS Insights Xcode Development What Is a Deprecated API on iOS? A look at Apple's API evolution strategy and the effect of the deployment target and base SDK Xcode project settings. Illustration: HTTP Caching 101 DEVELOPMENT Web JavaScript Insights Development HTTP Caching 101 ...Or, how the cache works on your browser. Illustration: PSPDFKit Announces €100 Million Strategic Investment From Insight Partners to Fuel Growth COMPANY Company Insights PSPDFKit Announces €100 Million Strategic Investment From Insight Partners to Fuel Growth PSPDFKit, the leading document processing and manipulation platform for developers and enterprise businesses, today announced its first strategic growth investment led by Insight Partners, a New York-based global venture capital and private equity firm focused on growth-stage software and technology companies. Illustration: What Is Text Shaping and Why Do We Do It? DEVELOPMENT PDF UI/UX Insights Development What Is Text Shaping and Why Do We Do It? Some text in some languages requires text shaping to render correctly. This will explain a little about what exactly that is. Illustration: Managing CI Pipelines with Terraform DEVELOPMENT Productivity Testing Insights Development Managing CI Pipelines with Terraform Learn about Terraform and how we use it to manage our Buildkite pipelines. Illustration: Reverse Engineering UIKit to Fix Our Top Crash DEVELOPMENT iOS Objective-C Debugging Insights Development Reverse Engineering UIKit to Fix Our Top Crash This blog post describes the process of reverse engineering UIKit to identify and fix our top crash in PSPDFKit for iOS. Illustration: How We Maintain Our Public Flutter Project Using a Private Monorepo DEVELOPMENT Flutter Productivity git Insights Development How We Maintain Our Public Flutter Project Using a Private Monorepo We describe the process taken to speed up the maintenance, development, and release cycle of our public Flutter project. Illustration: CMake Presets in Practice DEVELOPMENT C++ Insights Development CMake Presets in Practice What CMake presets are and why PSPDFKit hopes to use them more. Illustration: Optimizing PDFs for Printers DEVELOPMENT PDF Insights Development Optimizing PDFs for Printers How to make sure your users get a good experience when your PDF is printed. Illustration: Why Should You Care about Manual Testing? DEVELOPMENT Android Web Testing UI/UX Insights Development Why Should You Care about Manual Testing? How to approach manual testing pragmatically for quality products you can be proud of. Illustration: How a B-Tree Helped Reduce Memory Usage in Our Framework DEVELOPMENT PDF Tips Performance Insights Development How a B-Tree Helped Reduce Memory Usage in Our Framework This blog post describes the approach we took to save around 15 percent of memory in our framework by first identifying bottlenecks, and then changing one of our dictionary implementations to use a specialized data structure known as a B-tree. Illustration: A brief tour of multipart requests DEVELOPMENT Web Insights Development A brief tour of multipart requests Learn how multipart requests enable the transfer of multiple types of data, including files, over the internet in a single HTTP request. Illustration: The Experience of Signing Electronically PRODUCTS Signing UI/UX Insights The Experience of Signing Electronically How we designed the UI and UX of our new Electronic Signatures component. Illustration: Why PDF Uses Floats and Word Uses EMUs DEVELOPMENT PDF Components Insights Development Why PDF Uses Floats and Word Uses EMUs This post explores and gives examples of the units of length in Word documents. Illustration: Server Development on Apple Silicon DEVELOPMENT Web Docker Insights Development Server Development on Apple Silicon A short post about the experience of using an M1 MacBook for working on our Server product. Illustration: Our Journey to ARM DEVELOPMENT Web Docker Server Insights Development Our Journey to ARM A recollection of the events that led to PSPDFKit supporting ARM for our server-based products. Illustration: How to Identify Browser Bugs DEVELOPMENT Web Tips Debugging Insights Development How to Identify Browser Bugs Strategies to adopt for identifying browser bugs, and what to do after spotting one. Illustration: String Literals, Character Encodings, and Multiplatform C++ DEVELOPMENT C++ Tips Insights Development String Literals, Character Encodings, and Multiplatform C++ How string literals are encoded by Clang and MSVC. Illustration: Advances in XCFrameworks DEVELOPMENT iOS macOS Insights Development Advances in XCFrameworks With Xcode 12, Apple improved the XCFramework format, which unlocks great new capabilities. Illustration: Keeping Up with JavaScript Pointer Events DEVELOPMENT Web JavaScript Insights Development Keeping Up with JavaScript Pointer Events Events on the web have changed a great deal since the days of the cursor and the mouse. We examine some differences that you should be aware of.

2020

Illustration: 2020: Year in Review COMPANY Company Products Remote Work Insights 2020: Year in Review 2020 has been a challenging year for everyone. Let’s take a look back at what happened over the past year. Illustration: Where We Work INSIGHTS Culture Remote Work Productivity Insights Where We Work A blog post showing a glimpse of where our people work. Illustration: How Updating to Kotlin 1.4 Broke Our Linter Rules DEVELOPMENT Android Kotlin Insights Development How Updating to Kotlin 1.4 Broke Our Linter Rules How the update to Android Gradle plugin 4.1 and Kotlin 1.4 can break custom linter rules, and how to fix it. Illustration: Updating Complex Forked Projects DEVELOPMENT git PDFium Insights Open Source Development Updating Complex Forked Projects This blog post explains all the steps we take to stay up to date with PDFium at all times. Illustration: The Generalized CRUD API of PSPDFKit for Web DEVELOPMENT Web JavaScript Performance Insights Development The Generalized CRUD API of PSPDFKit for Web An introduction to why and how we designed the brand-new unified CRUD API in PSPDFKit for Web. Illustration: The State of Debugging in WebAssembly DEVELOPMENT Web JavaScript WebAssembly Debugging Insights Development The State of Debugging in WebAssembly We share our tips and tricks for debugging issues in WebAssembly and look to the future to see what's coming. Illustration: Monitoring PSPDFKit Server with Metrics DEVELOPMENT Server Insights Development Monitoring PSPDFKit Server with Metrics Using data to draw insightful conclusions. Illustration: Binary Frameworks as Swift Packages DEVELOPMENT iOS Swift Insights Development Binary Frameworks as Swift Packages What we learned from experimenting with binary frameworks as Swift packages in Xcode 12. Illustration: Evaluating the Render Fidelity of PDF.js DEVELOPMENT PDF.js PDF Insights Development Evaluating the Render Fidelity of PDF.js We explore various issues with the render fidelity of PDF.js. Illustration: C++20 in 2020: Modules DEVELOPMENT C++ Insights Development C++20 in 2020: Modules An introduction to the C++20 modules feature: what they are, their potential advantages and disadvantages, and how they are used. Illustration: Why Is the PDF Format So Well Supported on Apple Platforms? DEVELOPMENT iOS macOS PDF Insights Development Why Is the PDF Format So Well Supported on Apple Platforms? Apple has a rich history of supporting the PDF file format, but when and how did its relationship with the PDF format begin? Illustration: Our Journey toward Using More Inclusive Language at PSPDFKit INSIGHTS Culture Insights Our Journey toward Using More Inclusive Language at PSPDFKit A blog post about why and how we are trying to use more inclusive language. Illustration: The Case for Lists in UICollectionView DEVELOPMENT iOS Swift UI/UX Insights Development The Case for Lists in UICollectionView Exploring the power and flexibility offered by creating lists using UICollectionView. Illustration: The Hidden Trap in Selective Table View and Collection View Reloads DEVELOPMENT iOS Swift Debugging Insights Development The Hidden Trap in Selective Table View and Collection View Reloads Learn how to properly update cells in a table view or collection view without crashing. Illustration: Direct Calls with Objective-C DEVELOPMENT iOS macOS Objective-C Performance Insights Development Direct Calls with Objective-C Apple introduced the objc_direct attribute in Xcode 12. Learn what it does and how you can use it to your advantage. Illustration: Supporting XCFrameworks DEVELOPMENT iOS macOS Insights Xcode Development Supporting XCFrameworks What we learned about XCFrameworks while migrating PSPDFKit to this new format. Illustration: NULL-Characters in Strings and Tales of Apple Radar DEVELOPMENT iOS Swift Objective-C Insights Development NULL-Characters in Strings and Tales of Apple Radar In iOS 11, Smart Punctuation caused data loss. Learn how we fixed the issue and how we are now cleaning up the OS-level workaround. Illustration: Text Selection Regression in Chrome 83 DEVELOPMENT Web Debugging Insights Development Text Selection Regression in Chrome 83 How we noticed a Chrome regression and shipped a workaround in a timely fashion. Illustration: An In-Depth Look at Blur Effect Materials on iOS TUTORIALS iOS Swift Objective-C UI/UX Insights An In-Depth Look at Blur Effect Materials on iOS This blog post talks in detail about the blur effect materials on iOS and the challenges we faced in picking the appropriate effect for our SDK. Illustration: Supporting Pointer Interactions DEVELOPMENT iOS Swift Tips UI/UX Insights Development Supporting Pointer Interactions Apple introduced new pointer events in iOS 13.4 to better support trackpad and mouse devices. Illustration: Optimizing PDF File Size DEVELOPMENT PDF Tips Insights Development Optimizing PDF File Size When editing PDFs, they often grow in size, but that doesn't have to be the case. Here's how we optionally optimize for size. Illustration: Becoming a Better Engineer by Doing Support INSIGHTS Culture Support Insights Becoming a Better Engineer by Doing Support How being on support duty helps me improve as an engineer, and why I think everyone should try it. Illustration: The State of Progressive Web Apps in 2020 DEVELOPMENT Web PWA Insights Development The State of Progressive Web Apps in 2020 Examining new developments in the PWA landscape that affect mobile and desktop browsers. Illustration: The C++ Lifetime Profile: How It Plans to Make C++ Code Safer DEVELOPMENT C++ Security Insights Development The C++ Lifetime Profile: How It Plans to Make C++ Code Safer This blog post explains what the C++ Lifetime Profile is and how it intends to make the language safer and help avoid memory management problems.

2019

Illustration: 2019: Year in Review COMPANY Company Products Remote Work Insights 2019: Year in Review With 2020 just around the corner, we wanted to reflect on the past year. Illustration: The Functional Side of std::optional with C++20 DEVELOPMENT C++ Insights Development The Functional Side of std::optional with C++20 std::optional is already really useful, and it's about to get better with C++20. Illustration: From zero to hero: How I got a full-time job in tech INSIGHTS Culture Insights Tips From zero to hero: How I got a full-time job in tech A political scientist turned web engineer describes her journey of transformation. She also reveals a few aspects that can make or break an internship in tech (and in general). Illustration: Our Journey from Genymotion to the Android Emulator DEVELOPMENT Android Insights Development Our Journey from Genymotion to the Android Emulator How we migrated our Genymotion-based CI to an AVD. Illustration: Introduction to C++ for Swift Developers DEVELOPMENT Swift C++ Insights Development Introduction to C++ for Swift Developers An introduction to the C++ language for Swift developers, with an overview of reasons to use C++ and a look at differences and similarities between the languages. Illustration: How We Improved Keyboard Navigation Accessibility in Our Android SDK DEVELOPMENT Android Kotlin Tips Accessibility Insights Development How We Improved Keyboard Navigation Accessibility in Our Android SDK A look at the steps we took to start improving the accessibility of our Android SDK. Illustration: Understanding the Gradle Build System DEVELOPMENT Android Java Gradle Insights Development Understanding the Gradle Build System In this article, we'll explore the Gradle build system, how it works, and why it is the new standard for building Android projects. Illustration: Challenges of Using Emojis with C++ DEVELOPMENT Android iOS macOS Windows C++ Insights Development Challenges of Using Emojis with C++ In this article, we discuss the challenges of implementing your own custom emoji support in a cross-platform way. Illustration: What Is an Intent? DEVELOPMENT Android Kotlin Java Insights Development What Is an Intent? An overview of intents, their uses, and pitfalls to consider. Illustration: React Redux's New Features DEVELOPMENT Web React JavaScript Insights Development React Redux's New Features An overview of React Redux's seven new features in action. Illustration: How We Work at PSPDFKit INSIGHTS Culture Remote Work Insights How We Work at PSPDFKit A post about how we work at PSPDFKit. Illustration: Problems with Nullability Annotations DEVELOPMENT Android Java Tips Insights Development Problems with Nullability Annotations A look at some issues with Android's nullability annotations and how to fix them. Illustration: WWDC for First-Timers, 2019 Edition DEVELOPMENT Culture Productivity Insights Development WWDC for First-Timers, 2019 Edition Here's how to get the most out of Apple's Worldwide Developer Conference. Illustration: How Xcode Indexing Works and How You Can Fix IDE Problems with Your Projects DEVELOPMENT macOS Tips Insights Development How Xcode Indexing Works and How You Can Fix IDE Problems with Your Projects This post provides an overview of how the code assistance feature in Xcode works and how you can debug code assistance problems in your projects. Illustration: Remote Work: What I've Learned from a Decade as a Remote Software Engineer INSIGHTS Culture Remote Work Productivity Insights Remote Work: What I've Learned from a Decade as a Remote Software Engineer Sharing a few tips and things I've learned from my 10 years working as a remote software engineer. Illustration: Understanding the difference between bookmarks and the outline in a PDF DEVELOPMENT PDF Insights Development Understanding the difference between bookmarks and the outline in a PDF Bookmarks vs. outline elements: Not everything is what it seems. Illustration: Kotlin Coroutines DEVELOPMENT Android Kotlin Insights Development Kotlin Coroutines A look at Kotlin coroutines and how they compare to other solutions for concurrency. Illustration: The Bittersweet iOS Document Browser DEVELOPMENT iOS Insights Development The Bittersweet iOS Document Browser A quick look at both the benefits and downsides of using the iOS system document browser in your applications. Illustration: Embracing the Limits of UIActivityViewController DEVELOPMENT iOS Objective-C Insights Development Embracing the Limits of UIActivityViewController We talk about our experience in implementing the new sharing flow. Illustration: PSPDFKit and Swift DEVELOPMENT iOS Swift Insights Development PSPDFKit and Swift Will PSPDFKit for iOS move to Swift? In this post, we weigh the pros and cons. Illustration: Incremental and Full Save in PDFs DEVELOPMENT Android iOS Windows PDF Tips Insights Development Incremental and Full Save in PDFs This article goes into what's involved when incrementally or fully saving a PDF, and why it matters. Illustration: UWP for iOS Developers DEVELOPMENT iOS Windows UWP C# Insights Development UWP for iOS Developers A brief introduction to Universal Windows development for iOS developers. Illustration: Visual Studio Code for C++ DEVELOPMENT C++ Tips Insights Development Visual Studio Code for C++ How to use Visual Studio Code for C++ development.

2018

Illustration: 2018: Year in Review COMPANY Company Products Remote Work Insights 2018: Year in Review With 2019 just around the corner, we wanted to reflect on the past year. Illustration: Self-Sizing Table View Cells in Practice DEVELOPMENT iOS Swift Objective-C Insights Development Self-Sizing Table View Cells in Practice A look at self-sizing table view cells for apps supporting iOS 10, 11, and 12, covering three implementation approaches and some pitfalls I encountered supporting these across our UI in PSPDFKit. Illustration: Color-Correct Night Mode PRODUCTS iOS Insights Color-Correct Night Mode A blog post showing how we go the extra mile to create good-looking color in night mode. Illustration: iOS HEIC Performance DEVELOPMENT iOS Insights Development iOS HEIC Performance We evaluate the encoding and decoding performance of HEIC. Illustration: Challenges of Adopting Drag and Drop DEVELOPMENT iOS Objective-C Insights Development Challenges of Adopting Drag and Drop A recap of how we integrated drag-and-drop support into our Document Editor in iOS. Illustration: What are Kotlin contracts and how are they useful? DEVELOPMENT Android Kotlin Insights Development What are Kotlin contracts and how are they useful? An overview of the experimental Kotlin Contracts API. Illustration: What’s Hiding in Your PDF? DEVELOPMENT PDF Insights Development What’s Hiding in Your PDF? PDFs hold information you may not know about. Discover different forms of metadata and where to look for them. Illustration: How We Onboard New Engineers COMPANY Insights How We Onboard New Engineers Learn about how we take new engineer hires and guide them toward being fully productive members of our team. Illustration: Marzipan: Porting iOS Apps to the Mac DEVELOPMENT iOS macOS Insights Development Marzipan: Porting iOS Apps to the Mac With macOS Mojave, Apple is adding support to bring apps written in UIKit to macOS without the requirement of having to rewrite the UI in AppKit. This is not yet officially supported — this post will explore what we can expect in 2019 and how you can use Marzipan today. Illustration: The Challenges of Changelogs DEVELOPMENT iOS Insights Development The Challenges of Changelogs How we handle changelogs at PSPDFKit and the tools we built to help us with this. Illustration: How I Got Started with Flutter DEVELOPMENT Flutter Android iOS Insights Development How I Got Started with Flutter A short review of Flutter from a mobile developer’s standpoint. Illustration: Swift by Sundell Podcast with Peter Steinberger INSIGHTS Culture Insights Swift by Sundell Podcast with Peter Steinberger On July 19, our CEO, Peter Steinberger, was interviewed by John Sundell on his Swift by Sundell podcast. Illustration: Smart Grid Sizing DEVELOPMENT iOS Swift Insights Development Smart Grid Sizing How PSPDFKit is smart about choosing thumbnail sizes. Illustration: Scaling PSPDFKit Server PRODUCTS Web Performance Insights Scaling PSPDFKit Server A quick look at how we added horizontal scalability to PSPDFKit Server. Illustration: Rendering PDF Previews DEVELOPMENT Android Insights Development Rendering PDF Previews An overview of how to render PDF previews. Illustration: Advances in Auto Layout DEVELOPMENT iOS Insights Development Advances in Auto Layout An overview of how Auto Layout has changed in recent years and how to best use it. Illustration: Understanding Smart Punctuation on iOS: Impact on string handling in apps DEVELOPMENT iOS Insights Development Understanding Smart Punctuation on iOS: Impact on string handling in apps Explore how iOS's Smart Punctuation feature transforms straight quotes into curly quotes and modifies hyphens into dashes. Learn its implications for developers in string handling, UI tests, and input management within UIKit controls. Illustration: What Are Appearance Streams? DEVELOPMENT PDF Insights Development What Are Appearance Streams? An explanation of what appearance streams actually are, along with their gotchas. Illustration: RxJava Is Async yet Blocking DEVELOPMENT Android RxJava Kotlin Insights Development RxJava Is Async yet Blocking An explanation of why RxJava is both asynchronous and blocking. Illustration: Searching PDFs PRODUCTS PDF Insights Searching PDFs Searching PDFS and how we help you handle edge cases and avoid common pitfalls. Illustration: UICollectionView All the Things! DEVELOPMENT iOS Insights Development UICollectionView All the Things! `UICollectionView` is now at the heart of every document. This blog post talks about why and how we rewrote our view hierarchy. Illustration: Using Kotlin to Make the PSPDFKit API Even Better DEVELOPMENT Android Kotlin Insights Development Using Kotlin to Make the PSPDFKit API Even Better Kotlin provides the ability to extend any class with new functionality, and we can use this to expand the PSPDFKit API. Illustration: Binary Frameworks in Swift DEVELOPMENT iOS Swift Insights Development Binary Frameworks in Swift ABI? Module stability? What does binary stability mean, and how will it affect you? Illustration: Simple Kotlin Tips for Beginners DEVELOPMENT Android Kotlin Insights Development Simple Kotlin Tips for Beginners Useful tricks for beginners to start writing better code with Kotlin. Illustration: Understanding PDF Annotations: Their Types and Uses DEVELOPMENT PDF Insights Annotations Development Understanding PDF Annotations: Their Types and Uses Discover everything you need to know about PDF annotations, their types, and how they function in PDFs. Learn how Nutrient makes managing these annotations simple with its robust annotation model.

2017

2016

2015