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!

Comments

  1. Anonymous12:31 PM

    Actually, I believe about 70% is UNDER-priced, 10 % ok, 10% moderately overpriced and 10% grossly overpriced.

    If people were willing to pay MORE for their software, the overall quality might increase to an acceptable level.

    Software development is HARD - and creating GOOD software is VERY HARD ! You need great people, which cost a lot of money, which means that you need to charge more for most software to pay for the great developers.

    ReplyDelete
  2. Anonymous2:05 PM

    At the risk of sounding like a shameless suckup, I bought your Professional Validation package a couple of weeks ago and it was reasonably priced, easy to use and powerful. You are the model for excellent quality and value all it one package. Plus, even though I bought the package I especially like that I had the option of buying individual components.
    -- Geri Langlois
    geri@rapidexposure.com

    ReplyDelete
  3. Re: anonymous - Yes software development is hard. And good software at an attractive price is also hard - not just because its expensive to hire good talent, but because it is difficult to judge the market and that's why even great software is often overpriced. There is a "Magic price point" at which you will net the most proceeds. Lots of outfits overshoot that mark because they don't have the talent / resources to accurately judge the real market.

    Re: Geri, I am afraid you are confusing me with "another Peter".
    Thanks anyway!

    ReplyDelete
  4. Anonymous3:56 PM

    Oops! I'm red-faced. Anyways, I do appreciate your blogs and all the help I've gotten from them -- and this time I know that I have the right guy!
    --Geri

    ReplyDelete
  5. Peter, software pricing is an interesting matter really and you be surprised at what kind of differing reactions you get. I've sold products where people consistently told me I was not charging enough and I've had the opposite true.

    But in the end a piece of software I really need and that works as advertised is worth its weight in gold. I'm always amazed when I see people balking at shelling out say $199.00 for something powerful and then go on to spend a week or more to build something similar that doesn't do half as much. Talk about misguided effort. So it can go both ways...

    One problem is that today so much software is given away for free - often very sophisticated stuff. But even the quality stuff is rarely free: You usually pay for it with bad or missing documentation and squat for support and updating/maintenance. In a lot of ways I agree with what the first commenter said - quality of a lot of software has actually gone way down because everybody is competing with free which isn't much a business model. That and continuous beta syndrome to impress your friends and neighbors :-}

    Add to that the whacky subscription model that most vendors are doing that rewards them for doing as little as possible with their products.

    As to quality: Uhm Membership provider and efficient? How did you get those two in the same sentence? :->... Stored procs faster that dynamic SQL: There are good reasons for stored procs but perf isn't one of them...

    ReplyDelete
  6. Rick,
    Thanks for the insight. I agree that the pricing model out in the industry today has become distorted.

    Maybe I should have qualified my statements about using Membership etc. providers - they certainly make web applications more usable with less code and pages.

    And you are correct, stored proc are not necessarily faster than textual SQL (if it uses parameters). But, they certainly make the work easier if you want to modify them, and there's an extensibility model provided.

    ReplyDelete
  7. Anonymous2:19 PM

    This is all tied up with the myth of software value. As a contractor I come onto a lot of projects in mid-cycle and see some truly horrendous architecture and code. My first suggestion is usually to suggest they bin it and start again, as it's obvious the more it is allowed to grow the less maintainable it will become. But business managers value software at what it cost them to produce rather than how much money people will pay for it, so they're reluctant to throw away code no matter how bad.


    Yet ScottGu did an interview with the architecture journal where he mentioned how he and his team spent months prototyping ASP.NET to see what they could learn and then binned all the code at the end of it. Several months/years later and ASP.NET became the legend it is today...

    ReplyDelete

Post a Comment

Popular posts from this blog

FIREFOX / IE Word-Wrap, Word-Break, TABLES FIX

Some observations on Script Callbacks, "AJAX", "ATLAS" "AHAB" and where it's all going.

ASP.NET "App_Data": Writing files vs Application Restarts