Genii Weblog

Are layout regions really deprecated?

Fri 20 Feb 2009, 05:40 AM

by Ben Langhinrichs
It has been "commonly known" that layout regions are obsolete and essentially deprecated, and have been for many, many versions.  In a quick scan, the first mention I have seen of this "common knowledge" is back in July 1999, almost ten years ago, when Nathan Freeman wrote in this post:
It's unlikely that a Notes client will ever *stop* recognizing layout regions. However, they are pretty effectively deprecated at this point unless you're building modal dialog boxes.
I know that in various beta forums over the years, it has been widely debated whether or not to bother rendering them in DXL, for example, or otherwise waste any resources on them.  I found many more comments that they are obsolete or deprecated from widely respected members of our community (e.g., Stan RogersBill ErnestBruce Stapley, etc.), basically since R5 was released, and certainly since ND6 with layers included.

Given this, it is somewhat surprising to explore the Designer Help, which refers to layout regions more frequently than it refers to layers, for example, and which contains absolutely nothing discouraging people from using them, suggesting that they are obsolete, or comparing them in any way to layers, which one might think would be the obvious "upgrade".  It is made clear that they are not supported on the web, but they are recommended for various uses without comment or concern.  I have also noticed that IBM folks, such as Andre Guirard,  occasionally recommend them for one purpose or another without saying they are deprecated.

So, which is it?  Is "common knowledge" wrong, or is this "secret knowledge" kept that way to trap unsuspecting newcomers who start using this handy feature (much easier interface than layers, I might point out, although far less powerful in some ways)?  Why is that experienced developers can so confidently describe a feature for ten years as "deprecated", but not have IBM reflect that in any visible way?  If IBM doesn't want developers to keep adding layout regions, which you might guess from the non-existent layout region support in DxL, shouldn't they say something about it to warn developers?

Maybe we are just wrong.  Maybe they are not deprecated at all?

Copyright 2009 Genii Software Ltd.

What has been said:

791.1. Nathan T. Freeman
(02/20/2009 05:23 AM)

There was some discussion some time ago on the DP forum about the need to start recognizing deprecated features as such in the documentation. I think specifically in that case around LS:DO, but layout regions are definitely another good example.

The most obvious sign of their failure was their systematic removal from all the core templates from Lotus.

If memory serves, the big problem with them was that the internal grid mechanism was all done in twips. Which created some serious problems in defining them as proportional rather than absolute elements.

The motive for any Notes developer to use layout regions came from the desire for several things: 1) runtime-computed label elements; 2) native controls for comboboxes, checkboxes, radiobuttons, list boxes, and date pickers; 3) greater control over box-element background color; and 4) draggable controls.

A 5th aspect of layout regions when they were introduced was that they could define the borders of a dialog box, effectively hiding the rest of the form when they were rendered modally.

Of these 5 items, every one except drag/drop manipulation has since been offered in native RT controls. And because the drag/drop was always so incredibly bad in layout regions (you couldn't zoom, you couldn't nudge, you couldn't block-select elements) that wasn't much motivation to use them.

IBM definitely gets a FAIL rating on their ability to inform customers when some technology has reached its useful end. I notice that almost every other major software company clearly delineates when a capability is deprecated, but IBM doesn't do this on pretty much ANY platform. @V2If has a recommendation not to use it, but @V3UserName even has a SUGGESTED USE CASE in the documentation.

It's sad.

I blame the lawyers.

791.2. Nathan T. Freeman
(02/20/2009 05:25 AM)

P.S: I know a few of the older core templates still have a layout region in them. Resource Reservations, I think, and then that terror that is the shared Web Navigator if you turn on the Web process on a Domino server.

So please don't take "systematic removal" to be synonymous with "complete removal."

791.3. Ben Langhinrichs
(02/20/2009 05:41 AM)

@Nathan - Thanks for the elaboration of the issues. That does help in reminding me of some of the complaints. On the other hand, saying that a drag and drop functionality available ten years ago is badly implemented, but that there isn't ANY such capability now, seems weak. Also, the use of TWIPS is pervasive throughout Notes, most notably in tables, and that hasn't stopped anybody from using them.

Off topic, but how is it possible that graphics in Notes can only be resized in terms of a percentage of their original size? Why in the world do we all put up with that? There isn't even any indication what that original size IS, but rather a purely visual approach is taken. OK, that should be a whole different post.

Anyway, I hear what you are saying about deprecated elements, but the truth is, customers are STILL USING LAYOUT REGIONS. So, in what way are they deprecated? Why not (god forbid!) enhance them, allow them to use pixels instead of twips, spruce up the drag and drop as you suggest, or possibly just merge the functionality with that of layers to give the best of both worlds? Why did we, who profess to HATE the idea of rip and replace, so eagerly reject layout regions rather than demanding improvements? I sometimes think IBM is a disfunctional organization, and we are all enablers.

791.4. Nathan T. Freeman
(02/20/2009 08:01 AM)

Layout regions were created in competitive response to MS Access, though. I don't think a lot of those same principles apply in more modern development environments. Do we still use twips grids when designing an Jface visual component? Or an Adobe Flex interface?

Look, I'm not trying to defend the deprecation of Layout Regions. I don't think they're a good mechanism to design UIs, though, and I think the evolution of development approaches over the last decade supports that.

The fundamental problem with IBM not actively deprecating anything is that they end up not paying attention to the need to create an alternative. That's the real failure, IMO.

791.5. Alan Bell
(20/02/2009 09:00)

I thought they were deprecated since the sizetotable flag got added to @dialogbox. Things carry on though, I just created a navigator in Domino Designer in Eclipse.