Re: Why ignoring unknown mandatory constraints is not stupid

On 11/16/13 7:50 AM, Harald Alvestrand wrote:
> On 11/16/2013 07:07 AM, Jan-Ivar Bruaroey wrote:
>> How can blocking it be in accordance with his wishes for a 3D camera?
> Because a mandatory constraint saying "3D camera" means "I want a 3D
> camera".

I understand. You'll refuse lots of users who have 3D cameras to avoid dealing with the unknown. You, the programmer may be happy (initially), while many users are unhappy. That's my problem. If you don't see that trap, then many programmers won't either, and fall in it. I thank you for demonstrating this.

>   If he was happy with getting a 3D camera some of the time, he
> could have used an optional constraint;

Saying programmers should always use optional constraints is no solution, just like putting a working elevator adjacent to an open elevator shaft is no solution (because the problem isn't just "How do I get down now?" but "Entering absentmindedly is dangerous").

The problem with mandatory constraints is that they work too well, falsely over-constraining in the unknown case, for no good reason to boot (apps aren't melting today). So lets change them not to do that, without breaking or abandoning them in the cases they do work.

The way you paint mandatory constraints, I see them only ever safe to use with Mandatory-To-Implement constraints (an ironic interpretation of the name), or for people who don't care about false negatives. Actually, they're useful for one more thing: saddling people who didn't think about this too deeply with false-negative problems. The last group is probably larger than the second one.

The way I paint mandatory constraints, they work only for the constraints the browser knows about. This will never falsely block a legitimate source. The programmer who truly prefers no UX when the browser doesn't support the constraint can query the browser if it supports the constraint. If that answer is no, then don't even go to camera selection. Out of scope.

In other words, don't make mandatory constraints harder all the time. Just change how they deteriorate in the unknown case to favor the user. If the programmer doesn't like that outcome, he can add a line of code. The user cannot.

This works for everyone.
This works with webidl.

.: Jan-Ivar :.

Received on Monday, 18 November 2013 16:56:05 UTC