[widgets] Minutes from 21 October f2f meeting

The minutes from the October 21 Widgets f2f meeting are available at  
the following and copied below:

  <http://www.w3.org/2008/10/21-wam-minutes.html>

WG Members - if you have any comments, corrections, etc., please send  
them to the public-webapps mail list before October 23 (next Widgets  
voice conference); otherwise these minutes will be considered approved.

-Regards, Art Barstow

    [1]W3C

       [1] http://www.w3.org/

                                - DRAFT -

                           Widgets f2f Meeting

21 Oct 2008

    [2]Agenda

       [2] http://www.w3.org/2008/webapps/wiki/WidgetsMandelieuAgenda

    See also: [3]IRC log

       [3] http://www.w3.org/2008/10/21-wam-irc

Attendees

    Present
           Paddy, Mark, David, Claudio, Benoit, Marcos, Art, Arve, Mike,
           Lucy_Lynch, Nick, Bashar_Jano, Philipe_LeHegaret,
           Frederick_Hirsch, Thomas, RobMiller, PratikDatta, Gerald,
           Edgar, KelvinYiu, BrianLaMacchia, ChrisSolc, BruceRich,
           Kai_Hendry, Carmelo, Dom, Denise

    Regrets
    Chair
           Art

    Scribe
           Art

Contents

      * [4]Topics
          1. [5]Agenda Review
          2. [6]Widgets 1.0 Digital Signature spec
          3. [7]transform element
          4. [8]Certificate Chains
          5. [9]Widgets Requirements LC #2
          6. [10]Widgets 1.0 Updates spec
          7. [11]Digital Signature Joint meeting with XML Sec WG
          8. [12]Widget Permissions, Access, etc.
          9. [13]Widget Testing
         10. [14]API and event
         11. [15]V2 list
         12. [16]Benoit slides
         13. [17]F2F meeting
      * [18]Summary of Action Items
      _________________________________________________________



    <ArtB> Date: 21 October 2008

    <ArtB> Scribe: Art

    <ArtB> ScribeNick: ArtB

Agenda Review

    [ Art reviews agenda; two new additions for AOB section ]

    AB: any change requests or additions?

    [ None ]

