This is just a note to say {smartassembly} (Professional Edition) has entered my development toolbox.
It all began with DotFuscator Community Edition flatly refusing to obfuscate our VSTO application. That got me searching for an affordable alternative. A good resources that I came across during the research is the How to Select Guide for .NET Obfuscators.
The article has since been updated and few of the obfuscators has been removed for some reason. However, the page led me to few products (including couple of free ones). These include,
- Aspose.Obfuscator
- Salamander .NET
- Spices.Obfuscator
- {SmartAssembly}
- .NET Reactor
- Skater.NET
Aspose and Skater did a blind obfuscation of the VSTO add in which ended up breaking the application. After bit of evaluating, I narrowed down the selection to .NET Reactor and {SmartAssembly}. The Reactor was cheaper and as a bonus contained an additional licensing library. Having already purchased a licensing component from a different vendor, this wasn't much of a selling point for us. However, at almost half the price of {SmartAssembly}, Reactor still was a good enough option.
{SmartAssembly} on the other hand came with a host of more valuable features including assembly optimization, merging, pruning and (get this) automated unhandled exception reporting. But, being the only developer who's charged with using the obfuscation tool, I had to discipline myself and get only what I need, nothing more. So the scales were tilting towards the Reactor at this point.
Then came an important consideration: how good is their customer support. From one of our previous purchases we had learned that sometimes this makes a huge difference. We had evaluated a product based on a limited set of requirements. The product handled these requirements well enough, and the price was about 10% of what the competitors were offering.
Few months after the purchase our requirements changed, requiring the product to handle an entirely different scenario. Theoretically, it had the required features to pull it off. But, when it was actually put to the test, the product started to crumble. It was only after several weeks of frustrating email exchanges, bug reports and personally hacking some changes into their source code that I finally managed to make it work. Luckily for us, the developers of the product were quite responsive and did everything they could to get the necessary fixes out. I hate to imagine what would have happened otherwise.
So here's how I nailed down that Reactor was a risk and that {SmartAssembly} was the one to get:
Step 1:
Search Google for: <product name> review
.NET Reactor will return 195,000 results.
{SmartAssembly} returns 2,480 results.
But that's a worthless statistic. What you should look for are the sources of the link. You can browse through the multitude of results for Reactor and find that almost every single one of them are from 3rd party software download sites. The "review" they contain is only a repetition of the vendor's exact words.
Contrastingly, majority of the top hits for {SmartAssembly} are from some reputed blogs or developer resources sites (e.g. weblogs.asp.net, 4guysfromrolla). A simple search for {SmartAssembly} will also show you that it's been featured in the Scott Henselman's privileged list of Ultimate Developer tools.
Step 2:
Go to the vendor's online contact form and ask a simple question about the product or a feature. {SmartAssembly} got back to me on the very same day. I'm yet to hear from the Reactor guys :)
The point here is if they don't talk to you when you need to make up your mind about buying their product, they won't talk to you when you are stuck with a problem after paying.
So now, I have my copy of {SmartAssembly} to play with. I'm yet to put the product to it's full use, having only concerned myself with the obfuscation part of it. You can bet that there'll be more posts on this subjects in the coming weeks.
On a completely unrelated topic (related only in that it's something you should be aware of when purchasing over the Internet), take a look at the article on Software Awards Scam.