Wednesday, June 30, 2004

To float or not.. redux..

The comments on my last post were all very good. There's a few, however, I figured I'd address with another entry since some folks don't nessesarily read the comments.
What I always wanted to know, but were afraid to ask: Why is the default Form position poDesigned and not poDefault?
This will take a bit of a history lesson. When we were designing Delphi (back in, oh, 1993), we had already chosen the "floating" designer as the design-time model. We had a specific design goal for the user experience that when they hit the "run" button, it simply felt like the application simply "switched" from design-mode to run mode. We used the high-speed compilation to our advantage. By defaulting to poDesigned, the application would simply have the appearance of simply "turning-on" since it didn't appear to physically move on the screen. There was a lot of internal debate on this very topic, but frankly, the product demoed *very* well with the poDesigned. In fact sometimes it was actually difficult to convince folks that we had actually compiled the application and that there is now a stand-alone .EXE on disk.
As Marc has written the argument of the out of screen forms is so simple to fix without an embedded form designer as I can't even believe you count that as an argument for the embedded designer
Sure. However, one thing you have to remember is that a design-form is a live instance of a VCL form. So, when you set the Left/Top properties, the form will physically move on the screen, and the module is marked as modified. We go to tremendous lengths to not modify any file as a side-effect of opening it in the IDE. Of course there are potential solutions, but few are minimal, or non-invasive.

a) A somewhat wider right text margin, (I keep worrying that I'm missing nonwrapping text)

b) Scalable text size...

Thanks for the feedback on the look of the blog. I'll still be tweaking it as I can get to it.

Tuesday, June 29, 2004

To float to not to float...

In other words, embedded designers or stand-alone top-level designers. This argument has certainly served to polarize the Delphi community more than anything else has in recent years. There are those that only accept a "pure" traditional Delphi style designer, there are those that don't seem to care one way or another, and then those that are perfectly fine and somewhat prefer an embedded designer. It seems, however that the Delphi "purists" are the most vocal and vehemently against what they would characterize as "messing with success," by adopting a modal/embedded approach to form design. Personally, I've adapted to using either style and can see some of the advantages that each side has to offer. You might come to the conclusion that since I'm the one that did all the work to embed the VCL designer, I have a vested interest in keeping the designers as purely embedded. This certainly would allow me to focus on making that one mode work the best that it can. However, there are a few items that the embedded designer simply isn't able to address.

The embedded designer makes for a cleaner, more controlled environment. You always know where the designers are located, you are insulated from your co-workers that have screens with laser-printer resolutions placing the design form at some location that is someplace off screen. The designer also can display the border style of the form in the actual style that it will end up being rendered as. And, there is just a feeling that everything is more organized and more "under-control" with the embedded designer. There isn't this haphazard arrangment of windows with all your other applications peeking at you from between the cracks.

In the other camp, there are some things that the top-level "floating" designer does that simply cannot be done as easily with the embedded designer (and by extension, a single-window docked IDE). You can design a form that is at or near the actual screen resolution much easier since there is no "frame-overhead" for each designer. You can arrange the forms in such a manner that you can see several at once, which in the case of inherited VCL forms, is very helpful when modifying an ancestor form so you can see the live-updates on all the descendants and determine if moving the "OK" button will obscure something on any of the descendants. While, personally I prefer to dynamically position the forms at run-time, you can set the form position to "poDesigned" and manually arrange all your forms in the locations in which you want them to appear at run-time. Then there are the issues regarding the more frequent use of multi-monitor systems where developers will use the primary display to position the design-time forms, and use the secondary display for the menus, code-editor, OI, and other design-time/editing support windows.

Now before you start warming up your flamethrowers and start indiscriminately spewing expletives regarding your disdain for one style or another, just understand, that this issue has been heard loud and clear and we are looking into ways to address the issue for a future Delphi product release.

Friday, June 25, 2004

New Skin...

OK... I finally spent a few moments and created a new .Text skin (that probably works only in Internet Explorer... :-) that resembles the skin I use on my original blog site. It's not perfect, but it at least has most of the elements I wanted. Did I mention that CSS w/ HTML is about as enjoyable as slamming my hand in a car door?

