3 Replies Latest reply on Jan 25, 2009 4:01 PM by bryanlewis

    Is Flex the answer for our Remote image viewer project

      My company has a new project and I am trying to figure out if Flex (in conjunction perhaps with AIR) would be the best platform to do this on. I am not a Flex developer...I have a ColdFusion background, so I need your help to decide if we should go looking for a Flex Guru.

      We need to grade digital papers remotely. The idea is that a grader would launch this application and login. Then the system would display a paper (a scanned image) on the screen and the person would enter a score. The system would interface with the backend via ColdFusion CFCs to a SQL server.

      Features we would like:

      1. The image pane would allow zooming of the image in case some text was hard to read. Ideally it would allow real-time brightness and contrast also, but perhaps that is asking too much.

      2. If the paper was multiple pages (it could be), then the application would have an area which showed thumbsnails of each page. The grader could click on the thumbnail to skip to other pages.

      3. I don't know about Flex/AIR security, but the entire session would have to encrypted (SSL). Security is important on this project. Can Flex/AIR be configured to stop/prevent screen capture?

      4. Is flex capable of good keyboard handling? We would like to offer keyboard shortcuts for everything. If the grader types a number, then we want to assume they are scoring the paper. If they use the arrow keys, we want to flip between pages, etc.

      5. Can it handle image caching? Performance will be important. So while the grade is looking at page one, we would want to be downloading any additional pages in the background if the paper was multi-page. Then once they flip to the next page it is instantaneous.

      Any help would be appreciated. We are just starting to research this project, and it looks like Flex/IR could be a strong solution...but I am ignorant as to many of the capabilities.

        • 1. Re: Is Flex the answer for our Remote image viewer project
          Michael Borbor Level 4
          Hi there, hope this could answer could help you decide to use Flex/AIR.

          1.- Yes Flex allows zooming and panning there are a few examples in the Flex Devnet, this for instance http://www.adobe.com/devnet/flex/samples/fig_panzoom/

          2.-You can create thumbnails using CF image manipulation and load them using Flex components.

          3.- You can communicate to a remote server over a secure connection, yest. I dunno about preventing screen capture.

          4.- Yes Flex handles keyboard events very well, except for a few protected keys.

          5.-As Flex apps work asynchronously, it can do that.

          • 2. Re: Is Flex the answer for our Remote image viewer project
            AlHolden Level 1
            1. Flex should be able to give you these tools. Check out picnik.com
            2. This seems easy enough in Flex as well
            3. Your Flex app can use a https protocol to call a web service as easily as a http call.
            4. You can program for keyboard events.
            5. Sure, you can create and front load an image object, although in fairness you can probably do this in ajax as well.
            I'm not aware of a web-based anything that can prevent one from capturing their display, because that's an OS function - outside the "web sandbox". Whether or not AIR can do that - probably could be an entirely separate Google search or Forum thread.

            The one thing that comes to mind - which gives Flex/Air a little boost over the traditional html or ajax methods - is that folks can not "view source" and more easily learn hints and paths to communicate directly with your server interface and fetch your precious images or secrets via some other platform or client than the one you design.
            • 3. Re: Is Flex the answer for our Remote image viewer project
              bryanlewis Level 1
              Thank you both for you answers. We will keep digging on a Flex/AIR solution to this problem, as it seems pretty viable.

              picnik looks to have a lot of the functions we need. Of course we would need to leverage those functions in our own app. I had come across the fig_panzoom thing...that looked very promising. Could the image container dynamically size based on the size of the application window? Since this would probably be a desktop AIR app, the user could size it depending on their needs. Ideally the image container would then also size accordingly (as a percentage of the window). By not have a fixed size image container, a user with a larger/higher res screen could see more of the image than someone with a smaller one.

              For the image capture issue, I have seen some cases where I am not able to easily take a screenshot of a flash applet. I have tried to take screenshots and the flash area I am trying to capture shows up as a black box. I don't know if this is an active protection or just a fluke in my capture attempts. Ideally we would want to try to prevent screen capture of our AIR app. I will take that issue to the AIR forums I guess.

              Thanks again.