The language engineer’s triangle

Interesting new post by Andreas Hausladen this morning.  It seems that there’s new copy protection in XE3 that scans all DLLs in the same folder as BDS.exe to ensure that they’re signed, apparently to keep crackers from pwning BDS with a poisoned library.  And according to Andreas, it really slows down the IDE’s startup time.All this hassle to protect the revenue from Delphi against cracks!  It kind of makes me think.  The creator of any proprietary product has three basic goals: for the product to be kept proprietary, for it to achieve widespread market share, and for it to be highly profitable.  But can anyone think of any product in Delphi’s market–development tools–that achieves all three?  I can’t.

Delphi’s strongest competitor, Visual Studio, is proprietary and is used all over, and it’s distributed by Microsoft as a loss leader.  They don’t care about revenue from development tools nearly as much as they do about making sure that developers (a relatively small bunch) produce stuff for Windows, which gives the general public (a much larger group) a reason to want to use Windows.

On the other end of the spectrum, you’ve got PHP, which is also used all over the place.  A bunch of the guys who created it went and founded Zend, which makes a lot of money on PHP-related products and services, but the PHP language itself is open-source.

But take a look at Delphi.  It’s a proprietary product, and given the simple fact that Embarcadero continues to produce and sell new versions, one can only assume that it’s profitable.  But its market share is abysmal, and there are a lot of developers out there who have never even heard of it.

You’ve heard of the Engineer’s Triangle, right?  “Fast, good, cheap: pick two.”  I can’t help but wonder if there isn’t a similar principle at work in programming languages.  “Proprietary, widespread, profitable: pick two.”

It’s a basic principle of economics that, in the presence of unrestrained competition, market forces will drive the price of a product down until it approaches the marginal cost–the basic cost of producing and distributing the product itself.  Thing is, for a digital product, the marginal cost is essentially zero.  This must not be confused with how much it took to create the product.  That’s known as sunk costs, which are irrelevant to the calculation of marginal costs.

A seller’s profit on a single item can be thought of as the sale price minus the marginal cost.  And if the sum of all profits on all sales exceeds the sunk costs involved in creating a product, then the product becomes profitable.  But with abundant competition around, both from other languages and also from piracy, (which while not legal or legitimate, is still real and still a competitor, in the economic sense, to the legitimate product,) market forces drive buyers away from products priced too far above the marginal cost.

Zend gets around this because the language is open-source.  This brings in a very widespread user base, and also a large developer base to improve the language without them having to pay for it.

Microsoft gets around this by not caring about profitability, because having a widespread developer base brings in far more money indirectly than they’re losing directly by giving away Visual Studio Express.

Embarcadero can’t do either, and so the only way to remain profitable is by cannibalizing the community: making the language itself expensive enough that the per-unit profit offsets the revenue lost from the high price driving customers away.  And it does drive customers away; the only examples I’ve heard of of other languages/development systems trying to go the same route are even less well-known than Delphi is.

It’s been said that when a game-changing technology starts rolling, you’re either riding the steamroller, or you’re the coyote.  Well, steamrollers have always moved pretty slowly, but the Internet has been around for a long time now.  And the more I think about it, the more I think that the Delphi team–whether managed by Embarcadero or anyone else–is in a completely unsustainable position.