Wednesday, June 23, 2004


Welcome to my new home on the web. From now on I'll be posting to this server which is officially hosted by Borland. However, please be aware that the same disclaimer still applies. Any views expressed here are my own and not those of my employer, Borland Software Corp. As soon as you begin to think that my views are a direct reflection on Borland, then please seek professional help immediately for the condition known as lackofhumoritis.

Monday, June 7, 2004

Anders Hejlsberg still evokes all manners of awe..

Chris Sells' post, My First Presentation For A Distinguished Engineer, underscores the level of respect and awe that Anders Hejlsberg still commands as a Distinguished Engineer at Microsoft. It is just interesting when other folks seem to be thoroughly enthralled and "star-struck" about the fact that Anders requested a technical briefing. I worked very closely with Anders during the early days of Delphi (and TPW 1.5 and Borland Pascal 7.0), and I must say that he is certainly a very charismatic and approachable person. He has an uncanny knack of being able to tell you when an idea was complete bovine scatology, yet your ego and self esteem remained completely intact. In fact, while Danny and I were at the Windows 64-bit briefings back in March, Anders had specifically requested that we try and meet for lunch. Unfortunately, he is also a very busy man and we were unable to connect. Anders is certainly deserving of all the accolades he receives.

Friday, June 4, 2004

This ain't no one or two man show...

A little comment about Danny's post. While Danny and I have been elevated to new roles and responsibilities, I must also say that this doesn't by any stretch mean that we are the sole descision makers on technical matters. Quite the contrary in fact. In order for Danny and I to be effective at what we do, we also need a focused, dedicated, and talented team of engineers. Some of them you already know about some of them, like Steve, Corbin and Chris. Others are less visible, but every bit as important to the team. Then there are the managers and program managers, QA engineers, product management and marketing, regional product line sales managers and teams, even the administrative assistants. They are all crucial to the health of any team.

Moving day drawing near...

It looks like I'll be moving this blog to an official Borland hosted blogging site in the very near future. When that happens, everyone will need to update their links and RSS/Atom feed references. I also hope to be moving the existing content to the new server as well, however comments may be another issue entirely. We'll see..


This is my first blog post to the new Borland blog server.   I'm now in the process of bootstrapping the new site... Stay tuned.  For how you can go to


Thursday, June 3, 2004

Patent Trolls

Technology industry hits out at 'patent trolls'

This is an interesting article about the current state of the US Patent System. In general, I certainly think that there should be a government sanctioned method of granting exclusive rights to use a certain invention for a period of time. However, once the system starts to be abused, it ruins it for everyone. Patents for the mere purpose of using the legal system to bludgeon people or companies over the head, are certainly abuse in my book. This is of particular interest right now since I'm currently involved with several IP lawyers in order to submit a patent application.

I wish.

Danny posted this bit of information regarding his and my promotions to Chief Scientist and Principal Architect, respectively. Not much more I can say.

That which was old is new again...

This is going to rattle a few cages... I've been keeping a back issue of Byte magazine from August 1986 (yes, I said 1986) that has an interesting article about a brand new application framework for the Macintosh built with Apple's Object Pascal language, called MacApp. Here's the article as scanned from that issue of Byte:

The most interesing bit is diagram on the second page of the article. For those of you that remember Turbo Vision, you'll certainly see an interesting similarity. Also, the Delphi folks will probably see some familiar stuff as well.

I remember Anders Hejlsberg saying, "Good ideas just don't go away."

Not all of us drive "Subby's"

OK, Corbin not all of us drive Subaru's.... This is mine:

Your turn, Danny...

BTW, the red car in the background is a 1989 Taurus SHO. The Excursion has since been replaced with an '02 Mineral Grey one (the same color as the Cobra).

New blog happenings...

After an appropriate amount of cajolling and threatening, Corbin Dunn finally has a blog up and going. Also, Chris Bensen has joined the fray as well. Welcome aboard guys!