Ideal D GUI Toolkit

Nick Sabalausky SeeWebsiteToContactMe at semitwist.com
Mon May 20 17:04:40 PDT 2013


On Mon, 20 May 2013 15:50:06 -0700
"Adam Wilson" <flyboynw at gmail.com> wrote:

> On Mon, 20 May 2013 15:21:22 -0700, Nick Sabalausky  
> <SeeWebsiteToContactMe at semitwist.com> wrote:
> 
> >
> > I still have a hard time believing that it's realistic for it take
> > take everything into account. *Even* if you go to all the effort to
> > make every render and behavior pixel-perfect, you're *still*
> > failing to account for all of the following things, all of which
> > actually *exist*:
> >
> > - Software to allow the user to custom-reskin the system. Yes, even
> > on Windows this exists, and has for a looong time. Getting a
> > third-party GUI toolkit compatible with this would likely be quite
> > difficult, if even possible.
> >
> 
> What if as a UI designer I know that I want to specifically disallow  
> skinning? It's not even that hard of a decision to reach. If the
> skinning changes the layout metrics at all (margin, padding, size,
> even shape), my app can end up looking terrible and I have to take a
> support call for a case that I couldn't have possibly dreamed up.
> 

Basing software decisions upon worries of "What if some user shoots
himself and calls our support?" is *always* a bad idea.

The user overrides the developer/designer. Always. The user is the
whole reason for *anything* we do in this field. The user may as well be
God - if they want to do something questionable, we can raise warnings,
but it is *absolutely* not our place to prevent it. As soon as you
start down that route, anything you do becomes a pointess waste that
defeats its own reason for existence.


> > - On windows, I use a program called KatMouse that allows me to
> > scroll any control by just pointing at it and using my mouse's
> > scroll-wheel. No need to manually "focus" the control before the
> > retarded Win system allows me to scroll it. This is literally my #1
> > favorite windows program. But this obviously doesn't work on
> > programs that merely *emulate* the system's look-and-feel, no
> > matter how meticulous the emulation. Hell, even the UI changes in
> > "native" MS-developed Vista and Win7 break it at least half the
> > time.
> >
> 
> I'd say it's on the developers of KatMouse to get their crap
> together. It sounds like their development model is "don't upgrade
> from WinXP because we like that one."[...]

You're missing the point:

The point is NOT that "XP -> 7 should be seamless for all software". I
don't believe that, and I would never claim it or deliberately imply it.

The point is that even the most *meticulous* and convincing native
emulation is *still* insufficient (and ultimately a big waste of time).

Should it be the responsibility of the program itself support newer
versions of Win? Obviously. (Unfortunately, KatMouse appears to
be closed-source abandonware, but that's completely beside the point.)

Should it be the responsibility of the program itself to support the
various non-native third-party GUIs just because some
self-important GUI developers didn't feel like playing ball and
decided that *their* internal conveniences were more important than
their users, the very people for whom the all this software exists
in the first place? *Absolutely not*.


> You may like it, by I've never even
> heard of it, and my guess is that almost nobody else has either.
> 

popularity != importance
popularity != value
popularity != worthiness

(popularity != a goddamn thing)

It is unreasonable to expect GUI developers or GUI designers to
explicitly support various tools like KatMouse? Absolutely. It is
definitely unreasonable. And that's *exactly* why non-native GUIs are
horrible idea.


> > - Tools to reveal the value behind "******"-filled password boxes.
> >   Sounds like a black-hat tool, but I've personally had legitimate
> >   need to use it.
> >
> 
> Ehrm, TBH, I consider breaking those tools a good thing. Yes there
> may be legitimate uses, but the number if illegitimate uses far
> exceeds the benefit.
> 

I strongly disagree:

First of all, there is very little, if any, illegitimate use of this
that doesn't require *at least* as significant a security breach to
have *already* occurred.

Secondly, we're not babysitters or self-appointed police here. To
engage in such a level of control is *already* a very serious breach
of our moral obligations.


> > - Anything else that involves either GUI-introspection or adding a
> >   cross-application UI feature. There's plenty of other
> >   entirely valid use-cases.
> >
> 
> What is the use case for GUI introspection?
> 

Just for example, Spy++ or any similar such developer tool. Or GUI
macros. Those are just off the top of my head. I'm sure people can, and
have, thought of any number of other different uses.

> 
> Manipulating a UI from another process is bad, evil, and a massive  
> security problem, I'd say that disallowing it is a service to the
> world.
> 

I couldn't disagree more. I don't believe for a second that that's
even the slightest bit different from saying "Using a computer is bad,
evil, and a massive security problem; disallowing them is a service to
the world."

We're not Big Brother and I, for one, refuse to be party to anything
even remotely smelling as such, which is something (ie, "Big Brother")
that I very much believe your views on our responsibilities as
developers *do*, by necessity, constitute.



More information about the Digitalmars-d mailing list