Mon 22 Jan 2007
Doubt on Flex as the best option (3): Bad printing experience
Posted by luar under Doubt Flex (aka Thinking in Usability)Main concern: I want native print preview support in Flex.
When we talk about usability problem in Flash, you may expect I will repeat the back button support, deep link, save web page problem, SEO (1, 2, 3, 4) in Flash, of course not necessary. Ha! I understand we should talk in the same domain, use Flex to build “enterprise application”, “Intranet application”, which are not public facing, consumer website. We do not need to care about back button, SEO… those problems.
Starting from Doubt on Flex as the best option (3), I will focus on the usability problems. Yes, Flash usability problem can be solved but hard to solve, when you gain productivity in Flex framework, Flex builder, if you put in time in solving usability problem, you will loss more time than you gain.
Let start…
One of important feature in enterprise application is printing: print report, print customer record.
Lack of print preview
In Flex, we can use print-specific child component to design what should print on a paper, which may different from what is shown in the screen. However, once the user click print button, a printer dialog appear, what he can do it print it immediately, he cannot preview what will print on paper.

Lucky to MAC user, MAC OS print provides a preview feature no matter what application you are using.

Lucky to HTML/AJAX based application user, the browser help you, the browser help the developer,too. It has a print preview natively support for any web page.
Flex has provided many visual UI element you can use them easily but lack of a strong integration with OS feature, what will happen when the application move to Apollo? Can user treat Apollo application like traditional desktop software, enjoy the existing, standard feature they have in other software?
In short term, we have to create our own print preview feature in the Flex application, in long term, Adobe must provide a print preview function natively work with OS, not just a simple PrintPreview component.
Is it possible to liquidize layout of print content in different oriented paper in Flex?
Another feature we are existing enjoyed in HTML/AJAX based application, inside print preview, user can choose landscape or portrait, the print content will liquidize to fit the paper width, it is not what Flash does scale to fit the paper width. It is a two lines wrapped tabular data in portrait and become one line tabular data in landscape.


Follow up
Other Reference

January 22nd, 2007 at 4:30 am
[...] « Doubt on Flex as the best option (2): Flash Player is cross-platforms/browsers?! Doubt on Flex as the best option (3): Bad printing experience » [...]
January 22nd, 2007 at 6:07 am
IE has a cool feature that allows you to specify a different printable page (not a stylesheet, but a completely different url). You just add something like:
I wish that Firefox supported this too. A long time ago I remember finding a Firefox bug posted for this, but AFAIK it hasn’t been resolved.
It does seem however that many Web 2.0 applications require the user to do something (other than Ctrl-P or File/Print) in order to get a printable version. Google Maps and many others work this way because many times in an application, what the user wants to print isn’t really the screen, but a rather a specific part of it.
January 22nd, 2007 at 6:12 am
My HTML tag was filtered out. Perhaps I should post a blog titled “Doubt on HTML as the best option (1): Bad data input experience”.
Anyways, I will try again:
<link rel=”alternate” media=”print” href=”printable.html”>
January 22nd, 2007 at 3:58 pm
I respect it is your personal opinion and not represent the frivolous attitude from Adobe Systems.
January 22nd, 2007 at 7:47 pm
If you want to make an application (html, flex) printable, you have to do some extra work in both worlds (html, flash etc).
Out of box things get printed well in HTML based apps but in Flash it’s not that good, I agree.
But Adobe Flex 2 has added some classes related to printing. And with support for new dynamic stylesheet loading, you can have two different (print and screen) css, you can achieve what someone just pointed above.
I have not yet played with it but I have feeling it’s lot easier than before.. Thanks to Adobe for putting releasing Adobe Flex 2.0.1 updater…
There are couple of folks who have been doing stuff related to printing in Flex apps..
Check out this link: http://www.adobe.com/devnet/flex/articles/flexfaq.html#itemA-40
It’s kindda old stuff but you might find it useful in someway.
cheers
-abdul
February 25th, 2007 at 6:39 am
Enterprise applications do not print images of the GUI. Typically enterprise apps map data structures to print-specific layouts that are then stored, versioned and tracked. These printable docs are almost always in pdf format (iText being a reasonable library for gen-ing the docs). Generating a document for printing has several advantages.
1. you retain the document in your doc storage environment
2. the user can view the document previous to printing
3. formats such as pdf are specifically designed for document management (versions, updates, signatures, etc). Note: pdf is not the only doc version.
Anyway, after nearly a decade of web-based enterprise application development (and being Flex based for the past 3), I can definitely say screen printing web pages is not an issue in enterprise class applications.
February 17th, 2009 at 6:28 am
[...] Many people have complained or indicated that they need or would like a print preview component. FlexReport seems to have had a short lifetime and the demo site has recently been suspended, so it’s no longer an option. We at Soph-Ware Associates, Inc. recently needed such a component — so we wrote one. Try it out here! [...]