A Response to Nick Hodges - You will pay for bugs and like it!

I tried to post a comment on Nick’s blog, but for some reason I never got the email for verification of my address so I thought I would respond here.

I find it very interesting that a former EMBT employee still with close ties, would write such a post.  I understand how he drew some of his conclusions, but I think he is mistaken and I hope EMBT does not share the same views.  Understanding the marketplace is very different from software development.

First of all, code quality is more about developer skill, and the processes employed during development and QA. The earlier defects are found the cheaper and easier it is to fix them. The number and age of unresolved bug reports does not speak well to EMBT’s (and their predecessors) concern for code quality. However, the primary driver, as with all things produced by a company, are the decisions made by management.  While no code is perfect, if you accept that it is not possible to produce bug free software then you have lost the incentive to try.

Having “volunteers” go through QC reports says that a company isn’t even willing to pay their staff to properly evaluate bug reports. Having a broken voting system and web QC, as well as an antiquated Windows client that not being maintained speaks volumes about what is important to a company.  Admittedly, the bug tracking systems have finally changed.  It doesn’t seem to have affected the number of fixes for long outstanding issues though. As people we spend our time on what we believe is most important. Same thing for companies.

Allowing half baked (incomplete) or non-working visible things like the panel at the bottom of the object inspector that Marco wrote an add in to remove, Error Insight, and the Refactorings remain in the product for years without fixing them is not only stupid IMHO, but a software development nightmare. Web companies are making money on minimalist applications that satisfies a small need, but does it extremely well. EMBT seems to prefer the old school thinking of a humongous application that does everything under the sun, but does some things very poorly, and taints everything else with the same code smell. They don’t even seem to be willing to consider using the plug in system to provide ‘a la carte’ choices to their customers, or drop existing functionality that is not required to limit their technical debt going forward. What other company has someone external to the company provide bug fixes for their IDE that apparently never get incorporated into the product because Andreas is still churning out IDEFix pack!

Only in an emerging marketplace can you continue to sell flawed products that look good on the surface, but don’t work as well as they should, to be used daily for someone to make their living. Development markets are not emerging ones, nor are they without stiff competition.

Developers are smart people. EMBT is fooling no one with their choices when it comes to resource allocation. Hire cheaper developers around the world to cut costs, focus on emerging markets where quick profits can be made, and increase the cost of the tools by coupling the mobile pack with the core dev tools and charging for each, effectively double dipping, while raising the cost of the product across the board and providing diminishing product quality. Typical of a company acquired to provide profits to it’s purchaser, and not for any ideological reason.

The definition of insanity is doing the same thing over and over expecting a different outcome.  Developers will only continue to buy EMBT licenses or subscriptions as long as they have to in order to support their products, or where their is some advantage (none come to mind right now) because they aren’t insane.  EMBT on the other hand cannot continue indefinitely down this path, unless they want to drive away their user base, or intend on getting as much cash from their users until the bottom falls out, and they close the doors.

Delphi is no longer a bleeding edge tool, even in the mobile space.  It has more competition than ever, and a major challenge with Microsoft/Xamarin/.NET Native and Apple competing in the market place.  One of the reasons for it’s current success is the older user base supporting existing applications built when Delphi was bleeding edge, or trying to use their skills in the mobile space.  That ride won’t last forever.

Perhaps I have digressed a little, but my point is that EMBT has shown it’s colours.  They don’t care about code quality or their actions would speak more to it. Instead they want to add just one more feature into the box.   Perhaps a subscription model would help a little, but it won’t result in more bugs fixes.  We have been voting with our wallets for some time now, in QC, and on the forums and they are still not getting the message!  As a customer I would have to be insane not to recognize their pattern, and refuse to pay for bug fixes (it’s a great money making machine if you can convince users to do so), and choose another toolset from a company that does care.  If they did we would have seen bug bounties a long time ago…

At work we’re developing C# .NET replacements for our Delphi apps as we speak!  Good luck to EMBT.  XE4 with the infamous  ‘Out of Memory issues’ will be the last release we buy…

