- From: James Graham <jgraham@opera.com>
- Date: Wed, 18 Apr 2012 14:59:08 +0200
- To: Cuihtlauac ALVARADO <cuihtlauac.alvarado@orange.com>
- CC: public-coremob@w3.org
On 04/17/2012 03:51 PM, Cuihtlauac ALVARADO wrote: > Hi Tobie, > > Allow me to express my disagreement with respect to that change, and > such kind of change in general. > > I share your interpretation of RFC 2119. "MUST" is an unconditionally > requirement while "SHOULD" is a conditional requirement (i.e. "there may > exists valid reasons [...] to ignore [...]"). Replacing "MUST if" by > "SHOULD" is formally correct. However, in practice, "MUST if" is far > superior to "SHOULD", the former should be preferred. Let me explain why. > > Basically, the "MUST if" clause comes with text which details the > circumstances under which the requirement does apply, while "SHOULD" > does not. In our case, we absolutely do not want a device which has a > SMS app and the agent is *not* capable to trigger that SMS app using the > sms: scheme. That must be avoided. We really want the URI scheme to be > dispatched always, unless sending SMS is not possible. This was captured > by "MUST ... (if available)", it is no longer by "SHOULD". > > From test implementation perspective, the "MUST if" is easily turned > into a real conditional statement, in contrast, it is impossible to > decide, at test execution time, whether failing to comply with a > "SHOULD" is actually valid or not. I don't think there is a testable requirement here anyway. For example I might configure my device/ua to do nothing when an sms:// link is activated. Or a UA might have built-in support for the sms protocol that isn't via the system SMS app. You can't prescribe one correct behaviour. I think using MUST requirements where you can't write a testcase is wrong. Possibly what's bogus in the spec is calling out specific protocols. The actual requirement seems to be that if a link to a protocol is activated that the UA doesn't understand natively, it has the ability to dispatch that link to a lower level in the stack e.g. the OS, to handle in some way. I still don't know how you would write a testcase for this though.
Received on Wednesday, 18 April 2012 12:59:42 UTC