Musings about Popup Frameworks…

ColorPickerNext week we’ll discuss a little bit the new VCL additions in RAD Studio 2010. Since then, can you share which are your thoughts on the following?

There are a plethora of drop down combos and popups: simple lists, data aware lists, drive lists, trees (simple and data aware), directory combos, a gazillion of pickers (color, font, shapes etc.). Also, perhaps there are other specific needs which we want to have in our programs which aren’t covered by any component in the market.

Wouldn’t be better to have a single framework for all of these which would allow us to easily create new ones?

Express yourself.

7 thoughts on “Musings about Popup Frameworks…

  1. ‘Wouldn’t be better to have a single framework for all of these which would allow us to easily create new ones?’

    IMO, the tricky thing is not on the level of what you describe – which to me is just a matter of dropping down controls on a frame or borderless form at design time – but a level lower down, of how to go about properly implementing the popup behaviour (i.e., I have my form to pop up – now, how to I actually show it and make everything work as slickly as if it were an old skool TPopupMenu?). The VCL’s half-arsed attempt with the action bar stuff (at least up until, and including, D2009) is, basically, crap if you excuse my French (I have a couple of QCs on the matter, not that I expect anything will come of them…), though to be fair, its not easy given what the WinAPI provides (and doesn’t provide) – you can’t just hook into the traditional HMENU system, for example.

      • ‘But do you find value in such thing, if it would be possible? ‘

        Having attempted to write this sort of thing on more than occasion, I find the question a bit airy-fairy – if there were to be a clean implementation that worked perfectly on (say) WinXP or above, then that would be great, but in my experience, any attempt is inevitably ‘hacky’ in some way, however slick the very best implementations can appear on the surface (thinking of the Windows Start menu and Office’s various super-menus). And, basically, a sub-standard implementation is, for me, worse than a less ‘clever’ alternative, be it a modal dialog box or non-modal tool window.

        By the by, how come this post didn’t show up on DelphiFeeds…?

        • Er, to be clear, I’m the guy who posted the first comment – I must have posted it without logging into WordPress first, hence ‘Chris’ there and ‘CR’ here…

        • Which do you think that is the most sensitive part of such an implementation? Also, what usage scenarios do you see? Eg. for me an ‘universal drop down box’ is already a gain. For you?

  2. It would help, I think, if you gave a clue as to where this is going (assuming it’s going anywhere…) – for example, do you have an implementation you are looking to sell?

    That said, and in very general terms, I find the appeal of such things more obvious qua programmer (‘isn’t that cool, so much glitzer than a standard popup menu!’) than qua user. For instance, is the Office 2007 colour pick menu you chose to illustrate this post really superior from a user’s perspective to (say) Paint .Net’s floating colour pick toolbar, the latter being far easier to implement in a vanilla VCL app? I don’t think so. For sure, that changing the text colour in a word processor is far less of a common operation that changing the pen or brush colour in a graphics app may suggest each UI choice is appropriate for its own context. Nonetheless, given changing the text colour *is* so rare an operation, why bother with a fancy UI at all? A simpler popup menu (with a dollop of owner drawing) and more fully-featured dialog box is surely ‘good enough’, a point I am inclined to apply to many other examples too. YMMV of course…

  3. I understand the temptation to wrap such things, but my experience is that if an interface is standardized, it either stops you accessing what you need, or has so many special cases that it drowns in complexity.

    Just provide good help.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s