I've been seeing a lot of recent announcements for Flash-based document viewing. For example, Scribd just announced iPaper, a document viewer plus what appears to be a new format for documents.

Today, Scribd released a vastly improved upgrade to its document viewer, which it is now calling iPaper. Scribd streams the converted PDF documents to the Flash player.

The viewer is indeed nice, but it looks as if Scribd means for iPaper to be a new format. If so, the world is moving away from proprietary formats, so I don't see how this will be adopted. Even worse, they tout their proprietariness as a security feature:

Because it is web-based (and not a file), you can't download, upload, or email an iPaper document.

This, I suspect, is not really right. I'm sure they send something to the Flash player, and with FireBug, Fiddler, Ethereal, etc, I'll be able to grab and save it. Now, I don't know if what I'll get is readable by anything yet, or what DRM that have on top of this, but this doesn't seem secure to me -- it won't take long for someone to make iPaper viewers that don't depend on Scribd.

But, the point of this post is why Flash at all? Sure, you can make nice effects like the page turn, but what good is that to me if I can't read documents on my iPhone (or the next new device).

That being said, I think there are a number of reasons why AJAX offers a better document viewing experience

  1. No Flash player needed -- new devices and new browser installs don't always have it. I just had to install Flash on my laptop last week.
  2. AJAX is based on open standards and has wide industry support. AJAX components usually play nice together (I don't know if you can put a Flash player on an ASP.NET AJAX UpdatePanel or address its parts with jQuery). 
  3. Since AJAX is made up of HTML elements, they can be better integrated into your page (can use CSS, elements of the UI can be split up)
  4. What's with the context menu in Flash?  If you can control it, no one seems to do it.

For Atalasoft, we need to support Document Images as well as documents like PDF. PDF is an important format for us, but so is TIFF. For TIFF, it's not a good idea to send the whole document to the browser (because it can be pretty big) -- so we tile it up like Google Maps. The Flash viewer implementations I have seen don't do this (but that's not a limitation of Flash, just its usage).

Generally, I think Flash has its place for anything where multimedia is important (e.g. showing videos) because there isn't another choice, but if AJAX is good enough, there are quite a few benefits to using it.

Luckily for Atalasoft, as long we can provide an ASP.NET control and a Javascript API, it doesn't matter if that renders to AJAX or Flash, so if it turns out Flash is better we can support it seamlessly.

If you want to see more, check out these AJAX Viewer Videos.