People often overlook the importance of Imaging when it comes to their document management solution. Sometimes they simply take for granted that they can look at the documents that they store and work with.
When you ask most people what they view their PDF files with, their response will likely be, "Acrobat Reader". When asked what they will view their Word documents with, they'll of course reply, "Microsoft Word". They likely won't even know what the name of their TIFF viewer is. Ask them what the benefits of viewing documents and images in this way are, i.e. with their creator application, and they won't likely have a good answer for you.
There is one, at least with Word, and that's the ability to edit. However, to edit PDF, you need the full version of Acrobat, and we all know it isn't cheap, so typically only certain users have it. If you are viewing TIFF files, you're probably not editing at all. In fact, I'd guess that most of the time, with any format, users only need to view the files that are in their content management systems. They might also want to annotate or use some other method in an approval process, but that's a separate topic. So, for now we'll talk about straight viewing.
Ask them what the disadvantages of using creator applications to view content are, and they may give a list of things. The first, and most important, is usually the time it takes to actually view the document. Time after time I hear about how long it takes for users to download a full PDF, wait for Adobe Reader to open, and then display the document; they go get their coffee, chat at the water cooler, etc. You know what I'm talking about. Not only are your users wasting valuable work time, but they are using unnecessary bandwidth. If your users are in remote locations from the document repository, the problem is amplified.
So how do you solve the problem? There are multiple ways, most of which are more complicated than they need to be. One solution would be to have caching servers for content in various locations. That may solve access time across a WAN, but not excessive bandwidth use and file transfers, and it requires a large amount of hardware. Another solution would be to split large multi-page files into numerous single page documents, grouped as a virtual document. However, this requires another process in your document management workflow that is time-consuming, and it also increases the complexity of storing and managing your documents. I prefer what I think is the simplest solution: a server-client based viewing system.
Think about it. The server does all the work, and the client reaps all the benefits. Take a 150-page PDF as an example. Its file size might run on the order of 1.4MB. On average, a user isn't going to look at every page, and probably only needs to look at 5 or 10 pages. Would you rather send 1.4MB over the wire to the user, or 20K to begin with, and a total of 160K for 10 pages? Using server-side processing, you can retrieve the file, break up the pages, and pass a single page and a set of thumbnails to the client. When a user needs another page, the client requests the next page, either by paging through, jumping to a page by number, or selecting the desired thumbnail. Not only is this much faster, but it significantly reduces network traffic.
Speed is not the only benefit to this method. Security can be a big concern as well. Implementing this type of solution in Java with a servlet-applet solution, the file never has to touch the file system of the user; the client keeps all the info in memory, and the documents are gone once the session is ended.
Maintaining a servlet-applet solution becomes a simple of matter of updating files on the application server, and the change is transparent to the user. No more worrying about which users have which versions of the software, or updating multiple viewers on every system.
Scalability also becomes much easier. Since such an implementation can fit right into your existing application server architecture, compensating for increasing users is very manageable. As your user base expands, the server-side component is as expandable as your application server architecture.
With the cross-platform nature of Java, portability is a huge benefit. As long as an operating system has a JVM available, your server-client solution will work on that platform. This makes it easy to fit the same solution into a variety of business needs, whether it is internal or external, with no need to migrate code, or to make changes or additions to your existing infrastructure.
All in all, a server-client based approach offers a wide array of benefits when it comes to viewing images and documents, with no real drawbacks.
-Chris
Recent Comments