Instant is a PSPDFKit component that allows real-time collaboration for seamlessly sharing, editing, and annotating PDF documents across Android, iOS, and web apps. And with its Instant layers feature, you can edit different sets of annotations in a document without affecting the original PDF document.
In this blog post, we’ll talk about using the Instant layers feature and provide an example of a use case that allows multiple revisions of the same document without creating multiple copies. This can be implemented in various ways, but it’s especially useful in the construction industry, e.g. when a company is working with construction plans.
There’s often more than one construction engineer working at a single construction site, and these engineers need to be able to collaborate with each other on floorplans to add pointers or mark details using annotations or comments. In turn, these annotations should be viewable by other engineers on site. At the same time, it’s important to keep a record of this data as it appears in each respective floorplan document in case it ever needs to be revisited.
Engineers make multiple visits to a construction site at different stages of the construction, and they often need to add more annotations to a floorplan to bring up for discussion. They may choose to use the same document from an earlier visit for reference and add more annotation comments to it, or they may opt to have multiple copies of the original document so that they can have separate instances of the plan documents available for each of their visits.
Using Instant Layers
Using the same document among multiple engineers over an extended period of time can result in a cluttered document. However, using multiple copies of the same document for each visit can become difficult to manage.
But having a setup that allows engineers to collaborate on a single document and easily switch back and forth between the various revised versions of the document conveniently — without having to jump through the hoops of sharing the document after every change — can make collaboration a lot more seamless.
This is where the Instant layers feature comes into play. It allows users to build a document revisioning setup by creating a new “layer” for a document on every visit.
Instant supports real-time collaboration right out of the box, allowing multiple engineers to collaborate on the same document in a centralized manner without having to share the document after every change they make. Each layer has its own set of annotations and comments, essentially acting as a new document. This satisfies the need to both keep track of past changes and have a “fresh” canvas to work with on every visit to the construction site.
Additionally, this has another benefit, which is low data consumption, due to the way Instant layers work under the hood: There’s only one original copy of the PDF document, which is downloaded by the mobile SDKs, and no new copies of the document are downloaded when a new layer is accessed. Only the annotations and comments are synced and downloaded to devices. This is done using the Instant JSON format, which makes the whole process more efficient in terms of both the network bandwidth used and storage on devices.
The Instant layers example, which is available in our iOS Catalog app, demonstrates this use case. It allows users to switch between different layers of a document as if they were different documents altogether, and in turn, each layer (document) corresponds to comments added as a result of a new review. The layers are then preloaded with a different set of annotations to demonstrate different pointers made during the visits, and they’re listed in a sidebar, with the document displayed in the view area next to it.
Below is the example in action.
Instant by itself is a powerful tool that allows collaboration between multiple users on a single document. And adding the layers feature on top of it makes it even more useful. But it’s not just the construction industry that can benefit. For example, you could even leverage layers to conduct a public survey.