The Delphi Tour

Oh no.  This is my first blog post.  Don’t you just hate those? You know what I mean because, well… you’ve probably got a blog too. I think everyone has one and I feel a bit left behind. Now I won’t pretend mine will be extraordinary or such a gripping read you’ll be back five times a day hoping for more. That said, as I’m not particularly fond of reading waffle I’ll try to keep my own as limited as possible. If I still manage to waffle too much, skip over it but if I ever see a TL;DR I’ll shoot you.  Seriously.

The only question left is… where to start?

I’m at the annual Delphi “World Tour” in Montreal.  I’m not inclined to write outside the office but having had such trouble deciding how to begin it seems more than co-incidental that I suddenly find myself at an interesting event and perhaps even something noteworthy. As an aside, I’m using the new Blackberry Bold 9900 and this is probably the first Blackberry I’ve owned where posting a message online isn’t a tremendously frustrating experience. Still I’ll probably have re-written most of this back on the desktop.  “Not entirely frustrating” is far from “actually productive”.

Al Mannarino is warming up the crowd

Rather disappointingly this year there are no t-shirt handouts and I have to admit that has always been quite a big draw for me. Hey Embarcadero: the handouts make the crowd happy! Al asked audience members to raise their hands if they were developers working for companies with more than 5000 employees. A couple went up. How about 3000? Two or so. How about less than 50? All the rest of us. One gentleman sitting in front of me announced he was an ISV who worked from his closet. So come on: we really need these t-shirts.

I don’t know how surprised Al was that the majority of his audience are small ISVs and not big enterprises? I can’t believe this is news to Embarcadero as Delphi has historically been most popular in the small developer community. As much as any business really wants to target other big businesses, who are far more profitable I’m sure, I feel the rest are being forgotten a little.

Following that question about business size, Al asked what new features in Delphi XE 2 people were most in various. I think it is safe to say everybody wanted 64bit. More of a surprise? It sounded like the two discoveries didn’t mesh well. Most are small developers and most want 64bit development. He asked “What’s the point in 64 bit when everybody’s laptop only has 2gb of memory?” Now I’m editing a little (Al was really referring to comments from his seniors) but overall this is deeply frustrating to me. There is this naive presumption that small developers are writing “Angry Birds” and giant enterprises are building massive data clusters. The fact is that small Delphi developers are building all types of applications and some (like mine) are huge.

Later the topic of Interbase was brought up. “Why aren’t you using Interbase?” Someone answered “Firebird”. There was some scorn from Embarcadero there and clearly they view Firebird as an inferior product. Another audience member yelled “Licensing” and that’s the point. We can’t ship Interbase as an embedded component in the small ISV market because the licensing is unmanageable. It just has to be royalty-free or you have to develop a distribution model based entirely around the one component. Firebird is an option available to all of our customers and you can switch to and from it as you need. How do you support that with a per-seat license?

There was talk about all the improvements to Datasnap. I didn’t see that much excitement from the crowd about this and I think I know why. Datasnap is not available in the Professional Edition (and clearly that meant most of us were out of luck). This is unfortunate as Datasnap would be very useful to me but it is without a doubt the only such feature in the Enterprise edition and therefore not worth the expense. That said, as someone pointed out, it is dependent on Indy and that bothers people too. I like Indy and I like the work Chad and Remy have done, but it is an almost abandoned library and bugs keep cropping up. It has also become a paradigm rather than just a thin sockets layer and that doesn’t necessary integrate well. I can’t believe that a serious and by all accounts professional component like DataSnap, which is only available is expensive editions, relies entirely on an open-source third-party API that is famous for compatibility issues, upgrade woes and all manner of little niggles. I like and use Indy and I’ve contributed fixes myself, but if I use two components based on different versions of Indy (one might be DataSnap) I suddenly have a lot of trouble I don’t have time for.

I think I drifted off topic again.

Then we all got caught up in Mobile devices and perhaps that’s the future of Embarcadero — I don’t really have a clear vision after tonight. Many of the audience members, myself included, just want a stable development environment that is better suited to us than Visual Studio and .NET. Windows Application development doesn’t seem like Embarcadero’s priority to me. Firemonkey is all very well (what is “3-Definition” though?) but I’ve asked this question every year at this conference since Vista: where is “Windows Aero” support? It mystifies them and now it is too late; we’ve moved on. What about “Wizards”? Nothing yet. Delphi was once the leader in user interface development and yet it is still practically impossible to build an MMC snapin (ask me if you want to know how). Windows Standards are being ignored in favour of potential cross-platform gains. Is Delphi really the best cross-platform solution?

Briefly we were asked what we wanted and unfortunately there really wasn’t time for many comments. Someone asked for a “Lock Free” memory manager. That is exactly the sort of thing I’d like to see too. Unfortunately I think Al misunderstood as he pointed out AQTime is included with Delphi now. Firstly, AQTime is mostly crippled in the Professional Edition, and secondly what has that to do with the question? Sure you can develop around locking issues and perhaps a profiler can help but that is not the same thing at all. It just kept adding to the sense that we were all being misunderstood. It wasn’t just the French accents.

The last question was about “AppWave” and from my reading of the audience this was the one thing they came in unaware of and the one thing that they left most interested in. AppWave sounds like the “App Store” for iOS and perhaps this isn’t a bad idea. But again it does shoehorn Delphi ISVs in the “Gadget Vendor” category even if we are all apparently quite desperate to find successful sales outlets.

There was no more time for wishful thinking from the audience so I’ll just have to talk to myself again: Hey Embarcadero? Help us build applications. How about built-in stack traces and debugging tools for deployed applications like Windows Services? How about a powerful embedded database engine that is tightly integrated, easy to deploy and royalty free? How about tools to render and process embedded HTML forms? How about getting rid of dependencies on Indy and having instead a simple and reliable built-in socket framework?

And with that the event was over and I headed to Lucien L’Allier to catch the last train. If the trains ran more often, I’d have stayed to talk to the other developers and I now wish I had and settled for the metro as I’d like to know what other people thought. Particularly he who works from the closet. Did he also need a new t-shirt?