A cross-platform vision for Delphi
Written January 2007 by Simon Kissel
(Last updated Jan 9th)
This public version created Feb 2nd (see below)
In October 2006 I wrote an open letter to Borland called "The alternative Delphi roadmap to success". In this letter I explained why I thought Borland's strict focus on .NET development was a mistake, and suggested things they should change to gain more success in the market field again.
I've received tons of feedback on this, and most of it has been extremely positive - a lot of Borland's customers wrote to me or in their blogs that Borland's Delphi roadmap indeed does not reflect their needs. Even Borland employees applauded for my effort of writing this down in public. Following-up, lots of customers started to directly express their needs directly to Borland, which is a good thing.
Borland however, had been quite unhappy - my company is a Borland Technology Partner, and they were afraid that me talking about my thoughts in the public would hurt Borland's reputation. On a more positive side, I was asked by Borland execs to please hand in my detailed thoughts on a possible future for the Kylix product to them. I was promised that this would get looked at in detail and that they would be looking forward to it etc.
As you know, at the end of November 2006 it was announced that Delphi is now part of CodeGear. In December the CodeGear CEO Ben Smith then did a press interview in which he declared that Kylix will remain dead and not get picked up again by CodeGear. At this time I had already spent several weekends working on the proposal for a Kylix future that I got asked for by them, so obviously I was not amused. Just like for many other Borland/CodeGear customers for me this is a clear "migrate to the competition now"-signal - so I started investing into a FreePascal-based cross-compiler which will allow me to use Object Pascal for Win64 and Linux.... (an announcement on this project will follow soon.)
Anyway, in another non-public dicussion the now-CodeGear execs asked me to please still finish my Kylix proposal and send it over to them so they can consider it. So I thought "ok, at least my work on this hasn't been for the trash can then" and finished it. On January 9th, I sent the finished proposal, a 23-page PDF document, over to all in CodeGear that had asked me for it - the recipient list included Developer Relations, the product manager and even the CEO.
More than 3 weeks later, I hadn't received any real reply from CodeGear referring to the content of my proposal yet. I knew that my primary contact at CodeGear, John Kaster, internally had tried to get my proposal some attention (I talk to him quite often on various things and projects through Skype), but I found it frustrating that none of the other CodeGear-execs that I had mailed it to had expressed any interest.
Of course, 3 weeks aren't a lot of time in corporate world, but as you can read on the summary of my proposal, the whole proposal really only will work out if it is implemented in a timely manner - so my thought was "If they don't even manage to read this and give me a 'thank you, interesting, we will investigate this further' within 3 weeks, there is zero chance they'll ever move on this."
I grew pretty frustrated about that. I announced to John Kaster that if they don't have interest that I now at least wanted to post the proposal to the public so others can read and think about it - and was asked to wait until the following week. I waited another 9 days, and as I didn't hear anything again, I then decided to publish the proposal - not knowing that on this Friday evening, a meeting on my proposal had been scheduled for 2 minutes after me going public with the proposal.
The result: Lots of frustration for all involved parties, endless verbal fights in the public newsgroup, with everyone being quite unhappy in the end. Bad, very bad. Not really the outcome I had been looking for.
The postive side - Michael Swindell, CodeGears Developer Studio product manager, posted the following to the public delphi newsgroup:
The enthusiasm, thoughtfulness, and hard work that went into this are very much appreciated. There are some inaccuracies and assumptions in this paper intertwined with truths and facts that make it difficult use the conclusions as is, but if there is a future for Kylix - it will most likely be in the form of a cross-compiling Windows personality such as this paper suggests. A cross-compiler for Delphi, or a cross-compiling backend was part of the original Kylix roadmap, and kudos to Simon Kissel for being there with Cross-Kylix early on. Something similar to the Cross-Kylix approach to Linux dev with Delphi is the most viable model for Delphi, and something that we absolutely have considered in the past and we will evaluate it's viability for CodeGear. It is still a possibility, and enthusiasm and effort from people like Simon prove that it's possible. On the business and Delphi "user" side, I have disagreements with some the assessements in this paper, but there are also some things that are spot on. This paper makes a case that looks like a slam dunk - I can assure you that with the proper facts and figures and customer feedback, it's not a slam dunk - but there is something there and we will model different possibilities for something similiar to what Simon is suggesting. Whether or not I have differences with the data or conclusions I really want to thank you for all your work on this and all your work on Cross-Kylix and the Kylix efforts in the past. Of anyone that I've read or heard you've been the closest to the "right answer" for Kylix for a long time. I will commit to re-opening the subject internally and whether or not we've come to any changes in our Kylix decisions or plans, I will commit to a follow up status on where we are on the subject by the end of the March (we have some big "Delphi" things that are taking up 25hrs a day right now - stayed tuned for lots of Delphi goodness - and we also have lots of C++ goodness and some other "very cool projects" in the works as well, you won't have to wait long to find out) Thanks again Simon. -michael Go CodeGear!
Sadly after this, the only thing that some CodeGear employees kept talking about, partly in a pretty insulting manner, was how bad my move of publishing my proposal had been. Nobody seemed to care about the message, instead the messenger got attacked wildly. When I tried to defend myself on this by explaining the motives now outlined here, things got out of hand. Additionally, some people appeared to be rather interested in putting fuel into the fire instead of de-escalting things. It has been a real nasty suprise to see Borland/CodeGear-approved members of the TeamB newsgroup moderation team repeatedly cancel newsgroup postings where I and others tried to clear up on things, while keeping insulting personal attacks against my person coming from a tiny minority intact. In addition, postings by members of the community trying to defend my reputation by pointing out my long-standing support for Borland and Delphi got removed - resulting in the whole thing turning into a real bad mud-fight.
Given the work I've put into all this, it would have been nice if someone from CodeGear would have had the courage to simply put the flamewar to an end by giving some kind of official "We are sorry about how this has been handled, but now let's please all get back to the real beef instead and stop picking about it". There certainly is room for improvement in CodeGear's de-escalation strategies.
Anyway, given all these delays, I'm unsure if even if CodeGear in the end finds my proposal worth implementing, they'd get it done in time to be able to really make a fortune out of it - after all, there are heaps of areas where they already are trying to catch up - Win64 is still missing, Unicode is still missing, and the customer concerns about the product quality of recent Delphi releases are not resolved yet.
Let's wait and see. I'll be happy to be surprised, even if just like many others, I can't wait any longer and have to migrate now. By not migrating to a different language but just to a different Object Pascal compiler, I still got the option of coming back in case CodeGear should one day become the company many of the Delphi community members always wanted Borland to be.
As said, I doubt it's still possible to make a change for Borland/CodeGear, to make them see where Delphi's strengths really are and why they once owned the most popular Rapid Development Environment on the market. Still, if you wish to provide feedback to CodeGear and/or me, feel invited.
This article will be discussed in Borland's delphi.non-technical newsgroup, so if we wish to see what others are thinking, have a look here:
Author contact: firstname.lastname@example.org
This web version of the proposal was created out of the original PDF document on Feb 2nd 2007
Parts removed for this public version are marked yellow - mostly short paragraphs that included confidential information or non-public statements by others. I've also removed the complete "About the author"-part, as it's not really relevant in a non-paper document (if you really care, use google ;).