40 Comments

  1. Jim McKeeth says:

    You raise a lot of really good points. There is a 4th option though, and it is the best way Delphi can pull out. It has to be BETTER. Of course there is some subjectivity to that, but as long as people can point to something about Delphi and say “This is better than the alternative” then it can stay ahead of the steamroller. Unfortunately saying Delphi has a better (as in more effective or more annoying) copy protection is not the kind of market differentiation they need.

  2. David Heffernan says:

    What makes you think Visual Studio is not profitable? They sell a lot of licences.

  3. Michael Thuma says:

    Software does represent a utility value. You pointed out correctly that the material value of software is 0. Assuming buyers understand that software represents*) utility value, their decision is dependent on soft facts – arguments focusing on quality. Think of a meal in a restaurant, very similar.

    *)Obviously not, otherwise customers would not need to see at least a box in a store. We all have been conditioned directly or indirectly into a certain direction of thinking – materialistic thinking – over decades now. The more, software sold to ‘real’ end users/customers is sold in a similar fashion commodities are sold. Since all IDE’s offer very much the same …

    In practice a slower startup does not matter; An Entrepreneur should know the difference.

    • Andreas Hausladen says:

      > In practice a slower startup does not matter

      If you have to restart the IDE very often then it does. And Delphi crashes a lot, often caused by 3rd party components but almost as much by itself.

      And you should try to develop an IDE plugin, then you see how much time you spend starting the second instance of the IDE.

      • Michael Thuma says:

        Andreas. Agree. Don’t get me wrong. ‘We’ all together had a similar discussion 2 or 3 years ago.

        The restart of the IDE should not be required. -> Argument focusing on quality. Agreed long startup times makes the situation a lot more annoying, but are not a solution.

        The startup of the IDE should be fast. -> Soft factor. I tend to think at the time of sales, the minority is thinking of extending the IDE, this is why I call it soft factor. For those who implement add-ins it’s a strong requirement. The answer to long startup times is not quiting Delphi, it’s an argument for not extending the IDE in a first place.

        In general, startup time should be lightning fast.

      • Baoquan Zuo says:

        200% agree. To develop Documentation Insight, I restarted the Delphi IDE(s) for about 100 times some day… So I bought a SSD last year but it is still not so fast…

  4. Eric says:

    You’re overlooking the fact that Delphi has competitors that did much better, f.i. WinDev, which by the time of Delphi 3 was behind Delphi on all aspects, but managed through marketing and product improvement to be far ahead these days.

    The problem of Delphi has been tech stagnation, which backward compatibility does NOT excuses (especially when they come and break it for no good reason but language design blunders and shortcuts).

    Microsoft subsidizes its products, ok, so what? Other competitors carved their niche and strived.

    No, the problems are of not taking action, not listening to customers and thinking they know better when it’s painfully obvious they don’t, a marketing that misses its marks by a few miles, along with mistakes that beggar belief. From Borland days to the latest stunts on the EULA and copy protection, they’ve demonstrated a strong commitment to shooting their toes and snatching defeat from the jaws of victory…

    • Mason Wheeler says:

      No, WinDev fits the model just fine. Proprietary + profitable = low market share. Heck, I’d never heard of it before last week, and its tag has a grand total of five questions on StackOverflow. That’s really not indicative of a thriving product with a strong community behind it.

      • Eric says:

        No actually, it now has a higher market and mindshare in France. The reason you don’t see it in SO is that it’s French-oriented (down to French keywords in the language).
        That they’re higher now in the tech food chain than Delphi in many aspect while starting from a lower point (on all accounts), and while pumping more marketing money. It makes Borland/Embarcadero failure to keep up their own fault, rather than any excuses of unfair competition, etc. try to make us think.

        The one saying that applies in Delphi’s case, is the one about those that make excuses, and those that find solutions.

      • Yogi Yang says:

        I think you are sleeping in the never land.

        WinDev have a thriving community (maintained by thirdparty) and it has a very big user base and most of the developers of Clarion world and Magic App Platform world come (in fact flock) to WinDev.

        There are many Delphi developers who have adopted WinDev also!

  5. David Heffernan says:

    What is your definition of profitable? Why would being widespread be in conflict with being profitable? In my experience, selling more units tends to go hand in hand with making more profit.

    • Mason Wheeler says:

      Only if you’re selling those units at a decent profit, which is high above the marginal cost. Can you name anyone who’s doing it?

      • David Heffernan says:

        Well, I’m doing it with my software. I still cannot see how being widespread conflicts with being profitable. What’s your definition of profiable? It’s not per-unit profit is it?

        • Mason Wheeler says:

          What software are you making? I was speaking of programming languages in particular, where there’s a strong degree of competition from multiple well-established competitors at a price point of $0. If that’s not what your market looks like, then of course the economics aren’t going to work out the same way for you.

          • David Heffernan says:

            That’s not what my market looks like.

            But why can’t you answer my questions? Why would being widespread reduce profitability? And what’s your definition of profitability?

            • Mason Wheeler says:

              Because I already answered the questions in the article itself. You’ve got the relation inside out. With competition the way it is among programming languages, you require a very low price point in order to end up with a widely-used product, and given the high levels of sunk costs required to develop a complicated product the proprietary way, (by hiring a team of expensive programmers,) it is difficult to become profitable (by which I mean that the total revenue exceeds sunk costs plus total aggregate marginal cost) when your per-unit profit is low.

              • David Heffernan says:

                Per unit profit is not relevent per se. Would you rather sell 1 unit at profit of $100, or 1000 units at profit of $1?

                In a low margin business, the only way to be profitable is to be widespread.

                The fact that you can’t see a developer tool that is profitable and widespread doesn’t mean it’s not possible.

                And I also question your assertion that VS is not profitable. There are immense profits coming out of Server and Tools division at MS. Clearly the server part will contribute heavily to those profits, but what makes you think that VS is not profitable? Where’s the evidence?

                MS client and server divisions are a fine example of low margin businesses that are proprietary, widespread and profitable. In the face of competition that prices its offerings at 0.

                • Mason Wheeler says:

                  Umm… Microsoft *is* the competition that’s pricing its offerings at 0! Or one part of it, at least. That’s what Visual Studio Express is. It’s a loss leader that stimulates sales of more profitable products, like Windows.

                  Now, I’ll admit, I don’t have Microsoft’s sales figures. Those number are probably a closely guarded secret. But I do know that if you ask Embarcadero why they don’t have a Turbo Delphi offering around anymore, to compete with VS Express, they’ll tell you that it’s because having a free offering available cuts deeply into the sales of the professional edition and seriously impacts profitability. And they’ll say that Microsoft can get away with it because VS is a loss leader that brings in more money via stimulating Windows sales, and Embarcadero doesn’t have a product like Windows to do that for. (I know that’s what they’ll say, from personal experience. I’ve asked, and so have plenty of other people.)

                  And that makes sense. It’s basic economics at work.

                  • David Heffernan says:

                    MS sells large volumes of VS licences. These are the SKUs other than Express. I see absolutely no evidence that they are not profitable.

                    What I see in this article is an opinion backed with no evidence.

                    In a low margin business, the only way to be
                    profitable is to be widespread. Widespread and profitable are not competing values.

  6. LDS says:

    “It’s a basic principle of economics that, in the presence of unrestrained competition, market forces will drive the price of a product down until it approaches the marginal cost–the basic cost of producing and distributing the product itself”. Not true. Otherwise how could you explain high-end brands that produce products that are sold at high prices when there are far cheaper products doing the same? How could you explain the very existence of Armani, Canon, Nikon, Audi, BMW, Rolex, Breitling, Hennessy, Krug, Apple…? In most advanced economies some customers are ready to pay a premium price for products that differentiate them. There is *a lot* of expensive software that sells well – because it’s state of the art, or perceived so. And many of them are niche software as well as Delphi, healthy and prosperous niches – were is written you need billions of customers to be profitable?
    Microsoft subsidizes VS a little to cover the low-end market, but still sells it at good (for MS) prices at professional developers in the high end one. Did Postgres or MySQL killed Oracle? Not at all, and now Oracle controls MySQL. What you can’t do is to sell a Fiat at Ferrari prices, and that’s exactly what BorCodeDero has been doing in the past several years. It won’t be silly EULAs and more complex yet easily crackable copy protection to bring in more revenues. What will bring them in is a product that enables develoeprs to be *really* more productive and deliver better applications on actual systems. Delphi had the foundation to built, but a lack of long-term investment perspective and a management focused on short-term customers milking had led to this situation. Unless Embarcadero changes mindset, the position is completely unsustainable. And it could be too late to change.

    • Jan Doggen says:

      That is because Armana etc don’t sell a product, but a brand. Read Naomi Klein’s ‘No logo’. I suggest it is much more difficult to sell an IDE as a lifestyle than a pair of sneakers.

      • LDS says:

        Armani doesn’t sell “products”, just a brand? Are you sure? Never bought an Armani suit, didn’t you? Anyway it’s a case where “market forces” don’t drive price down at all. Klein can attack brands as much as she likes (but she made a brand of her own name…), but when you’re an entrepreneur you have to make money, not assert ideals. If a recognized brand helps you to sell better, why not? In a very competitive market you need to be easily recognized – even open source software has a brand. A brand is often built on innovation, features, and quality. A brand can help you sell IDEs as well. Borland for a long time had a “brand”. Developers would try new products because they had the “Borland” brand, “the makers of Turbo Pascal, Paradox and Sidekick”. That capital was destroyed later among low quality products, company renames, slow improvements, bad marketing.

        Apple is selling technology like as lifestyle… on the other Canon or Nikon don’t, they sell expensive photographic technology to professionals ready to pay that premium price because they know they get in return state of the art technology that allows them to produce the images they need with less effort.
        For many products, *especially those used to build other products*, cost alone is never the customer’s decision driver. When you buy a tool you factor into your decision how it will help you to perform the tasks needed, and the quality of its outcome (which influences the price you can sell it).

  7. Larry Hengen says:

    @ LDS,

    I agree with you completely. I think EMBT needs to cut their R&D costs by stripping the product down to the bare essentials that developers actually use, and ither sell it for less to attract new customers, or make it so much better thean any other offering that they can sell it as a premium brand product for more.

    Soemtimes less is more and they could offer the additional features a la carte. Making BOGO offers and cramming more features into the “box” including third party products when EMBT fails to have added significant value during the year, in order to sell upgrades is misguided. I’ve had enough half baked features like Error Insight, the refactorings, the help hints at the bottom of the object inspectors, the new Find functionality and numerous incarnations of template expansions that sort of work, or introduce bugs and the feature is never completed and the bugs aren’t getting fixed. Some of these are core IDE features that the competition does well, and third parties do even better because they have the help of the vendor.

    EMBT needs to re-establish the core corporate values that made Borland, and CodeGear initially successful. The need to offer a quality product, that makes developers more productive than the competition in less time. That means they need to know what their customers actually want and deliver it. They need to fix their QC processes, and adopt CANI. In short the need to take stock of the results of their actions and decide if what they’re currently doing is getting them the results they want. If not, they need to listen to what their customers like us are telling them and take some corrective actions. I hope for all our sakes, they do because I would like to see more Delphi contracts out there…

  8. LDS says:

    @Hengen,

    No, you do not agree with me at all. I do not believe Delphi can survice selling a low-end product cut down to bare essential features and cutting R&D costs. Such a product would just compete in an overcrowded market where most products will anyway cost less, especially the free ones, and will have no appeal for new developers.
    IMHO it could survice only if it becomes an high-end product with outstanding features (and quality) and that means real investments in R&D. Only then a simplified version could build on the appeal of the product itself, and attract more developers.
    Look at what happened to Apple, there was a time when it was struggling with “wrong” products (the Newton), obsolescent software (MacOS 9 didn’t have true multitasking, just like Win 3.x!), and hardware based on a CPU IBM was not developing fast enough and in the direction needed. What did Apple? Started to release low-end products in an attempt to gain more space in the low-end PC market? Or a cheap phone to get some Nokia low-end customers? No, it invested in R&D and targeted the high-end PC and phone market. And it paid off.

  9. David Heffernan says:

    I also am getting fed up with people who assert that the cost of Delphi is high. That opinion seems prevalent and you Mason are just one of many many voices furthering that opinion.

    I’ve personally just got my quote for SA renewal. They are £200/licence. Total it all up, and compare with the salary costs, and that is less than 1/200th of my salary costs for the developers that use those licences. My entire business is built on top of the software we produce. What’s more important than a compiler? I think we spend more on the small number of 3rd party libraries that we use.

    I personally think that Emba should charge twice as much, pay its staff more money, hire more engineers and improve the quality of the product. Every time I hear a professional developer complaining about the price of licences I hang my head. Do we the Delphi community really want to starve Emba of money?

    • LDS says:

      The price/feature and price/quality ratios are high. That’s an issue, because with those ratios no product can sell well. Emb has to lower those ratios to make the product appealing again. They could do lowering the price only, but that’s not a solution IMHO, just surrendering to the fact you can’t develop an high-end product, or work on features and quality, and that would allow to keep the current prices or even increase them – as long as there is a real perceived value for that money. As you when I “bet” my company money and future on a tool, it’s not price alone that worries me. It’s the product value as a tool to build and deliver my own products and make them appealing enough to compete well in the market. If Delphi really delivers what I need and let me build and deliver great products without fighting too much with the tool itself, its price could be wholly acceptable.

    • David says:

      I could not agree with you more. I would be fine if they charged 5x more for Delphi, if that meant that they could triple the feature set (of course, only the features I care about :-)). The cost of Delphi itself, even though it is the most important product that I use (aside from the computer itself) since our entire product line is based on it, is a miniscule fraction of our operating expenses.

      I personally do not case if VS, Apple tools are free. If that is what you care about, go use them. The fact is, I consider myself lucky that the primary tool that we depend on is so inexpensive. Go ask a construction company how much they spend for their raw materials every year.

      • Kryvich says:

        Charging x5 more for Delphi will degrade their user base in x5 times. As a result you will pay x5 more, and Em-ro will get the same money.

        • David Heffernan says:

          I don’t follow that logic at all.

        • LDS says:

          There is no linear correlation between price and buyers. That’s something too many Delphi users fail to understand. If you halve the price you won’t get 2x users automatically, and if you double it you won’t get 1/2 customers automatically (you can get more or less, depending on what accompanies the price reduction/increase, and market situation and perception).
          How the “customer population” changes in reaction to price changes is something that is more correlated to the price/feature perception and it’s some kind of curve, and also depends on the distribution of potential customers among “spending capability” classes. It’s pretty clear if you aim your products at customers with a low spending upper limit you can’t increase price much before the decrease of customers is too high. On the other end if you aim at high-end customers with the right products you can set higher prices and still find enough. It is not true that a product to be profitable must have a very large user base. There are a lot of profitable products with a smaller user base. OF course you have to bring in more revenues per unit, but as long as customers are willingly to pay for that product, it works.

  10. “All this hassle to protect the revenue from Delphi against cracks!”

    Also to protect the paying customer from having to pay more! Yes, the price of Delphi rises because of new features and increases in other related operating costs. But, theft costs are passed onto consumers in various ways.

    I pay for products not only because I don’t want to steal. But, also because paying says I’m partnering with the vendor. I’m paying for their work not just trying to “aquire” the product.

    • David Heffernan says:

      That point would be valid if the copy-protection actually worked. But nobody has yet come up with copy protection that does. Stunts like that used in XE3 make no difference to the crackers, and just disadvantage the paying users. In fact, people that use the cracked versions of XE3 will get better software than those that pay!

    • Wouter says:

      You’re assuming that stopping people from using a pirated copy is going to turn them into paying customers.

      Most likely it will just stop them from using Delphi altogether, and delphi’s number one problem is that there are not enough users.

      Nowadays it’s almost impossible to find qualified delphi developers. SDK’s don’t ship with delphi examples anymore, third party component developers cannot sell stuff, etc.
      That’s a direct result of not having enough users. It’s irrelevant whether those users paid or not.

      As a community we’re better off with 3000 pirated installs and 4000 sold, than with 4000 sold only, and no illegal copies anywhere.

  11. Bunny says:

    What is the equilibrium price for a Pascal compiler in the world? For an IDE?

    • LDS says:

      These are useless questions. There is no single Pascal compiler or single IDE type in the world. There is space for a $99 one, a $999 one and a $2999 one.
      Look at image editing tool. You have the free GIMP, the cheap Paint Shop Pro, and the expensive Photoshop. Which is the market leader?
      Everything depends on what you offer and whay your customers are ready to pay for the features they need. But not all customers are created equal. Many of them are ready to pay more to obtain more. Of course if you make them pay more and get less…

  12. jr says:

    Compelling & Polished.

    It needs to be that, and it isn’t anymore.

    All the machinations with pricing, licensing
    and the constant update ‘nonsense’ must go away.

    I’ve seen no reasons that are compelling and
    polished is defined by not needing incessant updates.

    They need to get a full generation AHEAD of what they
    are offering, not last week’s fix.

    jr

Leave a Reply