Widgets 1.0 Digital Signature spec

    AB: latest ED is [19]http://dev.w3.org/2006/waf/widgets-digsig/

      [19] http://dev.w3.org/2006/waf/widgets-digsig/

    <marcos>
    [20]http://dev.w3.org/2006/waf/widgets-digsig/Overview.src.html

      [20] http://dev.w3.org/2006/waf/widgets-digsig/Overview.src.html

    MC: Mark and I have been focusing on simplifying the spec
    ... One goal was to make the spec more efficent regarding processing
    ... Also want generic XML Sig tools to be useable as is
    ... Also tried to reflect what is being done in the industry

    <scribe> ... New model is 1) ZIP; 2) Sign; 3) ZIP again

    ABe: I object to this change

    MC: why?

    ABe: because there are already tools that follow our previous model

    MC: no; just need to sign the ZIP file rather than 100's of files

    ABe: this adds runtime complexity
    ... In Opera we can read directly into the ZIP
    ... thus it adds complexity for us
    ... What is the cost of the old model?

    PB: what is the cost you are trying to avoid?

    MP: we have a signing server
    ... it signs Widgets
    ... The old model requires signing each file individually
    ... All we really want is one signature for the entire package.
    ... This is particuarly important when we have to sign a bunch of
    Widgets

    PB: then you loose the flexibility of signing specific files

    MP: the more signing that has to be done, the greater the
    probability something can fail
    ... e.g. twenty signatures (1 per file) versus just 1 signature for
    the package

    PB: the JAR spec allows individual signing
    ... and then a hash over the entire JAR

    AB: we already agreed everything needs to be signed

    MP: want to understand the complexity concern Arve has

    ABe: this puts an extra toll on the client
    ... must keep the package in memory twice

    MC: no, that doesn't seem right

    PB: no, Arve's right

    ABe: on low memory devices, that isn't acceptable

    PB: have to extract the inner ZIP onto disc
    ... and this previously wasn't necessary

    ABe: verification of the ZIP isn't the hard part
    ... need to deflate the inner ZIP and keep it in memory
    ... must keep the outer file in memory too

    MP: why does the outer file need to be in memory

    PB: the outer ZIP must be in memory to run the widget

    ABe: I agree this shortens the spec

    MC: the proposal makes it easier on the signing server
    ... this doesn't change tools

    AB: so we have a new proposal with a sustained objection

    MP: given Arve's concerns, I can live with the original model
    ... the change doesn't change the existing proc model

    MC: I'm not convinced about Arve's concerns and would need to do
    some research.
    ... OTOH, I can live with the existing model
    ... OK, we will stay with the model where every file is signed

    RESOLUTION: we will maintain the model where every file is signed

    MC: another thing I removed is the WidgetSignatureInfo element
    ... because it requires a custom tool
    ... that element only contains a TimeStamp element
    ... I couldn't think of a good use case
    ... This was introduced by Thomas

    AB: any objections to the removal of the WidgetSignatureInfor
    element?

    <scribe> ACTION: thomas do you object to the removal of the
    WidgetSignatureInfo element? [recorded in
    [21]http://www.w3.org/2008/10/21-wam-minutes.html#action01]

    <trackbot> Created ACTION-273 - Do you object to the removal of the
    WidgetSignatureInfo element? [on Thomas Roessler - due 2008-10-28].

    MP: I agree with this change

    [ No objections ]

transform element

    MC: some files need to be transformed via deflate
    ... we can write this in prose
    ... We removed it in Dublin meeting
    ... I think we need it

    AB: let's put this on the agenda for the XMLSec joint meeting

    MC: good idea

Certificate Chains

    MC: does XML Sig support cert chains

    [ Marcos displays xmldsig-core ]

    MC: yes, it looks like it

    AB: should we add this to the XMLSec agenda?

    MC: yes. Want to understand ordering for example
    ... return values could be: Fail, Verified (Y or N), Revoked (Y or
    No or Unavail)
    ... If revoedk stop and only one sig then stop

    <mpriestl> We need to also understand what a XML digital signature
    processing engine will return when processing a signature, e.g.
    document is malformed, certificate chain can't be verified,
    certificate has been revoked (yes, no, revocation information
    unavailable) etc.

    MC: Also need table of return values based on conditions
    ... Mark and I will meet next week
    ... Hope to have a new WD ready for pub by end of next week

Widgets Requirements LC #2

    AB: Widgets reqs LC #2 [22]http://www.w3.org/TR/widgets-reqs/

      [22] http://www.w3.org/TR/widgets-reqs/

    MC: the doc is written using RFC2119
    ... LC #2 comment period ended Oct 13
    ... We want to know the next step -> WG Note or Recommendation

    PLH: a Rec doesn't make sense to me

    AB: why

    MC: what would you actually require?
    ... the reqs are meant to be inclusive

    PLH: what will be the exit criteria of CR?

    MC: I was thinking OWL has a precedence for this

    PLH: infoset had some exit criteria

    MC: we can explicitly list those reqs which are address by various
    specs

    PLH: what are the status of the specs?

    MC: they are all in WDs

    PLH: I can be convinced that a Recommendation is OK

    MC: personally, I want to move this to Recommendation
    ... We have talked to a lot of industry groups e.g. OMTP

    MP: we would like to be able to reference this doc from OMTP

    PLH: does it need to a Rec?

    PB: it needs to be a stable doc

    CV: it would be good to be Rec

    AB: I think the options are:
    ... 1. leave as is
    ... 2. publish another LC
    ... 3. publish a CR
    ... In the CR, state the exit criteria is that each requirement in
    scope for WebApps must be addressed by one of our specs
    ... My concern about CR now is that none of our specs are yet in LC
    and the probability of needing to change a req is relatively high

    MC: I propose we leave the Reqs doc as is

    RESOLUTION: we will leave the Widgets Requirements as is and not
    publish another document until the specs (P&C, DigSig, etc) have
    reached Last Call

Widgets 1.0 Updates spec

    AB: latest ED is: [23]http://dev.w3.org/2006/waf/widgets-updates/

      [23] http://dev.w3.org/2006/waf/widgets-updates/

    MC: we haven't received much feedback yet
    ... other than some typos

    CV: what happens if device has numerous widgets that need to be
    updated

    MC: could wrap <widgetupate> in some outer element
    ... we haven't spec'ed that yet

    CV: shoud the spec say something about this?

    MC: it would certainly complicate the current model

    PB: what is the trust model if the widgetupdate came via some
    mechanism other than https?

    MP: need to understand the integrity of the source

    CV: thinking about 50 widgets trying to do an update at the same
    time

    MC: can imagine some wrapper process that does the updates over a
    single connection

    MS: I wonder about that use case i.e. 50 widgets on a device
    ... typically expect updates 1 at a time

    ABe: I would expect more like 15-20

    MS: I can see there could be many but would the user really want to
    update them all at the same time

    PB: a question is one of scalability

    MC: I think the current model is sufficient for v1

    AB: Claudio, can you live with the existing model for v1 and add
    your use case and reqs to the v2 reqs doc

    CV: yes, that's OK

    PB: I think the current model is OK for v1

    <scribe> ACTION: Claudio Add handling 50 widget update use case and
    requirements to the v2 feature and requirements list [recorded in
    [24]http://www.w3.org/2008/10/21-wam-minutes.html#action02]

    <trackbot> Created ACTION-274 - Add handling 50 widget update use
    case and requirements to the v2 feature and requirements list [on
    Claudio Venezia - due 2008-10-28].

    rssagent, make log public

Digital Signature Joint meeting with XML Sec WG

    AB:
    [25]http://www.w3.org/2008/webapps/wiki/WidgetsMandelieuAgenda#Tuesd
    ay.2C_October_21

      [25] http://www.w3.org/2008/webapps/wiki/ 
WidgetsMandelieuAgenda#Tuesday.2C_October_21

    <drogersuk> AB: We would like to discuss the questions that we sent
    over

    <drogersuk> We also have some additional questions and Marcos would
    like to show you the draft document

    <scribe> ScribeNick: Drogersuk

    MP outlined the questions

    <ArtB> Scribe+ David

    MP: Within Vodafone and the OMTP BONDI initiative, we have looked at
    the digital signatures
    ... The NIST recommendation is that SHA-1 should be phased out
    ... This is being recommended in BONDI at the moment
    ... Do you foresee that SHA-256 will be supported?

    XML Dig-Sig: Yes, that is correct

    BrianLaMacchia: Many companies have already banned SHA-1 usage
    ... moving to SHA-256 is the right thing to do. You should be
    prepared to roll that to a new hash function if SHA-256 breaks
    ... you need to stop people generating new signatures and reference
    hashes with SHA-1

    MP: This is completely in-line with our plans. We recognise the need
    to support SHA-1 for past / still-valid certificates
    ... We would like to strongly recommend the usage of SHA-256
    ... How in XML DigSig do you deal with supporting new hash
    algorithms?
    ... We would like to mandate support for DSA

    BLM: You don't want to do DSA
    ... 1024 bits is too short
    ... for DSA....RSA at 1024 is too short
    ... use EC and RSA
    ... obvious choice is EC-DSA

    MP: for key length, we are mandating that the consuming platform
    must support 2048

    BLM: That is good

    MP: You may use 1024 in the short term - we're not disallowing this

    BLM: What is the lifetime of that?

    PB: It depends on the policy of the author of the widget

    BLM: It depends on your security level and how long you want to
    protect the information for
    ... RSA 1024 is what you're going to have the least interoperability
    issues with
    ... is it performance that is driving the requirement?

    MP: Yes, it is the verify time that some companies have this opinion
    on
    ... Some countries want weaker cryptography for signatures

    TLR: This sounds like an alarming requirement

    MP: I'm only expressing the feedback that we've received
    ... There are some requests to be able to choose 1024

    TLR: What I'm hearing is that you are arguing for 1024

    MP: We strongly recommend 2048, but there is still a requirement for
    1024 from some other companies

    PD: The argument is probably using it in the interim period

    MP: We're broadly aligned with you - but should we support 1024?

    BLM: It is the lifetime question
    ... it should expire within a year
    ... because of the associated risk
    ... you should highlight this in your documents

    MP: Yes that is ok we can do that
    ... OK, so we will come up with a proposal for lifetime on 1024

    BLM: Certificates. We don't see references to timestamping or expiry
    and the certificate chain falling apart
    ... what behaviour do you expect?
    ... widgets would need to be re-signed
    ... If I publish a widget and a year later it expires..

    MP: We only do the check at installation time
    ... at the moment, we only 'revoke' at installation time, we don't
    remove them from existing devices
    ... that isn't a full revocation model in the classic sense
    ... it depends on your signing model, but in W3C and BONDI we're
    silent on how you try and establish trust..
    ... but from Vodafone's point of view we will revoke the certificate
    - this is one implementation model

    FJH: We're talking about traditional lifecycle / PKI things - it
    sounds like you need a model for this
    ... we could talk a long time about how to figure this out..

    <ArtB> ACTION: Mark what is our lifecycle, revocation model?
    [recorded in
    [26]http://www.w3.org/2008/10/21-wam-minutes.html#action03]

    <trackbot> Created ACTION-275 - What is our lifecycle, revocation
    model? [on Mark Priestley - due 2008-10-28].

    BLM: We went through this 10 years ago with authenticode

    MP: A related question - is there any thoughts of adding timestamps
    to the digital signatures specification?

    BLM: There were IPR issues and issues in IETF

    <fjh> XAdES ,
    [27]http://webapp.etsi.org/workprogram/Report_WorkItem.asp?WKI_ID=21
    353

      [27] http://webapp.etsi.org/workprogram/Report_WorkItem.asp? 
WKI_ID=21353

    MP: OK, so we'll follow-up offline on this. There are differing
    opinions, which is why we're being silent on the exact model

    BLM: There could be issues with recovering a bad widget if it gets
    out there and you need to think about that

    <tlr> We expect to do the algorithm changes, minor clean-ups,
    low-hanging simplifications in XML Signature 1.1. No change of
    namespace. No clear time plan quite yet.

    MP: Multiple signatures. We want to add multiple parallel signatures
    signed by different end-entities in a widget package. I wondered
    whether there was any prior art for this that we should look at?

    <tlr> Algorithm identifiers for SHA 256 and RSA-SHA256 are in
    Encryption and RFC 4051, respectively.

    MP: We want to have separate files with signatures in

    BLM: You would end up with more characters because you can't share
    references with the different blocks
    ... I can understand why you would want to do that with different
    parties signing

    MC explained the requirements document

    MC: We need to talk to you about the certificate chains part
    ... we probably need some guidance on the inclusion of revocation

    MC showed an example

    Point 8 in the document was discussed

    BLM: Let us discuss this offline

    MC: We would not like to have to decompress the whole package to
    verify the signature
    ... do we need to contain a transform element in there to indicate
    that you need to deflate this in order to verify?

    BLM: Signatures are in the zip?
    ... The URIs in the references point to what?

    MC: They point to file entries

    BLM: This could be ok. For efficiency purposes, that is
    implementation. The URI you reference will be to the raw
    uncompressed data
    ... you wouldn't have a transform because as far as it is concerned
    it is uncompressed data

    <klanz2> Do URIs allow to reference inse a zip file ... ? Java has
    soemthing in the format jar:<url>!/[<entry>]

    MC: OK, so we won't use the transform

    There was a brief discussion on URI schemes

    <klanz2> [28]http://tools.ietf.org/html/rfc3986#section-5.1.2 ...

      [28] http://tools.ietf.org/html/rfc3986#section-5.1.2

    TLR: You need to identify in the signature properties element the
    profile and the timestamp.

    MC showed an example

    MP: On top of specifying XML DigSig, why do need to specify the
    profile here

    TLR: You have a processing model in mind...
    ... it may or may not go beyond the model from XML DigSig
    ... It is a way to prevent signatures not designed for this purpose
    being used

    <klanz2> wondering if it is good to invent new processing models
    over and over again when there is a "web architecture"

    BLM: You could put a separate EKU in the cert. Using a code-signing
    purpose cert, there are platforms out there that use code signing
    certs already and would do something useful with it
    ... you could have problems with your CAs

    MC: We are quite reluctant to put this in because COTS tools would
    have problems

    BLM: You can use the object element in XML DigSig

    MC: Do we need that in our own namespace?

    <klanz2> Look into XAdES for SignatureTimestamp

    MC: Do we need the timestamp as mandatory

    BLM: It depends on what you want the behaviour to be

    <klanz2> [29]http://en.wikipedia.org/wiki/XAdES

      [29] http://en.wikipedia.org/wiki/XAdES

    TLR: signature properties element can be used to put this into

    <fjh>
    [30]http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/#sec-Signatu
    reProperties

      [30] http://www.w3.org/TR/2008/REC-xmldsig-core-20080610/#sec- 
SignatureProperties

    MP: We will discuss the model offline if we need to define
    processing for a timestamp

    MC: Can we derive it some other way?

    MP: No, this is the way you would do it

    MC: Certificate chains. For signatures we just include multiple X509
    data blocks?

    BLM: Yes, you want one X509 data and multiple X509 certificates

    <fjh> wss timestamp uility namespace, see appendix C in
    [31]http://www.oasis-open.org/committees/download.php/16790/wss-v1.1
    -spec-os-SOAPMessageSecurity.pdf

      [31] http://www.oasis-open.org/committees/download.php/16790/ 
wss-v1.1-spec-os-SOAPMessageSecurity.pdf

    MP: What are your plans for the new version of digital signature -
    at the moment you provide the ability to include CRLs, are you
    planning to include OCSP?

    BLM: Yes we are.

    <fjh> also XAdES

    BLM: You may even prefer this in your model

    MP: Yes mobile operators are more likely to prefer this
    ... it is still to be defined exactly how we will
    ... We are seeing the need to scale up our OCSP servers and CRL
    servers
    ... this will grow. We would like to do some more intelligent
    packaging of that information.

    MC: OK, so the final part for multiple signatures, we're planning to
    enumerate the signature xmls
    ... First come, first served etc.

    MP: We'd like to see them processed in order
    ... We're not having counter-signatures

    MP explained that in an ideal mobile world, different operators
    would sign widgets. If a developer decided to, for example sign for
    all operators in the UK

    MP: When the widget arrives at the consuming device - you could go
    through and look for a certificate that matches the root authority
    on your device
    ... You could do it by filename, but that could be manipulated
    ... we want to be as silent as we can on the actual model, we don't
    want to mandate the model that is used

    PD: You want to optimise your common deployment scenario
    ... It makes sense to offer a best practice note on efficiency

    MP: We could strip out the other signatures, or make sure that the
    Vodafone signature was processed first

    BS: If I forwarded it on to my friend by Bluetooth who wasn't on
    Vodafone, it wouldn't work if the signatures had been stripped

    PB: There is no way of checking ahead of time which of those
    certificates gives you the greater number of rights under the
    security policy
    ... but in general if we can find a way of avoiding processing
    multiple digital signatures that would be a good thing

    MP: It comes down to not knowing the policy of the consuming device

    Policy and trust domains were discussed

    There were concerns raised about performance impact of processing
    lots of signatures

    MC: The last issue is procedure for verifying and providing feedback
    to the widget engine

    MP: If you process multiple signatures and one has been revoked and
    another hasn't, in a lot of cases you have to leave it to the policy
    on the device
    ... however you can do some things here, if you get something back

    BLM: You can get information saying it failed
    ... More interesting is if you get a reason code saying that it was
    revoked
    ... You could revoke for many reasons
    ... the problem is - is there any cross-link when you have multiple
    digital signatures?

    MP: We have been through this and we have a matrix of values
    ... So i the 'No' part there are reason codes too?

    BLM: Yes there can be
    ... You may get more or less information back depending on the
    implementation

    MP: Perhaps we should insert the table and get your feedback on it

    BLM: I'm not sure you can do much with this
    ... You haven't even assumed that you have a chain validation policy
    ... because you are leaving this to the implementation

    PB: It is possible for a widget to be completely unsigned
    ... in the failure cases, there are cases where you may want to
    treat the widget as unsigned
    ... so you have fallbacks or rejections
    ... For example, in Java, if a midlet package is signed, but no root
    is available, you have to reject
    ... it is a problem in practice, because it means that authors feel
    that it is better to be unsigned

    BLM: A disincentive for signing...

    PB: Exactly, this is what we want to avoid with this

    BLM: What are you doing with the signed v unsigned information?

    MP: A signed widget will be allocated to a different trust domain
    ... They will be used to get access to different APIs, there is a
    big security issue with giving unsigned widgets unfettered access to
    these sensitive APIs

    TLR: Unsigned widgets get access to a limited set of functionality

    AB: Ok, let us wrap up then. Thankyou very much Frederick.

Widget Permissions, Access, etc.

    <ArtB> MP: with BONDI we've been thinking about the features element

    <ArtB> ... and whether it fullfills all of our reqs

    <ArtB> ... Not clear it is flexibile enough

    <ArtB> ... Some issues could be overcome with a separate permissions
    element

    <ArtB> AB: where are the requirements that aren't being met?

    <mpriestl> Issue 1 - Principle of least privilege Example messaging
    API widget.vodafone.messaging.{sms,mms,email}.send()
    widget.vodafone.messaging.{sms,mms,email}.{inbox,outbox,drafts}.{del
    ete(),readContents(),moveTo()}
    widget.vodafone.messaging.{sms,mms,email}.{watchIncoming(),watchOutg
    oing()} Requirement 1 It should be possible for the author to limit
    the widget to use the exact functionality that it requires. At the
    same time this should be done in a way that if

    <ArtB> MP: how to state some features but not all of the features

    <ArtB> ... A question here about granularity

    <ArtB> ... e.g. a Widget needs to only API or perhaps several APIs

    <marcos> [32]http://example.org/feature/feature/freature OR
    http:/example.org/api?allow=this,this,this&deny=that,that,that

      [32] http://example.org/feature/feature/freature

    <ArtB> MP: also need to consider composite widgets

    <ArtB> ... eg. a Widget that needs to access Camera and other device
    services

    <marcos>
    [33]http://camera.api.org/gps/changename/contacts/add/delete/album/

      [33] http://camera.api.org/gps/changename/contacts/add/delete/ 
album/

    <ArtB> ... A Camera widget may need for example to create a folder

    <marcos> <feature id="http//camera.example.org"/>

    <ArtB> ... It may need to access Location info

    <ArtB> ... It may need to access file system

    <marcos> <feature id="http//camera.example.org"> <permission
    name="gps" value="allow"/> </feature>

    <ArtB> ABe: not sure I agree with this use case

    <ArtB> ... shouldn't combine a bunch of different functions into a
    single API

    <ArtB> MP: but why not?

    <ArtB> ABe: I think it is a bad design

    <ArtB> MP: what about a camera API that allows geo-locating the
    image

    <ArtB> MC: this seems to be about how to specify APIs beyond what is
    being spec'ed by BONDI

    <ArtB> NA: I think an objective behind Mark's proposal is to provide
    a robust sec model that works for poorly designed APIs

    <ArtB> PB: we realize BONDI is not the only place where these types
    of APIs will be defined

    <ArtB> ... It is certainly possible to have a 1:1 relationship
    between a single API and an explicity permission

    <ArtB> [ Marcos enters an example in a temporary text buffer ... ]

    <marcos> current option

    <marcos> <feature id="http//camera.example.org?gps=allow"/>

    <marcos> <feature id="http//camera.example.org">

    <marcos> <permission name="gps" value="allow"/>

    <marcos> <permission name="sound" value="disallow"/>

    <marcos> </feature>

    <marcos> and kinda proposed option

    <ArtB> ABe: the main problem I have with this proposal is that for
    each feature, must write a domain-specific language for that feature

    <arve> <feature id="[URL FOR GEOLOCATION]"><param name="precision"
    "0.1m" /></feature

    <arve> >

    <ArtB> BS: what is your interpretation for the permission element?

    <ArtB> MP: used by author and the widget engine

    <ArtB> ... could also be used to infer info to display to the user

    <ArtB> ... One question is whether this mapping is done explicitly
    via the config file or an internal detail

    <ArtB> ABe: we assume the device will apply policies depending on
    the origin of the widget

    <ArtB> ... and hence gives a trust model

    <ArtB> ... With the exception of network (which is well defined), I
    don't think we should add domain-specific paramaters

    <ArtB> ... If we go this route, the language needs to be rich enough
    to describe every conceivable API

    <ArtB> ... This is going to lead to fragmentation issues. For
    example with the location API above, what happens if there are 0.2m,
    0.3m, granularity, etc.

    <ArtB> BS: I'm wondering what we need to do for v1.0

    <ArtB> MP: we think the current model isn't granular enough

    <ArtB> CV: I think the above syntax is agnostic regarding semantics

    <ArtB> ... The author and policy can decide the level of detail

    <ArtB> ... I think just allow and not-allow isn't good enough; need
    some additional richness

    <ArtB> ABe: but this requires a generic syntax for codifying
    arbitrary constraints

    <ArtB> CV: we need a generic way to define additional constraints
    for the API

    <ArtB> AB: I agree with some of the concerns Arve is raising

    <ArtB> ... not clear for example how rich the language of the value
    would need to be e.g. regular expressions, booleans, etc.

    <arve> FWIW, I think we are basically discussing python's 'import'
    statement here

    <arve> from antigravity import *

    <ArtB> MC: could also use a level of indirection here e.g. put the
    permissions in a separate document

    <ArtB> PB: a requirement is the need to parameterize the features

    <ArtB> ... Arve's correct, each API will have different parameters

    <ArtB> MC: this really about providing a standardized way to encode
    proprietary parameters

    <ArtB> ... I also think this goes against the spirit of the OAA's
    API style guide

    <ArtB> CV: could define an ontology for the various features and
    their parameters

    <ArtB> MC: to me this implies writing a "proprietary widget"

    <ArtB> MC: I don't think the proposal is supported by W3C's
    Geolocation API

    <ArtB> AB: It's clear we don't have consensus on this issue.

    <ArtB> AB: Mark, I propose you create a short set of requirements
    and a proposal to address those requirements and send it to the
    public-webapps mail list

    <ArtB> ... Is that OK?

    <ArtB> MP: yes

    <ArtB> ACTION: Mark submit a short set of requirements re extended
    permissions and parameters and a proposal to address those
    requirements (to public-webapps) [recorded in
    [34]http://www.w3.org/2008/10/21-wam-minutes.html#action04]

    <trackbot> Created ACTION-276 - Submit a short set of requirements
    re extended permissions and parameters and a proposal to address
    those requirements (to public-webapps) [on Mark Priestley - due
    2008-10-28].

    <tlr> I suggest bringing this up at the security workshop in
    December.

    <tlr> [35]http://www.w3.org/2008/security-ws/

      [35] http://www.w3.org/2008/security-ws/

Widget Testing

    <ArtB> AB: agenda
    [36]http://www.w3.org/2008/webapps/wiki/WidgetsMandelieuAgenda#Tuesd
    ay.2C_October_21

      [36] http://www.w3.org/2008/webapps/wiki/ 
WidgetsMandelieuAgenda#Tuesday.2C_October_21

    <ArtB> Scribe+ Paddy

    <dom> ScribeNick: paddy

    MC: Dom had a chance to do a first overview of the spec and test
    issues
    ... initial thought is ok
    ... some first thoughts send out

    <dom> [37]Dom's initial comments on Widgets packaging and
    configuration

      [37] http://lists.w3.org/Archives/Public/public-webapps/ 
2008JulSep/0664.html

    MC showing Packaging and OCnfiguration spec

    MC: we're looking for advice on how to do this
    ... eg what is a test harness?
    ... for example can we identify each testable assertion in the spec
    and build test cases?
    ... given the cases in an XML file can we make each test
    individually addressable and automatable?
    ... Another spec we looked at wrt testing was from Hixie
    ... outlined how it was done for CSS
    ... defined different levels of testing: atomic, assertion-level,
    evil, edge cases etc
    ... that's all we know about testing
    ... if you have experience/advice that would be great
    ... our spec isn't that big and we've split the doc into two:
    ... first half mainly definitions
    ... second half is the testable part
    ... html5 followed a systematic approach
    ... so we tried to structure the doc to facilitate this
    ... eg steps for processing widget resource might be individually
    testable

    Dom: I think a good way to start is to identify each conformance
    statemennt
    ... try to construct a simple test case for some of them
    ... this will not be a very interesting set
    ... except it will be a starting point
    ... will give some pointers as to where interoperability fails
    ... a good strategy is to find the points where interoperability is
    hardest

    MC: unfortunately there are no implementations today
    ... so there is massive fragmentation

    Dom: I guess them I would start during last call with a simple set
    of test cases
    ... leave most difficult tests to CR when it is more stable and
    there are more implementations
    ... leave evil tests to later

    MC: If we will be doing it that way, we might just start creating
    test cases by hand
    ... rather than automate the process

    Dom: one thing that helps is formluating the conformance
    requirements
    ... eg what things would be the subject of conformance?

    MC: There are 3 things:
    ... wodget package
    ... widget configuration document
    ... widget runtime
    ... conformance checker

    (4 things)

    Dom: would initial focus be on the engine?
    ... so focus on these conformance statement?

    MC: eg testing validity of zip archive
    ... we could construct an invalid archive
    ... and test that an engine rejected it

    Carmelo: 2 observations:
    ... mentioned about creating tests by hand:
    ... usually very time consuming
    ... xml driven approach is a good idea

    MC: I don't think we have expertise in XSLT in this group

    Dom: we could help with that

    Carmelo: ... would it be possible to markup tests directly in the
    spec?

    MC: we already have some markup (eg css class)

    Dom: you could do some XSLT to extract them

    JK: At Nokia been creating an internal document toolchain
    ... where testable requirements can be identified by markup
    ... could maybe make this available

    MC: we can easily add the markup

    Carmelo: have a paper on this I will send

    <ArtB> ACTION: Barstow ask Carmelo for the URI of his testing paper
    [recorded in
    [38]http://www.w3.org/2008/10/21-wam-minutes.html#action05]

    <trackbot> Created ACTION-277 - Ask Carmelo for the URI of his
    testing paper [on Arthur Barstow - due 2008-10-28].

    Dom: once you have the testable assertions you still have to create
    the content corresponding to the test case
    ... I expect this needs to be done by hand

    MC: Yes

    Dom: one way to proceed would be to automate the creation of basic
    test case template only
    ... but start manually creating the content of each test case
    ... explicitly referenced to each testable assertion

    MC: I imagine I will be the one writing the test cases

    KH: I can help

    Carmelo: we have a tool which can take test definitions in XML
    format and generate test cases

    <ArtB> ACTION: Barstow figure out a way (procedurally) for Kai
    Hendry to contribute to the Widgets testing (with Mike Smith)
    [recorded in
    [39]http://www.w3.org/2008/10/21-wam-minutes.html#action06]

    <trackbot> Created ACTION-278 - Figure out a way (procedurally) for
    Kai Hendry to contribute to the Widgets testing (with Mike Smith)
    [on Arthur Barstow - due 2008-10-28].

    Dom: based on formal RelaxNG description of configuration document
    perhaps this can be used to drive automate creation of some test
    cases
    ... also this can be used to validate the examples in the spec
    ... this also validates the schema

    MC: once we are in last call this will be included in validator.nu
    ... if that existed it will be very easy to create non-conforming
    content

    Dom: also might want to export examples from spec to test cases and
    vice versa

    MC: now it's just a matter of gathering the tools

    Dom: initially start highlighting test cases more explicitly as
    blocks
    ... then I can start work on extracting them

    MC: that would be great

    Carmelo: sounds like we would be working together for a while

    AB: to Dom, can you give us an update on the work you're doing?

    Dom: there are a few people working on it

    KH: can be get Wilhelm working on it?

    <ArtB> ACTION: Arve talk to Wilhelm about contributing to the
    Widgets testing effort [recorded in
    [40]http://www.w3.org/2008/10/21-wam-minutes.html#action07]

    <trackbot> Created ACTION-279 - Talk to Wilhelm about contributing
    to the Widgets testing effort [on Arve Bersvendsen - due
    2008-10-28].

    NA: Will take action to determine whether or not there could be any
    shared activity with BONDI

    <ArtB> ACTION: Nick check with BONDI team to see if they can
    contribute to the Widgets testing effort [recorded in
    [41]http://www.w3.org/2008/10/21-wam-minutes.html#action08]

    <trackbot> Created ACTION-280 - Check with BONDI team to see if they
    can contribute to the Widgets testing effort [on Nick Allott - due
    2008-10-28].

    Dom: are you working closely with implementors?
    ... how far advanced are you with implementation?

    MC: no public announcements of implementations at this time

    AB: if there are active implementations, please say so

    Benoit: the way people are talking about it, it sounds like they are
    implementing it

    ABe: Access are claiming conformance

    Dom: I heard Qualcomm claim they are implementing it

    <ArtB> ACTION: Barstow propose a new time for the weekly Widgets
    Voice Conf - 1-3 hours later than now [recorded in
    [42]http://www.w3.org/2008/10/21-wam-minutes.html#action09]

    <trackbot> Created ACTION-281 - Propose a new time for the weekly
    Widgets Voice Conf - 1-3 hours later than now [on Arthur Barstow -
    due 2008-10-28].

    MC: one problem is that I will be away in November
    ... I will be away for 20 days so work will cease
    ... I will try to do as much as I can in the next week
    ... most docs fairly close to last call
    ... would like basic test suite

    Dom: not a good idea to put test suite into critical path
    ... you'll want to get first last call done asap
    ... and there will be other last calls where corrections can be made
    arising from test creationb
    ... someone else can create test cases

    MC: I can try doing the markup
    ... and perhaps Kai can start working on some test cases
    ... specifically looking at the document from a testability point of
    view
    ... that would be great
    ... once the document is in good enoug shape we can start automating
    the creation of test case skeletons

    KH: we'll talk about it

    MC: so while I'm away can you do that? you have a month

    Carmelo: I'll send some testable assertion documents

    AB: I think we have covered the main questions
    ... anyone else got anything they want to add?
    ... or volunteer to do?
    ... thanks to all and appreciate it
    ... if people aren't too tired lets look at the API draft

API and event

    ABe: just checked in latest version:

    <arve> [43]http://dev.w3.org/2006/waf/widgets-api/Overview.src.html

      [43] http://dev.w3.org/2006/waf/widgets-api/Overview.src.html

    ABe: (version is not built)

    AB: we now have an absract

    ABe: Marcos, onBlur/onFocus are out so this issue should be deleted
    ... based on implementation experience we're not sure that this part
    of the spec (onModeChange) is mature enough
    ... to be confident we're specifying something sensible
    ... on the desktop there are 3 modes
    ...1: chromeless
    ... 2: chromeless and full screen
    ... (content has no control over its size)

    Benoit: doesn't the content still need to know the size?

    Abe: that's not the issue
    ... our concern is being able to know what modes make sense
    ... have to understand issues relating to how css size/position
    directives are processed and understood in each mode
    ... before we can realistically say what the modes are

    MP: are there are any requirements specified already for supported
    modes?

    MC: no specific modes specified yet
    ... only the mode attribute

    ABe: there are also conflicting market requirements for the modes
    required, and what each means

    Claudio: are we talking about docked/undocked mode?

    ABe: even here there are multiple options
    ... you could think of docked mode as iconified
    ... where there is a facility to update/animate the icon
    ... the second one is similar except that the contents of the icon
    are based on an html document
    ... the third way is that the docked view is a window opened
    explicitly by the widget
    ... as in Vista

    Claudio: I was looking at it from the user perspective
    ... it makes sense to understand when a widget is undocked and
    visible to the user
    ... and when it is docked it is visible just like a widget
    ... ie iconified
    ... in iconified state the widget is still instantiated

    ABe: is the docked state exclusive to other display states?
    ... what should we define as being docked mode?

    Benoit: we should define all of these modes explicitly because they
    are part of the existing environment
    ... eg active icon in Yahoo!
    ... sidebar is in Vista
    ... floating is supported in all of the desktop models
    ... fullscreen would also be relevant in mobile.

    MC: I propose 3 for version 1:

    ABe: or 4 if you count hidden

    MC: modes in the doc presently:
    ... docked
    ... full-screen
    ... invisible

    ABe: docked isn't really a mode in the same way as the others
    ... when docked it is non-interactive
    ... and it has to be opened to become interactive again

    Benoit: what about supporting the dashboard widget icon bar?
    ... these are icons, non-interactive
    ... but can have animation

    ABe: or could be an image
    ... or an animated html document

    Benoit: it would be good to define at least some terminology in this
    meeting

    MP: I think it is useful to do this
    ... but want to find out if Vodafone as requirements in this area

    Claudio: could we at least define the modes/states based on use
    cases?

    Benoit: would be interested in capability to temporarily expand an
    instantiated widget from the docked state
    ... interact with it
    ... and then re-dock it, keeping the widget running

    MC: I think we will run into problems with this

    Benoit: use case on mobile would be an SMS widget

    MC: can we do it with multiple content elements, each associated
    with a different mode?
    ... corresponding document only exists for the time the widget is in
    a given mode
    ... only persistent state carries forward from one mode to the next
    ... would the html5 persistence model be good enough for this?

    ABe: storage is defined in terms of a local storage attribute
    ... only additional thing needed for this specification is already
    in the document
    ... not a change, but the requirement that different widget
    instances are defined as having separate origins

    PB: would multiple instances have the same origin?

    ABe: no
    ... otherwise you could not have different instances with different
    settings
    ... eg multiple clock instances, one for each timezone

    AB: I have a hard stop in 15 minutes
    ... how do we wrap this up?

    ABe: I propose going forward by moving this document from editors
    draft and publish it with this as a known issue

    MC: I think we at least need to specify two modes
    ... eg floating and fullscreen
    ... to provide a starting point to publish the spec

    AB: I think that would be good enough to publish

    ABe: This is related to the icon interface issue
    ... I propose that we rewrite this so that APIs for getting/setting
    view states and icons are omitted

    Benoit: there should be a comment about what we have in mind

    AB: Arve has made a proposal for what we do right now

    Claudio: how is it done in Opera?

    ABe: we support css media queries
    ... so you can do an opera-proprietary media query with a widget
    mode
    ... we need to know what a viewState is

    AB: where do we stand: Do we have a proposal?

    MC: If Vodafone has a proposal it would ne interesting to see
    ... if BONDI has a proposal it would be interesting
    ... we should also look again what what is in the landscape document
    ... we need to limit the supported viewStates to the minimum
    ... packaging should be independent of this
    ... so we have to separate things so that this issue doesn't hold up
    the packaging spec

    AB: we could continue to spend more time on this
    ... but I think we should move on

V2 list

    <claudio> [44]http://www.w3.org/2008/webapps/wiki/Widgets2_UC%26R

      [44] http://www.w3.org/2008/webapps/wiki/Widgets2_UC%26R

    <arve> relevant link on Opera widget modes:
    [45]http://dev.opera.com/articles/view/widget-modes-docked-widget-an
    d-more/

      [45] http://dev.opera.com/articles/view/widget-modes-docked- 
widget-and-more/

    Claudio: there is a list of features that might be interesting in v2
    ... different items at different levels of granularity
    ... we can't go now into detail
    ... invitation to all is to refer to the wiki page and check it and
    make sure that if there is something you want then it is added to
    the list
    ... then we will see what makes sense to address in v2

    AB: I don't have anything much to add
    ... (to all) if you add anything to the list please make sure there
    is sufficient detail to make it comprehensible
    ... also please clarify whether the scenarios already listed are
    just examples or real proposals

    Claudio: the important thing is to get people to identify shortfalls
    and work constructively towards resolving them in v2
    ... rather than just using them to criticise v1

    AB: this is a great start
    ... anyone in the WG can have write access to this
    ... but pls check with Claudio first

Benoit slides

    Benoit: introduction
    ... these are just internal slides I prepared
    ... but I wanted to share them with the group
    ... if the group feels they can usefully be reused we can
    rebrand/reformat them
    ... 2 elements I wanted to present
    ... 1 is standardisation process
    ... 2 is about WG activity specifically
    ... as we don't have time now we won't go into the details
    ... tried to capture who is active in this WG
    ... outline widget definition, and WG deliverables and relationship
    ... outline current status and roadmap

    AB: do we want to go ahead and put some of this information on the
    wiki?
    ... I would characterise it has having 4 pieces of information:
    ... a) w3c process
    ... b) widget intro .. put in widgets page in wiki

    <ArtB> AB: status is
    [46]http://www.w3.org/2008/webapps/wiki/PubStatus

      [46] http://www.w3.org/2008/webapps/wiki/PubStatus

    AB: c) status
    ... d) roadmap .. not opposed to publishing it but don't want to be
    held to it

    MP: Vodafone would appreciate having this document for internal Q&A

    AB: a bit concerned about publishing the roadmap information

    Benoit: in order to provide a complete overview I need a complete
    set of slides

    AB: so upload the entire document to the wiki?

    Benoit: yes
    ... I think a slideset is a useful format

    AB: so how do we maintain it?

    Benoit: don't know, that's the question
    ... for example can we just update the status by hand at the end of
    each weekly meeting?

    AB: what do others think?

    PB: I think it is useful if non-branded but cautious about roadmap
    information

    MC: what if just the roadmap is maintained on the wiki, but
    everything else is in the powerpoint?
    ... then the roadmap information can be copied in when needed or
    updated

    Benoit: is anyone opposed to having their logos in the presentation?

    AB: maybe remove Nokia if there's an implied commitment to meet the
    roadmap
    ... need to wrap up
    ... we don't have consensus yet
    ... continue discussion on mail list

F2F meeting

    AB: Benoit agreed to host us in Paris

    Benoit: regluar meeting logistics are easy
    ... but coffee breaks might not be catered

    AB: would you be able to accommodate the APIs parallel track as
    well?

    Benoit: it should be OK
    ... based on the numbers we usually get
    ... a single large room for plenary meeting would be harder

    AB: would a 4-day meeting be possible?

    Benoit: yes
    ... (except for coffee)

    AB: need to check with Chaals, Mike, Doug
    ... what about timing?
    ... security workshop is in December
    ... and we need 8 week notice

    Benoit: earliest date for last call on packaging spec is beginning
    of December
    ... so review period goes to end December
    ... so late January night be a good time for the meeting

    DR: there is an OMTP meeting in Jan 26-30th (London)
    ... MWC is 16-19th February (Barcelona)

    Claudio: W3C w'shop (future of social networking) 15-16th January
    (Barcelona)

    AB: we're done

Summary of Action Items

    [NEW] ACTION: Arve talk to Wilhelm about contributing to the Widgets
    testing effort [recorded in
    [47]http://www.w3.org/2008/10/21-wam-minutes.html#action07]
    [NEW] ACTION: Barstow ask Carmelo for the URI of his testing paper
    [recorded in
    [48]http://www.w3.org/2008/10/21-wam-minutes.html#action05]
    [NEW] ACTION: Barstow figure out a way (procedurally) for Kai Hendry
    to contribute to the Widgets testing (with Mike Smith) [recorded in
    [49]http://www.w3.org/2008/10/21-wam-minutes.html#action06]
    [NEW] ACTION: Barstow propose a new time for the weekly Widgets
    Voice Conf - 1-3 hours later than now [recorded in
    [50]http://www.w3.org/2008/10/21-wam-minutes.html#action09]
    [NEW] ACTION: Claudio Add handling 50 widget update use case and
    requirements to the v2 feature and requirements list [recorded in
    [51]http://www.w3.org/2008/10/21-wam-minutes.html#action02]
    [NEW] ACTION: Mark submit a short set of requirements re extended
    permissions and parameters and a proposal to address those
    requirements (to public-webapps) [recorded in
    [52]http://www.w3.org/2008/10/21-wam-minutes.html#action04]
    [NEW] ACTION: Mark what is our lifecycle, revocation model?
    [recorded in
    [53]http://www.w3.org/2008/10/21-wam-minutes.html#action03]
    [NEW] ACTION: Nick check with BONDI team to see if they can
    contribute to the Widgets testing effort [recorded in
    [54]http://www.w3.org/2008/10/21-wam-minutes.html#action08]
    [NEW] ACTION: thomas do you object to the removal of the
    WidgetSignatureInfo element? [recorded in
    [55]http://www.w3.org/2008/10/21-wam-minutes.html#action01]

    [End of minutes]

Received on Tuesday, 21 October 2008 20:42:38 UTC