23 Responses to “A Response to Nick Hodges - You will pay for bugs and like it!”

  1. Fritz Says:

    I can only degree on these post. I’m on board since tp 3.0 but for me it is now time to leave. On work im the only Delphiman now. And XE7 will be the last Version. No new development with Delphi.

  2. Michael Says:

    The problem with bug fixing is not only about introducing and making cash that way, the bigger problem is - ‘Will be fixed’. There will always be good reasons why anything else is more important and does have higher priority. Does a bug fixed lead to more sales? How often did we hear that argument from Nick.

    The concept of trading in an IDE for money is a dead concept. As mentioned in Nick’s article. He puts the blame on the economy…

    In an economy driven by trade and division of labor you don’t work at products you need, that can happen but you work an anything else in general.

    Open Source on a contrary from a concept’s perspective does allow to improve the product you need. Anyone else worked on something he/she needed. No money is needed since no trade is involved.

    I cannot on one hand pay other people for working on things they obviously don’t need and help/invest time into improving the product I need. Giving away means of payment to EMB and working on a product my customer needs is simply due to division of labor. That concept has to be supported. Supporting thins concept does require an almost perfect well sound solution. Maybe that solution does show up in fashion of an IDE or not.

    Paying others for fixing their bugs does not make sense. What do I get in return? Think about that. Fixing the bug is an equivalent to the amount of money EMB would have to return to me because the bug did exist. The fact that EMB fixes is a result from division of labor. It’s not my job to do that unless we talk about Open Source or communism.

    Developing Delphi in order to develop Delphi is not about ‘Dogfooding’. That’s ergotherapy. The DB tools are not required to build the DB tools. There is a major difference between those two kind of products.

  3. Simon H. Says:

    It’s Nick and Andreas. Not Nik and Anders.

  4. J Demartino Says:

    Hodges claimed we’ll pay for bug fixes and like it. Well, my last version of Delphi was D2010, so apparently I won’t pay for them.

  5. Robert Says:

    Well written, intelligent and thoughtful piece as usual Larry.

    However, the overarching consideration for me when choosing a vendor is one of integrity.

    Any vendor, of any kind of product, doesn’t have any integrity in my opinion if they make me pay more money in order to have their mistakes corrected - and won’t ever get another cent out of me.

    Robert

  6. Roland Says:

    Even though I agree with some of your thoughts - it is simply not right that they do not fix bugs for our money:

    http://edn.embarcadero.com/article/40984
    http://edn.embarcadero.com/article/42090
    http://edn.embarcadero.com/article/41750
    http://edn.embarcadero.com/article/41831/
    http://edn.embarcadero.com/article/42606
    http://edn.embarcadero.com/article/43068
    http://edn.embarcadero.com/article/43359
    http://edn.embarcadero.com/article/43754
    http://edn.embarcadero.com/article/44049
    http://edn.embarcadero.com/article/44156
    http://edn.embarcadero.com/article/44358

  7. Lars Fosdal Says:

    The fix lists since XE3 are longer than ever. EMBT has started the mammoth task it is to overhaul the IDE, at the same time as they have introduced new platforms, new cross platform UI frameworks, new database drivers and numerous other changes. EMBT has done more for Delphi in a few years than Inprise/CodeGear did for a decade.

    As for the IDE - it has been showing it’s age for some time - I agree. I have to restart it many, many times a day - but it still is the IDE of choice for coding for me. With all it’s warts, Delphi still is a very productive tool for Windows UI apps and Windows services.

    Unlike MS and Apple which can funnel funding from other sources of income, EMBT has to get paid for their IDE. A subscription model with a lower entry point seems like the obvious choice. That said, MSVS is far from free. We pay far more money for licenses per individual per year to MS than we do to EMBT.

    Those that feel moving on to C#/.NET or other platforms is the solution - should make the move. I wish them luck. It still puzzles me though, why some of those that have made the move still linger in the Delphi communities.

  8. Morewood Says:

    I totally agree with your comments, especially with this: “if you accept that it is not possible to produce bug free software then you have lost the incentive to try.”

    As programmers we know it is very difficult to make software without bugs, … but we also know that soon or later the errors are resolved. So it all depends on the priority given to solve these errors. I personally have never charged a customer to fix my mistake. Maybe if I had a marketing manager in my company would tell me I’m an idiot.

  9. C Johnson Says:

    I try not to read anything Nick has to say anymore - I disagree with much of what he has to say, and again I find his explanation for why Embarcadero is going the way it is is wrong. The company’s inner cuture has never recovered from the days of leadship that brought us Interprise - that alone is enough to explain the current state of affairs. They they lack a strong core lead for Delphi is just insult to the injury.

    But to Nick’s core point that the industry is going to be charging for bug fixes - they already were, it was the price of admission to the software. Now, the big companies are going in a very different direction - free core product, free fixes - support calls and a billion micro purchases for addons.

    As for how close Nick still is to Embarcadero… Considering how he left the company, I would find that very surprising.

  10. Wilfred Oluoch Says:

    I particularly agree with ” if you accept that it is not possible to produce bug free software then you have lost the incentive to try”.

    Can you imagine a restaurant that couldn’t guarantee that your morning eggs will be done the way you asked? And you had to pay extra if they don’t get it right the first time?

  11. Shane Says:

    Delphi is on a slow downward spiral to nothing, and it has been since Embarcadero bought Code Gear out.

    They are simply just trying to compete with too many niches - and they cant.

    Delphi will never be like it once was.

  12. MOz Says:

    We couldn’t even get our mobile guys to look at Delphi, they read a bit online and decided that none of the cross-platform solutions were usable yet. Since we had Delphi I sat down and tried to build a quick demo “just to show them” and gave up after a day. There’s a whole lot of hidden knowledge and workarounds needed to get the basic stuff working. I suspect they were right, having four copies of the code in different languages is quicker and easier - iPhone, Android phone, Windows Phone+Win8 Desktop, web. Oh, and legacy Windows. We have the legacy windows app written in Delphi because that’s what we’re moving away from.

  13. LDS Says:

    “some of those that have made the move still linger in the Delphi communities”

    Because when you have a large codebase built years ago moving takes some time. And we didn’t move to C#, we moved to C++ (and also to the Linux platform for many server side applications) which takes a little longer, especially to retrain developers to a new complex language and a new, very different platform. Thereby there is still some less critical code to maintain, especially GUI applications.

    But do you know that you Delphi Windows services are “NT services”, because they still use APIs deprecated since Windows 2000? Hope they also log to the Windows event log (maybe using the new format introduced since 2008), and not to plain text files, even if the VCL has no support for the Event Log API. And how do you manage you service configurations? Hope you use MMC plug-ins, even if VCL, again, has no support for them even if they were introduced with Windows 2000, still the only support is for control panel applets (sure, you can implement all yourself, as we did years ago, but why upgrade Delphi, then?)

    So, what should we subscribe to? Actual OS support, or just chasing the latest fashion?

    And be aware that the “subscription model” IS NOT “paid support”. The latter means you support a given version for a given time (usually several months, at lest 18-24 if not more), implementing only bug fixes and without any breaking changes, not that you force down the throat of developers a new version every six months, including breaking changes and new bugs.

    I would not buy any development tools that forces me to use a new version every six months just to get fixes, no matter how I pay for it.

  14. C Johnson Says:

    @Wilfred Sadly, yes I can imagine just that - restaurants frequently get eggs wrong.

  15. Larry Hengen Says:

    @Simon,

    Thanks for correcting me. I used to work with a “Nik”, and for some reason I always get Andreas wrong. :-(

  16. Larry Hengen Says:

    @Roland,

    I never said they don’t fix any bugs. I said it’s obviously not a priority. There are simply too many significant long standing bugs for that to be refuted.

  17. Bruce McGee Says:

    “Delphi is on a slow downward spiral to nothing, and it has been since Embarcadero bought Code Gear out.”

    Well, that’s provably false.

    It’s difficult to have a conversation with people who are unmoved by actual facts.

  18. Leonardo Herrera Says:

    You just wanted to rant about Embarcadero and Delphi. Nick’s post has nothing to do with that.

    Nick’s thoughts on the commercialization of software (he’s right about companies moving to a rent-based licensing, Microsoft and Adobe being the most obvious examples) has nothing to do, and it shouldn’t have spouted this rant, except that Nick used to work for Embarcadero.

  19. Shane Says:

    @Bruce McGee

    Really Bruce? You may not remember, but I remember the days of large Delphi Communities, Delphi Component Repositories, Delphi Magazines, Delphi Books, Delphi Third Party Tools, and JOBS galore. Delphi Jobs everywhere. NOT the case now. Sorry, but it is true. Delphi will never be what it use to be. THAT IS FACT!

  20. Peter Says:

    @Shane:
    And what is that negativity supposed to change?

    The negativity in the Delphi community is driving people away. And it wont change anything in management.

    All it does is demotivate the people who are part of the community now.

    Please stop this doom and gloom talk. It is equally annoying to the cheerleader talk.

  21. Larry Hengen Says:

    @Leonardo,

    You’re right that Nick’s article was a more general article on software licensing trends, but it was posted on a Delphi feed which is supposed to pertain to Delphi, so I responded based on my experience with Delphi. While companies may wish to move to different licensing models in order to have steady revenue, it often does not work to the advantage of the consumer. I believe that is the case with EMBT as I have explained. You are entitled to your opinion that my article was a rant, but you neither have to comment on or read it. I am entitled to “rant” on my blog…

  22. Rollo Says:

    Yes, like all users of serious softwae projects.

    And I like it …

    So it helps to improve and support my desired tools into the right direction,
    since more than 20 years.

    And by the way: VS is only free since now because they lost their 95% market share by management stupidity, greedyness and too expensive tools.
    EMBA should take care not to fall into the same pit.

    Rollo

  23. Joseph Mitzen Says:

    @Rollo… I have a hard time thinking of “serious software projects” that refuse to release any bug fixes at all to their users unless you pay for support, at least outside of old “big iron” legacy vendors who are seeing new adoption fall for years now.

    Linux, Windows, OS X, Firefox, Apache, gcc, OpenStack, IntelliJ, Java, PostgreSQL, git, mercurial are a few “serious software projects”, closed an open source, I can think of off the top of my head that don’t require payment to fix bugs.

    “So it helps to improve and support my desired tools into the right direction” - does it?

    VS is free now in a Community edition because open source is devouring the development tools market and MS needed to offer something in response. It had nothing to do with stupidity or greed, and VS Pro is half the price of Delphi Pro and offers more and gets rave reviews. While Marco teased talk of a “license-restricted” free version of Delphi on his blog in 2013, the only response we got to VS Community was an INCREASE in Delphi price! I’m hoping Idera turns a fire hose on the halls of EMBT, flushes out all the “lifers”, and brings in lots of new (younger) eyes who haven’t spend their entire working career at Borland et al and have some clue as to how the outside world works currently.

    @Peter:

    I’m reminded of George Bernard Shaw’s quote (paraphrase): “The power of accurate thinking is often labeled cynicism by those who fail to possess it.”

    The negativity is not driving people away, *the actual things people are negative about* are driving people away. You’re practically literally suggesting that if we just don’t talk about the problems they won’t exist! THIS is what is wrong with the community; it lives in its own echo chamber.

    “And it wont change anything in management.” - This alone would cause people to leave. Why would you use a product where you believe that nothing users say will make any difference to what those who control the product do? And this in a world in which virtually every other language is free and under the control of its own users?

    >All it does is demotivate the people who are part of the community now.

    Good. I watched Joe Grigorio of Google give a talk in which he talked about problems with parallelism in languages and “wanted people to get angry”, as he said repeatedly. He didn’t want people to put paper bags over their heads and pretend everything was ok. He wanted them to leave the hall angrily asking each other, “Why do I still have to do X over and over every time I want to run something in parallel? Why is this so hard?” and take that attitude back to their tool vendors. This is motivation, not demotivation!

    Delphi users seem positively allergic to criticism. de Chardin wrote, “Only those who truly believe their faith dare to question it”. I think those who try to shout down the criticism are the ones who really have the least faith in Delphi.

    Larry, your piece was spot-on, and the 3rd and 4th paragraphs, “Having ‘volunteers’ go through QC reports… Having a broken voting system and web QC, as well as an antiquated Windows client that not being maintained…Allowing half baked (incomplete) or non-working visible things….” deserve a “Spirit Of Delphi” award on their own. It’s long past due people begin calling out these things, particularly in aggregate, which makes them completely indefensible. It’s like stating the Emperor has no clothes; maybe everyone else will wake up and see it too.

    I’d go a step further and say that in many ways EMBT relies on a customer base with either a cultish devotion, intellectual laziness, abject fear, or inextricable lock-in to use Delphi forever, no matter what, simply because it’s Pascal. Combined with the echo chamber that drowns out every criticism or uncomfortable fact and MVPs who literally swear to never “disparage” the product and they think it doesn’t matter how they treat the customer. They know that if they deliver a wheelbarrow full of manure, for whatever reason the community at large will take a whiff and declare it smells like roses, so what’s the point in polishing anything? Meanwhile they do just enough to check a feature box and hope that these half-baked features let them say “me too!” and they can bring in new users. Since they have no connection to the outside world, they have no clue that the “total user experience” is blemished by a thousand cuts.

    David I. did a survey not too long ago in which he polled the first 500 people to buy the product. I tried to explain to him that that was a flawed sampling; it was like Apple polling its first new iPhone buyers who were camped out all night and then concluding everyone loves Apple. I pointed out that his methodology excluded 100% of the people who thought the product was too expensive or didn’t offer enough features to upgrade or who would not upgrade until critical bugs were fixed. Despite my being analyst, David thought that I was the one making assumptions. He then frighteningly told me, “People leave Delphi for C#; people leave C# for Delphi (?!?), so we just keep on doing what we’re doing”. :-( That’s when I realized that nothing any poll showed them would change what they were doing, so the accuracy didn’t matter. In fact, the extracts of users gushing over Delphi that David selectively quoted for his blog post got turned into a verbatim press release a few days later, which made it clear the entire thing had simply been a marketing effort rather than an attempt to listen to the users.

Leave a Reply