4/13/2007

Musings About Software Pricing

Do you believe that much of the commercial software you see in the marketplace as a developer is overpriced? I'm talking about software that developers buy - tools, frameworks, special-purpose stuff that you could probably write by yourself, but you feel it would be cheaper in terms of your valuable time to purchase it instead?

I muse about this because recently my site partner and I purchased some ad - serving software for our site. We got a discount from the $700 price, but I still thought it was kind of pricey.

Like any developer, the first thing I looked at was "how easy is this to install and configure". The other thing I did was go to the vendor's site and look around.

The first thing I noticed was that there was one of those annoying animated drop-down "in your face" advertisements when their home page loaded. I don't think I have to explain why this tactic immediately puts you on my "do not visit this site again" list. It's tacky, unprofessional, and just downright rude!

The next thing I noticed was that these people had apparently developed this product in VB.Net for ASP.NET 1.1 and the information on their site doesn't reflect the current state of affairs at all. For example, their features state you can use SQLExpress with it as the database, but if you do, you can't use their FullText "keyword search" feature because SQLExpress doesn't support FullText. WRONG! The latest "souped up" version of SQLExpress DOES support FullText, and a lot more, and it's been available for a long time.

The next thing I did was what any self-respecting developer would do - fire up Reflector and take a look under the hood. I noticed two things that really turned me off :

1) The product has only a few stored procedures. 90% of the SQL code in embedded in the assembly as textual SQL. That's nowhere near as efficient as stored procs. Probably they did this to support OleDb providers, but the fact that you take delivery of the product "locked into" this inefficient model, which you cannot change, really pisses me off.

2) All their ad serving is done via ASP.NET PAGES - instead of more efficient ASHX WebHandlers - and those handlers should be ASYNCHRONOUS to boot! If you are writing software that needs to serve advertisements or images, and there is no need to show a "Page" - then you need to get rid of all the baggage of the ASP.NET Page class for speed and scalability - that's what ASHX WebHandlers are for. Apparently this was either too much trouble for these blokes, or they just aren't sophisticated enough to know about it.

3) The product does not seem to be open to any plug-ins or extensibility. At least, I didn't see any way you could. What you bought is what you're stuck with. If you need a feature, there's no way to add it.

4) This product literally has 3 separate logins - admins, advertisers, etc. They made NO EFFORT to upgrade this to the ASP.NET 2.0 Membership, Profile and Role model, which is much more efficient and extensible. ASP.NET 2.0 has been around a long time now, and these people never put in any time to bring their app up to current technology.

On the plus side, I will say that their database schema and logic is pretty sophisticated. But when you couple this with their crappy ASP.NET full-page delivery system and text SQL instead of stored procs, frankly, it's like putting a Ferrari engine in a Volkswagen; it just doesn't compute for me.

Now how much would I REALLY pay for software like this? You know what? It would frustrate me so much, I'm not sure I would buy it at all - no matter what the price. I suppose if they gave it to me complete with source, and I had the time, I might take a few weeks and completely overhaul and upgrade it, since I believe there is a big gap in the market for a quality, mid-range price ( say, $100 -$200) ASP.NET ad server product. But it isn't my software, so why should I have to pay somebody to get what I believe is an inferior, overpriced piece of software and then have to spend my valuable time just upgrading it to meet my standards?

I understand marketing - normally, 40% or more of the price of a product is the cost of marketing it. The problem is - if you hype the hell out of your crappy product and overprice it to compensate, in the hopes that "some" people will buy it, you haven't helped people like me any!

Like most ASP.NET developers in my caliber, I am particularly discriminating. I do not mind paying market value for quality. But - I DO NOT like being fooled by being hyped about how great some piece of software is, only to purchase it and find out that it is not "up to grade".

This isn't scientific, but I'd venture a guess that somewhere around 70 percent of all the software, tools, controls suites and such that we developers (and our corporate employers) purchase is grossly overpriced, and another 15 percent is moderately overpriced. That leaves about 15 percent that's fairly priced in the marketplace. I think there's some real room for improvement here!

If your product is good, there is a magic "best price point" at which you can make the maximum profit over time. This can only be found through diligent study of the competition and the marketplace. The market doesn't care how big your development team is, or how much you've had to pay to get their talent, nor does it care how high your office rent and other expenses are.

The software market is rife with overblown, over-hyped and OVERPRICED software. Caveat Emptor, Developer!