What? You mean I have to *Pay* for that?


I was answering posts in a community forum on the weekend when I came across an entry asking for help to build a data grid. The requirement was complex. The poster had expressed at the time that the functionality needed was available in a 3rd party control, but did not want to spend the money as the price was too high. On investigation he could have spent as little as $895 for the suite of tools. I just don’t understand the mentality ?

If you are working on a commercial piece of software (defined here as software that you are being paid to write by virtue of wages, contracting or future sales), then do the math…

NOH x YHR = VOT

So, Number Of Hours for you to write the tool you are looking for, multiplied by Your Hourly Rate equals Value Of Tool.

Take a basic data grid with grouping, sorting, binding, totals and some nice UI, I’m pretty confident it would take more than a couple of months to get right, but even if we said 4 weeks, or 152 hours, at a nominal rate of $25/hour (who works for that rate?), you are still looking at a cost of $3,800. So the cost of $895 is looking good.

Lets work it back the other way… $895/$25 hr = 35 hours, could you develop what is on offer for that?

Or (based on my estimate of 152 hours) $895/152 = $5.89/hr

I understand when buying tools we have to find balance, but I find it ridiculous when Devs expect everything for free.

There are some great tools out there (my obvious preference being DevExpress) and these companies put a lot of resource into making our jobs as easy as possible, lets show some support and appreciation, if everything became open source no of us would have a paying job.

.Net PDF Viewer showdown


Ok, it was a simple enough feature to add. A viewer that would allow PDF’s to be shown on screen. Already in my toolkit I had the SyncFusion control, but after a couple of quick tests I found the speed to be woeful and thus started the painful process of looking for a control to use.

A number of vendors offer PDF creation, manipulation, annotations etc, but not viewing. I was most disappointed that DevExpress did not have anything in their swag, which means the project in question is now only 99% DX 😦

The list came down to

– Gnostice (www.gnostice.com)
– Atalasoft (www.atalasoft.com)
– DynamicPDF (www.dynamicpdf.com)
– Aspose (www.aspose.com)
– ActivePDF (www.activepdf.com)
– Deaja (www.daeja.com)
– Snowbound Software (snowbound.com)
– Bluebeam Q (www.bluebeam.com)
– PDFTron (www.pdftron.com)
– GDPicture (www.gdpicture.com)
– SyncFusion (www.syncfusion.com)
– O2 Solutions (www.o2sol.com)

So what was I looking for ? a .Net Assembly that could be added to my project, capable of adding a control to a WinForm to display/interact/print existing PDF’s. It would be nice to add annotations and stamps to documents someday. Whilst price had to be balanced, licensing was important. Royalty Free distribution is a must.

How would I test ? install a demo version of the product, create a viewer control on my form, set the properties, load a pdf, zoom and print. All the PDF’s tested would be live client data, the sort of thing that would be used in the final product, varying in size, content and properties. If the project could not be put together in 30minutes or less then the product was too complicated.

The litmus test is being able to do as much of the above as possible without referring to the documentation.

Round One::
Dismissed straight away because of what I thought were hideous websites were Deaja and Bluebeam. In the world of technology when your primary clients would be developers, you need something that is informative and stylish. Both these products would have been rejected on price/licensing if they had made it through round one, although to be fair, Bluebeam didn’t really fit the bill as far as a .Net library was concerned.

The list continued to get smaller as products whittled down…

Round Two::
: Snowbound – license pricing too high;
: PDFTron – restrictive licensing, too expensive;
: activePDF – confusing web site, licensing model complex and no pricing available
: DynamicPDF – restrictive licensing
: Atalasoft – PDF Reader SDK too expensive (price vs functionaltiy)

The following products made it through to testing

Round Three::
: Syncfusion – easy to implement, very slow in performance
This was the product that started me down the slippery slope of viewers, I was startled that with a $1700 price tag (for single product), the performance was dreadful.

: O2 Solutions – too hard to build a testing demo
After installing the product things look promising, until I tried to add some code. The documentation was poor, it was simply too hard to try and build the demo.

: Aspose – looked really promising, until you try and build a demo !
A single 10mb dll? I was a little surprised by how hard it was to try and create a viewer. There was nothing to add to the toolbox, the website is verbose and confusing, the forums turned up nothing. After 30minutes of trying to get something to happen I simply gave up and put it in the too hard basket.

: Gnostice – easy to implement, crashed in demo app and slow performance
The Gnostice library was easy to install and quick to implement in the project. The methods and properties were discoverable and the demo was built in a matter of minutes, unfortunately when opening one of the PDF’s we got booted with an exception, and other PDF’s were very slow.

SO THE WINNER IS…..

: GdPicture – complex product matrix, confusing mix of sdk and plugins, but FAST !
GdPicture nearly got thrown out because of the complicated product matrix, I already had a partner license so I persevered – and glad I did. It looks confusing with the large number of options available, I wasn’t sure which product I needed, or plug-ins, but GdPicture has a royalty-free license, a major plus. GdPicture installed quickly, and a test app could be produced easily. Performance was fantastic. Best of all, it did not get in the way of our interface, a simple container that allowed me to add the buttons and functionality required on the form. If it’s just PDF viewing you want then the $950 license is one of the most economical on the market, if you want what seems to be one of the most powerful image manipulation toolkits around then the ‘Ultimate’ combination is by far the best value for money.

Edit: to be clear, for the need I had, the PDF Viewer component from GdPicture was outstanding, but GdPicture offers much more, with some other 90 formats supported.

In summary, the majority of vendors seem to favour a limited license instead of a royalty free one, which was disappointing, a number seemed to think that high pricing was the way to go. I still think for wanting a basic feature there are too many hoops to jump through, especially when you consider that PDF Viewing on OS X, iOS (iPhone/iPad) is native, no additional libraries or costs required. It also seems component vendors need to think about their web sites when offering some of this stuff, it is a jungle out there.

I do hope that DevExpress have a note on a story board somewhere that shows “create pdf viewer” !