Like a lot of you, I got my SA subscriber’s notification that XE3 has been released last night. (I decided not to cancel after Embarcadero reconsidered the changes to their licensing policy.) I’ve been too busy today trying to track down a tricky bug in a personal project I’m working on to download and install it, so I don’t have too much to say about the product yet. I’ll post a first-look review sometime soon. But that’s not what I wanted to say here right now. Since my previous article, I’ve been talking a fair amount with David Intersimone, and it’s been quite the enlightening experience. A lot of it was private, of course, but there’s one thing that I’d like to talk about.
Towards the end of his latest post, Jolyon Smith points out several changes in policy and business practices at Embarcadero over the last few years, things that each tend to make customers uncomfortable, and taken together can be interpreted as a pretty ugly picture of a company in trouble, one flailing around for some way to bring in enough money to make ends meet and stay profitable. And I know that there are a lot of people in the community who think that and who have expressed the opinion that that’s exactly what’s going on, whether they actually know anything about it or not.
But when I talked with David I about some of these things, he vehemently denied that the company was in trouble. He pointed out that Delphi has been growing strongly every year since Embarcadero took over, and that based on the data they had available, they expect it to continue to grow. He emphasized that the point of the proposed licensing changes was to clarify what the intended use of each edition was, and that the new revenue that they hoped to gain from the changes was intended to go towards further investment in research and development and other resources to continue to improve their products.
And that’s understandable. Where I work, we have company-wide meetings every few months where they discuss all sorts of things, including finances. And while the numbers are proprietary and confidential, of course, no one should be surprised to learn that development eats up a pretty big piece of the pie; it takes a lot of money to pay the salaries of a bunch of guys like me! I wouldn’t expect it to be too different at Embarcadero.
But still, in light of the community’s reaction, I remember thinking, well, I don’t have that internal information available, but someone in a decision-making role is clearly very confident about it. To make a bet like this, either the company is being run by businessmen who are both blind and suicidal… or they really do have some darn good data to support it.
But they eventually ended up backing down on the changes, as we now know. And I can’t help but wonder if there isn’t a third possibility: they were working on good data… to a certain point. What if Jolyon’s dichotomy, “incompetence or malice?”, is a false one? Allow me to present a third possibility: an echo chamber of sorts.
One of the common complaints I’ve heard, and made myself a few times, is that the Delphi developer population is aging. I’m one of the youngest guys I know in the community, and I’m 30. The StackOverflow Top Users page for the Delphi tag has links to several profiles, most of which have ages. Have a look. There are a few people in their 20s and 30s, but not many. Most Delphi developers are significantly older than me, in their 40s or later. I first started working with Delphi when I was 15, and I don’t see anyone like that younger me around anymore, still in their formative years, discovering the wonders of the VCL and Object Pascal and how its well-thought-out design makes things “just work.”
And that got me thinking. If Embarcadero is marketing to the type of people who historically have been good Delphi customers, then it’s not surprising that the techniques and practices that they’ve found to be effective are those which appeal, by their familiarity, to an older audience. And as long as they keep the focus on that, they’ll be led around in the same circle, and it will continue to be successful… right up until those developers start retiring. And then we’re in trouble.
But to the younger developers, the ones Embarcadero really needs to be courting to keep the product alive and ensure a healthy future for the community, the current pricing and marketing system looks antiquated, to put it bluntly. What my generation, and the rising generation even more so, is used to when it comes to digital distribution is stuff like iTunes, Steam, and the Android store. To this younger crowd specifically, the low-price-high-volume model is *the* proven success story. Heck, Steam is famous for its insanely successful sales: they slash prices on popular games, and not only do sales go up, but so does total revenue! Consistently! They make so many more sales that they make up in volume more than they lose in per-unit profit.
Now obviously, Delphi isn’t a game. But I do think that, as part of a well-designed marketing campaign targeted at younger developers, cutting the price instead of raising it would do a world of good. And even if it did end up losing some revenue instead of gaining it, it would bring in more users, which is far more important in the long run. (And if the company literally can’t afford a short-term revenue hit as an investment in the long-term viability of their major product, then IMO they’re in exactly the type of severe financial trouble that David I was so emphatically denying was the case.)
And I had one other thought. What Embarcadero needs isn’t money; it’s work. Money, of course, is a good way to obtain work: you use it to hire people to work for you. And that’s a very effective system, in a lot of cases. It works well where I work, for example. But our products are enterprise-class, and our contracts involve major media companies with millions or even tens of millions of dollars to spend on our software. If Embarcadero tried to sell that way, they’d price themselves out of the market, because they’re in a very different market.
There is a different way, though, and it’s uniquely well-suited to programs like Delphi: programs for programmers. The second well-proven method of obtaining work is to give someone a good incentive to contribute work without monetary compensation. And in the development world, that means access.
I think that this is something that Embarcadero really undervalues. A product like Delphi, one that comes with full sources for all the standard libraries, ought to be raking in the contributions. And it sort of is, but they don’t seem to be taking advantage of it. Instead of a top-notch issue tracker, we’ve got QC, which everyone agrees is horrible. And when bugs get filed there, they end up in what feels like a black hole; there’s no response! More than once I’ve gone into QC and found that something I filed months ago has been status-changed to “Needs Feedback”, and I never knew about it. That’s kind of ridiculous when they have my email address on file! (Especially considering that Embarcadero, before acquiring Delphi, used to be known as a database tools company. Getting stuff like that right ought to be *simple*!)
And I think they could improve in more areas than just the standard libraries. It’s been widely reported that, due to his technical wizardry, Andreas Hausladen has “special access” of some sort. While the details of this access have never really been elaborated on that I’m aware of, it’s reasonable to suppose that Andreas has at least some access to the source code of the IDE. And I think that’s a very good idea, and something that should be a bit more widespread.
I mean, just imagine if Eric Grange had “special access” to the compiler (and they could really use a guy of his caliber with Barry Kelly gone, especially if there’s any truth to the rumors that the upcoming “next-generation” version of the Delphi compiler will be written in Delphi), or if Primoz Gabrijelcic had a special working relationship with the RTL team! Or how many times have you run across some nasty recurring bug in the IDE and thought “if only I had the sources, I could debug this and fix it”? I know I have, and I know if I did find a fix, I’d send it back upstream to Scotts Valley so it would hopefully end up in the next patch and stop annoying other developers. (And I’d also send it to Andreas, so it could end up in the users’ hands before Embarcadero got around to issuing the next patch!)
I definitely think that by expanding and improving access to the product, and by improving the feedback process on bug reports and feature requests–particularly the ones that come with actual code–Embarcadero would be able to get more done with less cost to themselves, which would enable them to work to grow the community and get Delphi into the hands of more new developers. And that would benefit everyone.
David I wrote to me that:
We spend a lot of time looking at the data, the sales, the competition, the economy, the market and more. I spend a large amount of my time analyzing customer data, registrations, and models of offers/price/promotions/events as it relates to purchases to make sure we are not missing some trends or specific issues.
Well, that’s my analysis of current trends, from an outsider’s perspective, both company-wise and demographically. He was working at Borland literally before I was old enough to know what a computer was, and there’s a lot of knowledge and wisdom represented in that many years of experience. Nick Hodges calls him “smart beyond reason”, and I can’t say I disagree.
But that experience also brings a certain amount of baggage with it. The times, as Dylan put it, they are a-changin, and Delphi needs to change too, to adapt to the times. Embarcadero would do well to make long-term growth, and getting Delphi into the hands of younger developers, their top priority going forward. Actively invest in rebuilding the community infrastructure that’s been slowly decaying ever since D8, and focus more strongly on working with the community–particularly the really smart ones–as partners who can actively help improve the product itself.
As always, opinions and feedback are welcome. I only ask, please keep the negativity down. Above all, I’d like to solicit constructive ideas on how to strengthen the community, improve Delphi as a language and a development system, and get more people using it. Does anyone have any suggestions to make?