Re: File API - Progress - Question about Partial Blob data

2013-09-05 Thread Cyril Concolato

Hi all,

Le 29/08/2013 01:25, Aymeric Vitte a écrit :
The Streams API says for now This event handler should mimic the 
|FileReader.onprogress| 
http://dev.w3.org/2006/webapi/FileAPI/#dfn-onprogress event handler


The second proposal is not very explicit for now but there is a read 
resolver.


This discussion seems to be the same as the Overlap between 
StreamReader and FileReader thread.


Now, I don't know what is the plan for the File API V2/Streams API 
(Promises? Schedule?) probably I am missing some details but I don't 
see what's the difficulty to replace the partial Blob as it is today 
by delta data (both for Files and Streams), the API does not have to 
care about non consumed data since the 
reader/parser/whatever_handles_the_data takes care of it (as long as 
delta data passed to the callback are not modified by the read, cf the 
example I gave for the above thread)
I fully agree with Aymeric. Can someone summarizes what's the history 
behind XHR that makes it hard to change (or better give an example that 
would break)?


I would like to see progress on the Stream API (how can I help?) because 
it solves one use case on which I'm working: download and aggregation of 
resources via XHR and in parallel use of the aggregation via a media 
element. This is similar to the MediaSource approach but for simpler 
progressive download cases. This is a bit different from the use cases 
I've seen on this list. The data is not consumed by JavaScript calls but 
by the browser directly. The JS would just use a series of 
StreamBuilder.append calls.


Cyril



Regards,

Aymeric


Le 27/08/2013 01:37, Kenneth Russell a écrit :

On Fri, Aug 23, 2013 at 8:35 AM, Arun Ranganathana...@mozilla.com  wrote:

On Aug 22, 2013, at 12:07 PM, Jonas Sicking wrote:


I think you might have misunderstood my initial comment.

I agree that the current partial data solution is not good. I think we
should remove it.


I'd really like other implementors to weigh in before we remove Partial Blob 
Data.  Cc'ing folks who helped with it.

Eric Urhane asked me to follow up on this thread on behalf of Gregg
Tavares who unfortunately left Google.

The current spec for partial blob data is too inefficient, because it
accumulates all of the data since the beginning of the download. This
is not what's desired for streaming downloads of large data sets.
What's needed is a way to retrieve the data downloaded since the last
query. Several web developers have asked about this recently as
they're trying to stream ever larger 3D data sets into the browser.



I think we should instead create a better solution in v2 of the API
which is based on something other than FileReader and which has the
ability to deliver data on the form of here's the data that was
loaded since last notification.

I agree that we should do a better way.

Agreed. It would be really good to finally make progress in this area.

It sounds like Microsoft's Streams API proposal at
https://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm  or
tyoshino's Streams with Promises propsal at
http://htmlpreview.github.io/?https://github.com/tyoshino/stream/blob/master/streams.html
are two leading contenders. I personally don't care which flavor is
chosen so long as things move forward. Microsoft's proposal does seem
more fully fleshed out. (At least, it contains fewer instances of the
word blah. :) )

-Ken


--
jCore
Email :avi...@jcore.fr
Peersm :http://www.peersm.com
iAnonym :http://www.ianonym.com
node-Tor :https://www.github.com/Ayms/node-Tor
GitHub :https://www.github.com/Ayms
Web :www.jcore.fr
Extract Widget Mobile :www.extractwidget.com
BlimpMe! :www.blimpme.com



--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.mines-telecom.fr/




Re: Streams and Blobs

2013-02-27 Thread Cyril Concolato

Hi Anne,

Le 26/02/2013 17:34, Anne van Kesteren a écrit :

On Tue, Feb 26, 2013 at 3:01 PM, Cyril Concolato
cyril.concol...@telecom-paristech.fr wrote:

Hi Anne,

Did you mean to reply just to me?

No, adding the list.




  * moz-blob

Is this the same as blob specified in the XHR2 draft [1]?

No, it's available during LOADING.

Ok.




Is moz-chunked-arraybuffer supposed to be the same as arraybuffer of the
draft?

No. The draft only exposes on load, which is what browsers are
supposed to implement...

I was confused when reading only:
Thearraybuffer response entity bodyis an|ArrayBuffer 
http://www.khronos.org/registry/typedarray/specs/latest/#ARRAYBUFFER|representing 
theresponse entity body 
https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#response-entity-body.

and then:
Theresponse entity bodyis the fragment of theentity body 
http://tools.ietf.org/html/rfc2616/#section-7.2of the response 
received so far (LOADING 
https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-loading) 
or the completeentity body 
http://tools.ietf.org/html/rfc2616/#section-7.2of the response (DONE 
https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#dom-xmlhttprequest-done).
It is true that step 1 in the otherwise statement in 4.7.8 (if the 
state is not DONE, return) is clear. It would probably be better if the 
text was only in one place.




By chunked do you mean that a given ArrayBuffer does not contain any data
overlapping with the previous or following ArrayBuffer (if any) as opposed
to blob which gives you the concatenation of the previous Blob and the new
data, right?

That is chunked yes. What you call blob is what I call incremental
and does not exist in the draft.



Also, do you intend to have one ArrayBuffer per chunk received in HTTP1.1,
or will the two notions be independent (1 ArrayBuffer possibly gathering
data from 2 or less than 1 HTTP chunk)?

It will depend on when you last get .response. At least that is how
chunked works as I understand it.



It may be the same use case, I'm not sure what you mean by transferred vs.
read. One use case is to have XHR as a source of data for MediaSource. In
this case, you want to have independent non-concatenated buffers and pass
them to the MediaSource object.

Yeah, I think that is the give me the last buffer case without any
storing like chunked does.



Ok, I think I agree with you. In summary, we'd have:
blob: .response = full data as a Blob, on DONE, null otherwise.
arraybuffer: .response = full data, on DONE, null otherwise.
moz-blob: .response = a different blob object containing partial data 
(not overlapping with previous/next blobs), on LOADING and DONE, null 
otherwise.
moz-chunked-arraybuffer: .response = a different arraybuffer object 
containing partial data (non-overlapping), on LOADING and DONE, null 
otherwise.
moz-chunked-text: .responseText = a different string object containing 
partial data (non-overlapping), on LOADING and DONE, null otherwise.

Is that correct?

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.mines-telecom.fr/



Re: CfC: publish FPWD of Streams API; deadline February 2

2013-01-28 Thread Cyril Concolato

Hi all,

Le 27/01/2013 03:23, Arthur Barstow a écrit :
Feras would like to publish a First Public Working Draft (FPWD) of 
Streams API and this is a Call for Consensus (CfC) to do so, using 
the following ED as the basis:


 https://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm

This CfC satisfies the group's requirement to record the group's 
decision to request advancement.


By publishing this FPWD, the group sends a signal to the community to 
begin reviewing the document. The FPWD reflects where the group is on 
this spec at the time of publication; it does _not_ necessarily mean 
there is consensus on the spec's contents.


If you have any comments or concerns about this CfC, please reply to 
this e-mail by February 2 at the latest. Positive response is 
preferred and encouraged, and silence will be considered as agreement 
with the proposal.


Feras - with Chrome(24) it appears the ED is not loading a W3C 
stylesheet (looks much better with FF 19.0). Perhaps this is related 
to the hg http/https mentioned yesterday in [1].

Institut Telecom approves the publication as a FPWD.

Regards,
Cyril



-Thanks, AB



[1] 
http://lists.w3.org/Archives/Public/public-webapps/2013JanMar/0149.html







--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.mines-telecom.fr/




Re: [File API] About Partial Blob Data, XHR and Streams API

2013-01-22 Thread Cyril Concolato

Hi Arun,

Le 22/01/2013 15:04, Arun Ranganathan a écrit :

Hi Cyril,


1) I'm wondering why in progressive mode, does the spec say: 
||partial Blob data is an |ArrayBuffer|[TypedArrays 
http://dev.w3.org/2006/webapi/FileAPI/#TypedArrays] object 
consisting of the bytes|loaded|so far. Why isn't it the bytes loaded 
since the previous progress event?


AR: It is always a new ArrayBuffer.  The phraseology so far could be 
replaced by bytes loaded since the previous progress event though 
I'm not always sure that will be the case.
I understood from Jonas' answer that it was a new ArrayBuffer. What 
remained unclear was the content of the ArrayBuffer: all the data from 
the beginning of the read operation (which was problematic), or only the 
data read since the previous progress event (which I prefer). If, as you 
say, this is latter option, then please fix the spec. as so far is 
very ambiguous.




In my use case, the binary data resource might have an infinite
size, in which case the result objects will grow forever.
I looked at the Streams API [1] to see if there was any difference
for that but I couldn't see any. Reading with the FileReader
interface a Stream (dynamic length) or a Blob (fixed length) seems
to always return the whole content.


AR: Here, do you mean, you never get a progressevent other than load 
and loadend in your tests?

No, I meant that the Streams API uses the same approach as the File API:
This method should mimic|FileReader.readAsArrayBuffer()| 
http://dev.w3.org/2006/webapi/FileAPI/#readAsArrayBufferSyncSection
So, I understood reading so far that you would get the content of the 
stream read so far from the beginning at each time, which is practically 
unusable. If the FileAPI spec is fixed, the Streams API is fixed as well.


Certainly, if you had binary data of infinite size, you'll get  
several result objects.  The file API, particularly FileReader, 
shouldn't be used in streaming scenarios.
I disagree. The File API combined with XHR should be fine for reading 
(large) files for which the size is known when making the request but 
still delivered using HTTP streaming approaches. The Streams API and XHR 
should be fine for the same thing but for (infinite) files for which you 
don't know the size (chunked transfer to simulate IceCast/ShoutCast). A 
possible problem is when the apps want to receive the exact chunks 
created by the server (point 2 in my previous email) which the 
FileReader API doesn't preserve.


Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.mines-telecom.fr/



Re: [File API] About Partial Blob Data, XHR and Streams API

2013-01-18 Thread Cyril Concolato

Hi Jonas,

Le 1/18/2013 11:14 AM, Jonas Sicking a écrit :

On Thu, Jan 17, 2013 at 1:56 AM, Cyril Concolato
cyril.concol...@telecom-paristech.fr wrote:

Hi all,

Reading the File API, it is not clear to me what the behavior is when
reading partial Blob data. The spec says:
 Partial Blob data is the part of the File or Blob that has been read into
memory currently;
when processing the read method readAsText, partial Blob data is a DOMString
that is incremented as more bytes are loaded (a portion of the total)
[ProgressEvents],
and when processing readAsArrayBuffer partial Blob data is an ArrayBuffer
[TypedArrays] object consisting of the bytes loaded so far (a portion of the
total)[ProgressEvents]. 

Does this mean that the result object is the same or it is a new object each
time there is a progress event ? In the case of a DOMString, it could be the
same object incremented but if it is an ArrayBuffer, since it is immutable,
it cannot be incremented.

Strings in JS are immutable. So it will always be a new string.


So in the case the final length of the Blob is not
known yet (e.g. chunked XHR), result has to be a new object each time. Am I
wrong here? If not, could you clarify the spec ?

The size of a Blob is always known. The .size property never returns
'undefined' or 'null' or anything like that. XHR never returns a Blob
object until it knows what size of Blob object to create.
Thanks for the clarification. So if I understand correctly, the result 
attribute of a FileReader object at each progress event is a different 
object. Is that right?
I also have a few more questions about the use of XHR and FileReader. 
The use case I'm working on is the HTTP Streaming of a live binary data 
(typically video and audio but not only) using chunked XHR.


1) I'm wondering why in progressive mode, does the spec say: ||partial 
Blob data is an |ArrayBuffer|[TypedArrays 
http://dev.w3.org/2006/webapi/FileAPI/#TypedArrays] object consisting 
of the bytes|loaded|so far. Why isn't it the bytes loaded since the 
previous progress event?
In my use case, the binary data resource might have an infinite size, in 
which case the result objects will grow forever.
I looked at the Streams API [1] to see if there was any difference for 
that but I couldn't see any. Reading with the FileReader interface a 
Stream (dynamic length) or a Blob (fixed length) seems to always return 
the whole content.
I also looked at the WHATWG XHR spec [2] and its use of responseType 
stream and in this case, it seems that the response attribute is a 
Stream object containing the fragment of theentity body 
http://tools.ietf.org/html/rfc2616/#section-7.2of the response 
received so far. So this is not useful either.


2) I'm wondering also why wasn't the design made to enable accessing the 
content of each HTTP chunk directly within the XHR object. In a video 
streaming use case, the server might have carefully created the (video) 
chunks so that an application can use them independently without parsing 
them (typically passing them to the decoder through the MediaSource 
Extension API [3]). With the FileReader approach, the application will 
have to parse each progress event result object to determine meaningful 
chunks for the video decoder.


Regards,
Cyril

[1] 
https://dvcs.w3.org/hg/streams-api/raw-file/tip/Overview.htm#streamreader-interface

[2] http://xhr.spec.whatwg.org/#the-responsetype-attribute
[3] 
https://dvcs.w3.org/hg/html-media/raw-file/tip/media-source/media-source.html 



--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.mines-telecom.fr/



[Streams API] typo

2013-01-17 Thread Cyril Concolato

Hi all,

I noticed a typo in the W3C Editor's Draft 25 October 2012 of Streams 
API (section 2.2):  not allow and future reads should be  not allow 
*any* future reads.


Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.mines-telecom.fr/




[File API] About Partial Blob Data

2013-01-17 Thread Cyril Concolato

Hi all,

Reading the File API, it is not clear to me what the behavior is when 
reading partial Blob data. The spec says:
 Partial Blob data is the part of the |File| 
http://dev.w3.org/2006/webapi/FileAPI/#dfn-file or |Blob| 
http://dev.w3.org/2006/webapi/FileAPI/#dfn-Blob that has been read 
into memory /currently/;
when processing the read method 
http://dev.w3.org/2006/webapi/FileAPI/#read-methods |readAsText| 
http://dev.w3.org/2006/webapi/FileAPI/#dfn-readAsText, partial Blob 
data is a |DOMString| that is incremented as more bytes are |loaded| (a 
portion of the |total|) [ProgressEvents 
http://dev.w3.org/2006/webapi/FileAPI/#ProgressEvents],
and when processing |readAsArrayBuffer| 
http://dev.w3.org/2006/webapi/FileAPI/#dfn-readAsArrayBuffer partial 
Blob data is an |ArrayBuffer| [TypedArrays 
http://dev.w3.org/2006/webapi/FileAPI/#TypedArrays] object consisting 
of the bytes |loaded| so far (a portion of the |total|)[ProgressEvents 
http://dev.w3.org/2006/webapi/FileAPI/#ProgressEvents]. 


Does this mean that the result object is the same or it is a new object 
each time there is a progress event ? In the case of a DOMString, it 
could be the same object incremented but if it is an ArrayBuffer, since 
it is immutable, it cannot be incremented. So in the case the final 
length of the Blob is not known yet (e.g. chunked XHR), result has to be 
a new object each time. Am I wrong here? If not, could you clarify the 
spec ?


Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.mines-telecom.fr/



Re: RfC: LCWD of Progress Events; deadline September 1

2011-09-05 Thread Cyril Concolato

Le 02/09/2011 15:32, Arthur Barstow a écrit :

Cyril - unless we hear otherwise from you, we will assume you are satisfied 
with the way your comments have been addressed:

http://dev.w3.org/2006/webapi/progress/

Anne - assuming Cyril is agreeable with the way his comments were addressed, 
please update the ED to reflect a CR publication (e.g. add CR exit criteria you 
used in rev 1.25) and notify me when you are done so I can start a CfC to 
publish a CR.

I agree.

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.institut-telecom.fr/



Re: RfC: LCWD of Progress Events; deadline September 1

2011-08-16 Thread Cyril Concolato

Le 14/08/2011 14:05, Anne van Kesteren a écrit :

On Wed, 10 Aug 2011 09:36:33 +0200, Cyril Concolato 
cyril.concol...@telecom-paristech.fr wrote:

Le 09/08/2011 19:34, Arthur Barstow a écrit :

On August 9, WebApps published LCWD #2 of the Progress Events spec:

http://www.w3.org/TR/2011/WD-progress-events-20110809/

Section 2.1:
If this is for some reason not possible prefix the extension in some way and start 
the prefix with an uppercase letter. E.g. if company Foo wants to add a private method 
bar() it could be named FooBar() to prevent clashes with a potential future standardized 
bar().
This sentence in hard to read and unclear. Please rephrase/fix it.


Suggestions?

The sentence is so unreadable that it's hard to suggest something. It starts with a general statement but ends with an 
example. I think it should be split in two: general statement with a full sentence (now it seems to end at 
letter ?) and then add the example. Also add to before prefix and start.




Section 4.2:
It should indicate what the requirements for other specifications are to define 
properly the use of these events.


There are no requirements.

When reading that: The editor is encouraged to define it in a way consistent with 
this, it did not seem so.





Section 4.3:
Why aren't the names of events, and the instant and number of times they are 
dispatched, not normatively defined ? This would be beneficial for consistency 
in the web platform, wouldn't it?


Because it very much depends on the context.

Example ?

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.institut-telecom.fr/



Re: [XHR] support for streaming data

2011-08-11 Thread Cyril Concolato

Hi Charles,

Le 10/08/2011 23:19, Charles Pritchard a écrit :

On 8/9/2011 1:00 AM, Cyril Concolato wrote:

Hi Charles,


I believe that GPAC seeks through large SVG files via offsets and small 
buffers, from what I understood at SVG F2F.
http://gpac.wp.institut-telecom.fr/
The technique is similar to what PDF has in it's spec.

I don't know what you're referring to.


PDF 7.5.8.3 Cross-Reference Stream Data
PDF supports byte offsets, links and SMIL.

Thanks for the reference.



I suppose I was referring more to the MP4Box work than GPAC, though they do 
work in harmony.

MP4 has chunk offsets, and GPAC includes SVG discard support.
I believe that MP4Box stores, and GPAC reads fragments of a large SVG file
throughout the MP4 stream, in a limited manner, similar to how a PDF processes 
streams.

They both allow someone to seek and render portions of a large file,
without loading it all into memory.

 From the article:

We have applied the proposed method to fragment SVG content into SVG streams on
long-running animated vector graphics cartoons, resulting from
the transcoding of Flash content... NHML descriptions were generated
automatically by the cartoon or subtitle transcoders.

... the smallest amount of memory [consumed] is the 'Streaming and Progressive 
Rendering'. The
memory consumption peak is reduced by 64%


SVG does not have byte offset hints, but GPAC expects
data to be processed by an authoring tool and otherwise works with transcoding, 
much as VLC (VideoLan) does.

The details of how we can do it is here:
http://biblio.telecom-paristech.fr/cgi-bin/download.cgi?id=7129
Basically, for long running SVG animations (e.g. automatic translation from Flash to 
SVG), it is interesting to load only some SVG parts when they are needed and to 
discard them (using the SVG Tiny 1.2 discard element), when they are no 
longer needed. For that, we use an auxiliary file that indicates how to fragment the 
SVG file into a stream, giving timestamps to each SVG file fragment. That auxiliary 
file is then used to store the SVG fragments as regular access units in MP4 files, we 
use MP4Box for that. The manipulation of those fragments for storage and playback is 
then similar to what you would do for audio/video streams. We don't do transcoding 
for SVG fragments but for instance individual gzip encoding is possible.

I think an interesting use case for XHR would be to be able to request data 
with some synchronization, i.e. with a clock reference and timestamp for each 
response data.

Some part of that could be handled via custom HTTP headers; though it's 
certainly a bit of extra-work,
much as implementing seek over http can be work.

Custom HTTP headers or other HTTP Streaming solutions (e.g. MPEG DASH). That's 
the benefit of storing the SVG as fragments in an MP4. At the time we wrote the 
paper we were able to stream the SVG with an unmodified Darwin Streaming Server 
using the RTP protocol. I believe there would be no problem in streaming the 
SVG in an MP4 with an unmodified HTTP Server using the DASH approach. I haven't 
tried though.



I'll keep thinking about the case you brought up. I do believe timestamps are 
currently
available on events, relating to when the event was raised.

What do you mean by a clock reference?

That's a general concept when synchronizing multiple media streams, possibly 
not all synchronized together, you need to group them by their common clock.

Regards,

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.institut-telecom.fr/



Re: RfC: LCWD of Progress Events; deadline September 1

2011-08-10 Thread Cyril Concolato

Le 09/08/2011 19:34, Arthur Barstow a écrit :

On August 9, WebApps published LCWD #2 of the Progress Events spec:

http://www.w3.org/TR/2011/WD-progress-events-20110809/

Section 2.1:
If this is for some reason not possible prefix the extension in some way and start 
the prefix with an uppercase letter. E.g. if company Foo wants to add a private method 
bar() it could be named FooBar() to prevent clashes with a potential future standardized 
bar().
This sentence in hard to read and unclear. Please rephrase/fix it.

Section 4.2:
It  should indicate what the requirements for other specifications are to 
define properly the use of these events.

Section 4.3:
Why aren't the names of events, and the instant and number of times they are 
dispatched, not normatively defined ? This would be beneficial for consistency 
in the web platform, wouldn't it?

Regards,
Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.institut-telecom.fr/



Re: [XHR] support for streaming data

2011-08-09 Thread Cyril Concolato

Hi Charles,


I believe that GPAC seeks through large SVG files via offsets and small 
buffers, from what I understood at SVG F2F.
http://gpac.wp.institut-telecom.fr/
The technique is similar to what PDF has in it's spec.

I don't know what you're referring to.


SVG does not have byte offset hints, but GPAC expects
data to be processed by an authoring tool and otherwise works with transcoding, 
much as VLC (VideoLan) does.

The details of how we can do it is here:
http://biblio.telecom-paristech.fr/cgi-bin/download.cgi?id=7129
Basically, for long running SVG animations (e.g. automatic translation from Flash to 
SVG), it is interesting to load only some SVG parts when they are needed and to 
discard them (using the SVG Tiny 1.2 discard element), when they are no 
longer needed. For that, we use an auxiliary file that indicates how to fragment the 
SVG file into a stream, giving timestamps to each SVG file fragment. That auxiliary 
file is then used to store the SVG fragments as regular access units in MP4 files, we 
use MP4Box for that. The manipulation of those fragments for storage and playback is 
then similar to what you would do for audio/video streams. We don't do transcoding 
for SVG fragments but for instance individual gzip encoding is possible.

I think an interesting use case for XHR would be to be able to request data 
with some synchronization, i.e. with a clock reference and timestamp for each 
response data.

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Multimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.wp.institut-telecom.fr/



Re: [widgets] Draft Agenda for 11 February 2010 voice conf

2010-02-12 Thread Cyril Concolato

Le 11/02/2010 17:33, Robin Berjon a écrit :

Hi Cyril,

On Feb 11, 2010, at 14:03 , Arthur Barstow wrote:

On Feb 10, 2010, at 10:22 AM, ext Cyril Concolato wrote:

Dear Mr. Barstow,


We can do so provided you agree to never again call me Mr. Barstow :-).


Yeah, we wouldn't want to anger Mr. Barstow.


Seriously though, yes we can add it to the AOB section of today's agenda. 
Please join us if you can.


We discussed this on the call today and decided that it would be better if you 
were around while we discussed it; would it be possible for you to join our 
next call?

I would be glad to join. When is the next call ?

Cyril


--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: [widgets] Draft Agenda for 11 February 2010 voice conf

2010-02-10 Thread Cyril Concolato

Dear Mr. Barstow,

As indicated in the mails about MPEG-U, I would like to request that the WG 
discusses the MPEG liaison regarding widgets. Could you add it to the agenda ?

Best Regards,

Cyril Concolato

Le 10/02/2010 14:29, Arthur Barstow a écrit :

Below is the draft agenda for the 11 February Widgets Voice Conference
(VC).

Inputs and discussion before the VC on all of the agenda topics via
public-webapps is encouraged (as it can result in a shortened meeting).
Please address Open and Raised Issues and Open Actions before the meeting:

http://www.w3.org/2008/webapps/track/products/8

Minutes from the last VC:

http://www.w3.org/2010/02/04-wam-minutes.html

Logistics below.

-Regards, Art Barstow

Agenda:

1. Review and tweak agenda

2. Announcements

a. LC of XML Signatures spec published 4 Feb:
http://lists.w3.org/Archives/Public/public-webapps/2010JanMar/0531.html

3. Packaging and Configuration spec
http://dev.w3.org/2006/waf/widgets/

CR Implementation Report:
http://dev.w3.org/2006/waf/widgets/imp-report/

a. Important Test Suite Updates by Marcos
http://lists.w3.org/Archives/Public/public-webapps/2010JanMar/0485.html

b. Action-486: Create ITS test case(s) for the PC test suite
http://www.w3.org/2008/webapps/track/actions/486

4. Widget Interface spec
http://dev.w3.org/2006/waf/widgets-api/

a. API - openURL security considerations by Marcos
http://lists.w3.org/Archives/Public/public-webapps/2010JanMar/0501.html

b. TWI: comments by Cyril
http://lists.w3.org/Archives/Public/public-webapps/2010JanMar/0479.html

c. window object by Cyril
http://lists.w3.org/Archives/Public/public-webapps/2010JanMar/0476.html

5. Access Requests Policy (WARP) spec
http://dev.w3.org/2006/waf/widgets-access/

a. Action-490: [AB to] Work with MC, RB and Dom on creating a
infrastructure to test the WARP spec
http://www.w3.org/2008/webapps/track/actions/490

6. AOB

a. Charter renewal - please send comments to public-webapps:
http://lists.w3.org/Archives/Public/public-webapps/2010JanMar/0493.html

Comments from Scott Wilson:
http://lists.w3.org/Archives/Public/public-webapps/2010JanMar/0525.html


Logistics:

Time: 22:00 Tokyo; 16:00 Helsinki; 15:00 Paris; 14:00 London; 09:00
Boston; 06:00 Seattle
Duration: 90 minutes max
Zakim Bridge: +1.617.761.6200, +33.4.89.06.34.99 or +44.117.370.6152
PIN: 9231 (WAF1);
IRC: channel = #wam; irc://irc.w3.org:6665 ;
http://cgi.w3.org/member-bin/irc/irc.cgi
Confidentiality of minutes: Public






--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: [widgets-twi] window object

2010-02-09 Thread Cyril Concolato

Le 08/02/2010 13:29, Robin Berjon a écrit :

On Feb 5, 2010, at 16:18 , Marcos Caceres wrote:

On Thu, Feb 4, 2010 at 6:41 PM, Cyril Concolatocyril.concol...@enst.fr  wrote:

So I'm wondering how should the widget object be implemented in a UA
that does not support the window object ?


Yeah, that's a tough one... the spec says:

For a widget instance, a user agent MUST expose a unique object that
implements the widget interface to author scripts.

It does not give any guidance as to how the interface must be exposed.


But then again, SVG supports the Window object (minimally defined in 
http://www.w3.org/TR/SVGMobile12/svgudom.html#dom__Window). So just adding a 
widget field there ought to be straightforward.

My mistake. I had not realized that. But again, the question is why put the 
widget object on the window object, apart from it being a black hole. Why not 
put it in the global object. What's wrong with that? It would easier to 
specify. What's the benefit of using the window object?

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: [widgets] TWI: comments

2010-02-09 Thread Cyril Concolato

Hi Marcos,

Le 08/02/2010 16:56, Marcos Caceres a écrit :

On Thu, Feb 4, 2010 at 10:19 PM, Cyril Concolato

* The spec says:
When an object implementing the Widget interface is instantiated, if a user
agent has not previously associated a storage area with the instance of a
widget, then the user agent must initialize the preferences attribute.
What happens if the UA has already associated a storage area ? It should
probably say that no initialization of the preferences attribute is made but
the associated storage area can be used using the Storage interface, no ?


Right, I've adapted your text to read:

When an object implementing the Widget interface is instantiated, if
a user agent has not previously associated a storage area with the
instance of a widget, then the user agent must initialize the
preferences attribute.

If a user agent has previously associated a storage area with a widget
instance, the user agent must not re-initialize the preferences
attribute unless explicitly requested to do so by the end-user or for
security reasons. Instead, the previously associated storage area (or
an equivalent clone) can be accessed using the Storage interface.

Does that make any sense?

Yes it does.


... hmm... seems that Storage is tied to Window... bah. This goes back
to my previous email [1] about the window object. I think we need to
just bite the bullet and just put the Window dependency in :(

See my answer to Robin, I'm not sure to understand the benefits of that choice.




* What is the return value for the openURL method when there is a scheme
handler associate to the IRI ? When there is none, the text says the method
returns void. I think it also returns void so I wonder what's the point of
the paragraph.


Right. This whole openURL section needs a minor clean-up: there is a
bit or redundancy there. Let me work on that an get back to the WG.

Thanks.


* The IDL spec indicates that the preference attribute implements the
Storage interface, but I can't find a 'real' sentence saying it. I find:
Note: A user agent can  support the Storage interface on DOM attributes
other than the preferences attribute (e.g., a user agent can to support the
[WebStorage]  specification's localStorage attribute of the window object in
conjunction to the preferences attribute) but this is a note, hence not
normative.


Well spotted! The definition of preference now reads:

The preferences allows authors to manipulate a storage area that is
unique for the instance of a widget. It does this by implementing the
Storage interface specified in [WebStorage].

Good.


I suggest that you add an additional sentence. Also, the given example is
not really clear because it does not show the relationship between a
config.xml document with preference elements and the associated script and
storage.


That's a good point. I've added another example to the spec. Can you
please take a look?


Finally, can you clarify if the usage of getItem / setItem such as in
widget.preferences.getItem('foo'); and widget.preferences.setItem('foo',
'dahut'); is allowed or if only the brackets notation
(widget.preferences['foo']) is allowed. Maybe by adding an example ?


As of WebIDL , I believe the notations are equivalent. Regardless, I
have added an example. Please see the spec.

Can you point me to the right place because I can't find the new examples in:
http://dev.w3.org/2006/waf/widgets-api/

Regards,

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: MPEG-U

2010-02-09 Thread Cyril Concolato

Robin,

Le 09/02/2010 13:41, Robin Berjon a écrit :

Hi Cyril,

On Feb 9, 2010, at 10:20 , Cyril Concolato wrote:

Le 04/02/2010 13:35, Robin Berjon a écrit :

It would be a lot simpler if the secretariat would just send an email to this 
list!

I agree with you it would be much simpler, but that's not my choice.


Well, you could vote with your feet ;-)


Apparentyl, the attachement has been removed by a W3C member. I don't 
understand the reasons. Anyway, the WG should be able to process it. Can I 
request that this topic be discussed at the next conference of the WG?


We certainly can, but our minutes are public — do we have to discuss it 
unrecorded?

I don't think so. All the documents related to MPEG-U (unfortunately, except 
for liaisons) being public documents [1] this shouldn't be a problem.

Cyril

[1] http://mpeg.chiariglione.org/working_documents.htm#MPEG-U




--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: [widgets-twi] window object

2010-02-05 Thread Cyril Concolato

Le 05/02/2010 16:18, Marcos Caceres a écrit :

On Thu, Feb 4, 2010 at 6:41 PM, Cyril Concolatocyril.concol...@enst.fr  wrote:

Hi all,

After PC, I'm looking now at the Widget Interface spec, in particular to
check the test suite and produce the implementation report. I have a problem
with the spec. In GPAC, we implement only SVG not HTML5, with the Window
object.


Hmm... to support SVG, what we should do is externalize the javascript
of each test. Then just use a script element to include the same code
into both files. Do you think you could help me do this?

Basically, what we would need to do is:

1. check if the current scripts work in an SVG context - and fix if they don't.
2. make the SVG templates (index.svg).
3. externalize all the JS (call them all test.js).
4. Replace all the HTML files.

Here is a first try. I've made the test.js with the widget related code and the 
SVG/HTML related code is in the SVG/HTML file. However, since there is no 
explicit normative way to implement the widget object when the start file is 
SVG I had to decide on one. So I've added the following code in test.js:
  
  var w;

  if (typeof(window.widget) != undefined) {
w = window.widget;
  } else if (typeof(widget) != undefined) {
w = widget;
  }  


Is it ok?



I'm not sure what we will do with all the automatically generated
tests. We will need some guidance there from Dom, as I don't know how
that generator works.


So I'm wondering how should the widget object be implemented in a UA
that does not support the window object ?


Yeah, that's a tough one... the spec says:

For a widget instance, a user agent MUST expose a unique object that
implements the widget interface to author scripts.

It does not give any guidance as to how the interface must be exposed.

What was the rationale for having the widget object as an attribute of the 
window object. Why not put in the global object, this would avoid having to 
handle it differently in each language?

Cyril






--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/
widget xmlns=http://www.w3.org/ns/widgets;
 id=test:au
 nameTest au/name
 descriptionTesting assertion ta-aa/description
 preference name=test1 value=abc123 /
 preference name=test2 value=protected readonly=true /
/widgetTitle: Test au


 
 
FAIL 
Test did not run. 
 attachment: index.svg

test.js
Description: JavaScript source


[widgets-twi] window object

2010-02-04 Thread Cyril Concolato

Hi all,

After PC, I'm looking now at the Widget Interface spec, in particular to check 
the test suite and produce the implementation report. I have a problem with the 
spec. In GPAC, we implement only SVG not HTML5, with the Window object. So I'm 
wondering how should the widget object be implemented in a UA that does not support 
the window object ?

Best regards,

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



[widgets] TWI: comments

2010-02-04 Thread Cyril Concolato

Hi all,

While trying to implement the widget interface spec [1], I found two typos:
- a user agent can to support = a user agent can support
- missing closing parenthese in conjunction to the preferences attribute).

I have also some remarks/questions:

* A user agent whose start file implements [HTML5]'s Window  interface MUST 
...
The start file does not implement anything. The user agent implements. I 
suggest to change it to something like:
User agent implementing the [HTML5]'s Window interface MUST ...

* Section 5. is called Widget Interface but it starts by saying The widget object provides 
 It think it should say Objects implementing the widget interface provide ...

* The step 1 in the initialization of the preference attribute algorithm which says Establish 
the instance of a widget for this widget and create a storage area that is unique for the 
origin. should probably say unique for the origin and for that instance.

* The spec says:
When an object implementing the Widget interface is instantiated, if a user agent 
has not previously associated a storage area with the instance of a widget, then the user 
agent must initialize the preferences attribute.
What happens if the UA has already associated a storage area ? It should 
probably say that no initialization of the preferences attribute is made but 
the associated storage area can be used using the Storage interface, no ?

*In case two instances of the same widget package are loaded, modified (e.g. 
weather in Paris and in New York) and then closed, how does the UA retrieve the 
associated storage area when one is reloaded ? I don't think it can be 
specified but I think you should probably add a note saying that it is 
implementation specific, for example by asking the user what previous instance 
it want to start first.

* What happens to the storage event fired by the setItem or removeItem 
methods when the UA does not implement the window object ?

* What is the return value for the openURL method when there is a scheme 
handler associate to the IRI ? When there is none, the text says the method 
returns void. I think it also returns void so I wonder what's the point of the 
paragraph.

* The IDL spec indicates that the preference attribute implements the Storage 
interface, but I can't find a 'real' sentence saying it. I find:
Note: A user agent can  support the Storage interface on DOM attributes other than 
the preferences attribute (e.g., a user agent can to support the [WebStorage]  
specification's localStorage attribute of the window object in conjunction to the 
preferences attribute) but this is a note, hence not normative.

Return the Storage  object associated with that widget instance's preferences 
attribute. but that's not really explicit.

Implement the Storage  interface on the storage area, and make the preferences attribute a 
pointer to that storage area. but this isn't as clear as The UA MUST support the 
Storage interface on the preferences attribute or similar...

I suggest that you add an additional sentence. Also, the given example is not 
really clear because it does not show the relationship between a config.xml 
document with preference elements and the associated script and storage.

Finally, can you clarify if the usage of getItem / setItem such as in 
widget.preferences.getItem('foo'); and widget.preferences.setItem('foo', 
'dahut'); is allowed or if only the brackets notation 
(widget.preferences['foo']) is allowed. Maybe by adding an example ?

Regards,
Cyril

[1] http://www.w3.org/TR/2009/CR-widgets-apis-20091222/
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/widgets/



Re: MPEG-U

2010-02-03 Thread Cyril Concolato

Dear all,

I've been informed by the ISO secretariat that the liaison from MPEG was sent 
to the W3C and that the right persons this time have received it. Is it 
correct? Can you tell me what the next step is ? Has the group discussed it ? 
What is the opinion of the group ? If not, when will it be discussed ?

Regards,

Cyril   


Le 20/01/2010 17:24, Doug Schepers a écrit :

Hi, Cyril-

Cyril Concolato wrote (on 1/20/10 12:24 AM):


Le 13/01/2010 19:59, Doug Schepers a écrit :


Cyril Concolato wrote (on 1/13/10 10:37 AM):


Yes, you're right, the problem is that liaisons usually are not
considered as public documents so the secretariat or MPEG members are
not allowed to make them public.
...
Anyway, MPEG is meeting next week, I'll
raise your questions and try to have MPEG make a formal answer.


Could you please make sure that the secretariat sends the email to
team-liais...@w3.org, CCing Steven, Mike, and me, as the Team Contacts
for the WebApps WG, and Philippe Le Hegaret as Interaction Domain Lead?
It's not appropriate to email Tim Berners-Lee for liaisons at this
level, though if they insist, I suppose they can include him. We need to
make sure that these liaisons are dealt with in a timely manner.

I would greatly appreciate if you could have the secretariat send an
immediate acknowledgment email to the above email addresses, just to
make sure that the process is understood and accepted, before sending
the liaison itself. Could you please request that right away?

I know you are doing what you can to make sure the communication
channels are clear, so I appreciate your help.


Just for clarification. I don't know yet if the liaison can be sent to a
public mailing list. But if it is possible, is it preferable to send it
directly to the public mailing list or to list of persons you mentioned?


My personal preference is that the technical discussion happen on
public-webapps, of course, but that is a dialog that should be carried
on by people like you, who are in both organizations.

Liaisons from MPEG (and other organizations) tend to be formal documents
(usually in Word or PDF format), and require formal documents in return,
so we need to address that in a separate channel, after the technical
discussion has taken place. If it is possible to have these liaisons
sent to the public list as well as the people and lists I mention above,
please do so; failing that, please ask them to send the liaisons to
member-webapps as well.

If we need to draw up a Memorandum of Understanding regarding this,
please let us know. Thanks again.

Regards-
-Doug Schepers
W3C Team Contact, SVG and WebApps WGs




--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: MPEG-U

2010-01-19 Thread Cyril Concolato

Hi Doug,

Le 13/01/2010 19:59, Doug Schepers a écrit :

Hi, Cyril-

Cyril Concolato wrote (on 1/13/10 10:37 AM):


Yes, you're right, the problem is that liaisons usually are not
considered as public documents so the secretariat or MPEG members are
not allowed to make them public.
...
Anyway, MPEG is meeting next week, I'll
raise your questions and try to have MPEG make a formal answer.


Could you please make sure that the secretariat sends the email to
team-liais...@w3.org, CCing Steven, Mike, and me, as the Team Contacts
for the WebApps WG, and Philippe Le Hegaret as Interaction Domain Lead?
It's not appropriate to email Tim Berners-Lee for liaisons at this
level, though if they insist, I suppose they can include him. We need to
make sure that these liaisons are dealt with in a timely manner.

I would greatly appreciate if you could have the secretariat send an
immediate acknowledgment email to the above email addresses, just to
make sure that the process is understood and accepted, before sending
the liaison itself. Could you please request that right away?

I know you are doing what you can to make sure the communication
channels are clear, so I appreciate your help.

Just for clarification. I don't know yet if the liaison can be sent to a public 
mailing list. But if it is possible, is it preferable to send it directly to 
the public mailing list or to list of persons you mentioned?


Regards,

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: MPEG-U

2010-01-13 Thread Cyril Concolato

Hi Robin,

Le 12/01/2010 18:13, Robin Berjon a écrit :

Hi Cyril,

On Jan 12, 2010, at 17:34 , Cyril Concolato wrote:

Le 11/01/2010 15:41, Robin Berjon a écrit :

Ah, do you have a pointer? I searched for MPEG-U in all the public and member 
lists yet only this thread shows up.

The liaison was sent by the ISO/IEC/JTC1/SC29 secretariat, and since MPEG did 
not receive any feedback, I checked and was informed that it was mistakenly 
sent to Tim Berners Lee ! I informed Doug and Mike of that fact, I thought that 
it would be discussed in the WG. Anyway it doesn't matter anymore since I think 
the liaison is outdated.


Heh! I know it's hard to get any ISO secretariat to do the right thing with 
liaisons, but the best for liaisons is to send them directly to this list, 
preferably through a common member (like the equally delightfully named ISO/IEC 
JTC1/SC34/WG4 recently did).

Yes, you're right, the problem is that liaisons usually are not considered as 
public documents so the secretariat or MPEG members are not allowed to make 
them public.




If avoidable I'd rather not join yet another mailing list just for a few 
questions, after which I'd have to unsubscribe again. Since you're closely 
involved with this work, would you mind answering the questions I outlined in 
my original post?

I'm sorry but the only questions in your email were what's happening aroung MPEG-U ? 
and Can you enlighten us ?. I thought the web page I set up was providing enough 
information (background, roadmap, spec). Can you be more precise as to what you want to know ?


I'm sorry, I realise that my original message isn't entirely clear in terms of what 
enlightening us covers :). The web page you sent is indeed helpful in 
describing MPEG-U, but I had other questions. Here is the part that the enlightenment 
intended to cover:


One reason I'm asking is because some of the work items in that document are 
interesting in a generic manner, and therefore are things that could make their 
way into WebApp's charter when it comes up for rechartering (which is soon). I 
don't think that all that's listed there would be of interest to WebApps (e.g. 
I'd be surprised if the WG cared about integration with BIFS or ISOFF 
packaging, assuming members even have heard of them), but some topics 
(inter-widget communication, context management, aggregation) certainly are.

Given MPEG's patent policy and inexperience with web technology one can take a 
fairly good bet that if MPEG-U defines solutions in this space WebApps won't 
adopt them, thereby leading to fragmentation: something that the document above 
states it wishes to avoid.


So to make the question more explicit: given the stated goal of avoiding 
fragmentation (with which I strongly agree) in conjunction with the risk 
inherent in doing work that won't be adopted or that will take place in 
parallel, are you aware of any plans in the MPEG-U community to avoid 
fragmentation on topics that WebApps is likely to take up?

That's a good question. My personal understanding was that the initial plan was 
to have MPEG work on specific topics (and until now the items dealt with by 
MPEG were not in any W3C charter), to liaise with other standardization bodies 
working in the area to make sure they are aware of the work done in MPEG and 
then to coordinate with them to harmonize the solution if necessary. So it 
would be good if the WG could inform MPEG about the evolution of its charter 
and possibly have a look at the MPEG spec, and comment on it. Anyway, MPEG is 
meeting next week, I'll raise your questions and try to have MPEG make a formal 
answer.

Regards,

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: MPEG-U

2010-01-12 Thread Cyril Concolato

Hi Robin,

Le 11/01/2010 15:41, Robin Berjon a écrit :

Hi Cyril,

On Jan 7, 2010, at 15:59 , Cyril Concolato wrote:

sorry to put you on the spot, but I don't recall this being discussed by WebApps

I know that a liaison was sent from MPEG to the W3C early may 2009 and that the 
WG was informed.


Ah, do you have a pointer? I searched for MPEG-U in all the public and member 
lists yet only this thread shows up.

The liaison was sent by the ISO/IEC/JTC1/SC29 secretariat, and since MPEG did 
not receive any feedback, I checked and was informed that it was mistakenly 
sent to Tim Berners Lee ! I informed Doug and Mike of that fact, I thought that 
it would be discussed in the WG. Anyway it doesn't matter anymore since I think 
the liaison is outdated.




Can you give the WG some general ideas about what's happening around MPEG-U?

Actually, I had made a web page that describes it and that I wanted to send 
earlier [1]. You will find there some background information and the current 
spec in PDF and soon some examples and code. If you have questions about the 
GPAC implementation of MPEG-U, you can ask me but if you have questions about 
the MPEG process, you can post them on the general MPEG Systems mailing list[2].


If avoidable I'd rather not join yet another mailing list just for a few 
questions, after which I'd have to unsubscribe again. Since you're closely 
involved with this work, would you mind answering the questions I outlined in 
my original post?

I'm sorry but the only questions in your email were what's happening aroung MPEG-U ? 
and Can you enlighten us ?. I thought the web page I set up was providing enough 
information (background, roadmap, spec). Can you be more precise as to what you want to know ?

Regards,

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: MPEG-U

2010-01-07 Thread Cyril Concolato

Hi Robin,

Le 06/01/2010 17:43, Robin Berjon a écrit :

Hi Cyril,

sorry to put you on the spot, but I don't recall this being discussed by WebApps

I know that a liaison was sent from MPEG to the W3C early may 2009 and that the 
WG was informed.


and you're listed as one of the authors:

   http://www.chiariglione.org/mpeg/technologies/mpeg-u/mpu-widgets/index.htm

Can you give the WG some general ideas about what's happening around MPEG-U?

Actually, I had made a web page that describes it and that I wanted to send 
earlier [1]. You will find there some background information and the current 
spec in PDF and soon some examples and code. If you have questions about the 
GPAC implementation of MPEG-U, you can ask me but if you have questions about 
the MPEG process, you can post them on the general MPEG Systems mailing list[2].

Cyril

[1] http://concolato.blog.telecom-paristech.fr/widgets/mpeg-u/
[2] http://lists.uni-klu.ac.at/mailman/listinfo/gen-sys


One reason I'm asking is because some of the work items in that document are 
interesting in a generic manner, and therefore are things that could make their 
way into WebApp's charter when it comes up for rechartering (which is soon). I 
don't think that all that's listed there would be of interest to WebApps (e.g. 
I'd be surprised if the WG cared about integration with BIFS or ISOFF 
packaging, assuming members even have heard of them), but some topics 
(inter-widget communication, context management, aggregation) certainly are.

Given MPEG's patent policy and inexperience with web technology one can take a 
fairly good bet that if MPEG-U defines solutions in this space WebApps won't 
adopt them, thereby leading to fragmentation: something that the document above 
states it wishes to avoid.

Hence my interrogation; can you enlighten us?

Thanks!




--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: [widgets] duplicated feature elements ?

2010-01-06 Thread Cyril Concolato

Le 05/01/2010 21:13, Marcos Caceres a écrit :

On Tue, Jan 5, 2010 at 8:50 PM, Marcos Caceresmarc...@opera.com  wrote:

On Wed, Dec 16, 2009 at 10:51 AM, Cyril Concolato
cyril.concol...@enst.fr  wrote:

Hi all,

There is a test in the test suite for duplicated param element with the same
name but different value (v9.wgt). But I did not find, a similar test for
duplicated feature elements with the same name. Is this allowed or not ? The
algorithm in Step 7 does not say.



This is allowed. I've added the following note to make that clear (not
checked into cvs yet):

Note: This specification allows feature elements with the same name
and/or value to be declared more than once. Handling of duplicate
feature requests is left up to the implementation.



I made a mistake above, it should have read:

This specification allows feature elements with the same name
attribute value to be declared more than once. Handling of duplicate
feature requests is left up to the implementation.

Fine, thanks.

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: [widgets] PC simplifying some rules (editorial)

2010-01-06 Thread Cyril Concolato

Le 05/01/2010 23:29, Marcos Caceres a écrit :

On Wed, Dec 9, 2009 at 1:50 PM, Cyril Concolatocyril.concol...@enst.fr  wrote:

Hi all,

I noticed that 9.1.3. Rule for Finding a File Within a Widget Package
indicates that the algorithm returns either a file, null, or an error..
This is not exactly true since if it does return an error or null, it always
returns a processable file.


Ok, clarified this in the spec (that is, returns a processable file
instead of just a file)

Fine.




I suggest changing the introduction as follows The algorithm returns either
a processable file, null, or an error. and then doing the following three
edits:

- Change point 7 in the license element in 9.1.15. Algorithm to Process a
Configuration Document to indicate:
If file is null or there is an error in 6 then ignore this element


I don't agree with this change. The point already says:

If file is not a processable file

This implicitly means if file is null or in error or anything else.

I agree.




- Change the similar point for the icon element.


As above.

I agree.




- Simplify Step 9 - Process the Default Icons by collapsing A.A, A.B and
A.C into
if potential icon is null or in error or already exists, ignore it


The above is not precise enough for my liking, but it made sense to
collapse it a given that a processable file is always returned... so,
I've changed it to:

If the potential-icon is a processable file, determined by the media
type given in the media type column of the default icons table, and
the potential-icon does not already exist in the icons list of the
table of configuration defaults, then append the value of
potential-icon to the icons list of the table of configuration
defaults.

It's a somewhat long sentence, but I can live with it... and it
doesn't change what was already there.

You're right it's a bit long but I'm also fine with it.






Also, I was wondering for quite some time why the spec has a strange
structure for Rules vs. Steps. Couldn't you put all the Rules into one
section 9.1 and all the Steps in 9.2?


Yeah, admittedly, it got a little messy wrt what defines a rule and
what defines a step... that was me doing crazy literary experiments in
the hope of making the spec easier to read and work with... I wanted
to write rules like they were reusable functions, and the Steps as if
they were independent parts of a program... not sure if I succeeded,
but generally I get people saying they like the way I structured the
spec... but have also been told it's confusing. So, you are probably
correct that what is defined in Step 9 should have been a rule (and
hence gone into 9.1). I don't think there is much point now in
changing it, however. We should just be trying to squish any
outstanding spec bugs (if any) and otherwise let it be...

I was not saying that I don't like the separation between steps and rules. It's 
just the structure of Section 9 that I find weird. It's ok if you don't change 
the spec now. you can keep it in mind for a 2nd edition or a 1.1 version :)


we still
have a ton of work to do on updates and view modes, so I just want to
call PC done and start oiling the gears to move it to Proposed Rec by
the end of the month. Once GPAC and Widgeon are at 100%, we will have
5 conforming implementations which I think it's a pretty awesome
achievement and a testament to the implement-ability of the spec.

I agree, this proves that the spec and the test suite are both in good shapes.

FYI, out of the 166 tests, GPAC fails 7 because of XML/Unicode handling. This 
will probably be fixed. 1 fails because we don't implement SNIFF. I don't know 
if we will. 3 fail because we don't maintain tables of supported mime types, 
encodings or features, at the level of the widget UA. I don't know yet how to 
fix that. The last failure is related to the handling of invalid feature 
elements, on which I disagree with the test suite (see next email). So 
hopefully, I should get close to the 100% in the future.

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/widgets/



Re: [widgets] feature: inconsistent behavior ?

2010-01-06 Thread Cyril Concolato

Le 05/01/2010 23:54, Marcos Caceres a écrit :

On Wed, Dec 16, 2009 at 10:13 AM, Cyril Concolato
cyril.concol...@enst.fr  wrote:

Hi,

The test df.wgt contains a feature without name. In this case, the feature
element is ignored and the widget remains valid.
The test d4.wgt contains an invalid feature name. In this case, the widget
should be considered as invalid. I don't understand that. I understand the
rationale that if a feature is required, the UA shall not process the
widget. Whether it does or not understand the feature, it doesn't matter. Is
it because you foresee evolution in the syntax of feature names, which
wouldn't be IRI ? If not, I suggest to make this test pass and ignore the
feature element.



Sorry, but it was a resolution that all correctly named features are
considered required (it's why we had to create the required
attribute). I'm against changing this.

It's not because all correctly named features are considered required (on which I 
agree) that invalid feature names must lead to invalid widgets (on which I disagree). I 
think invalid feature names should be ignored.

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: [widgets] feature: inconsistent behavior ?

2010-01-06 Thread Cyril Concolato

Marcos,

Le 06/01/2010 10:52, Marcos Caceres a écrit :

On Wednesday, January 6, 2010, Cyril Concolatocyril.concol...@enst.fr  wrote:

Le 05/01/2010 23:54, Marcos Caceres a écrit :

On Wed, Dec 16, 2009 at 10:13 AM, Cyril Concolato
cyril.concol...@enst.frwrote:

Hi,

The test df.wgt contains a feature without name. In this case, the feature
element is ignored and the widget remains valid.
The test d4.wgt contains an invalid feature name. In this case, the widget
should be considered as invalid. I don't understand that. I understand the
rationale that if a feature is required, the UA shall not process the
widget. Whether it does or not understand the feature, it doesn't matter. Is
it because you foresee evolution in the syntax of feature names, which
wouldn't be IRI ? If not, I suggest to make this test pass and ignore the
feature element.



Sorry, but it was a resolution that all correctly named features are
considered required (it's why we had to create the required
attribute). I'm against changing this.

It's not because all correctly named features are considered required (on which I 
agree) that invalid feature names must lead to invalid widgets (on which I disagree). I 
think invalid feature names should be ignored.



But they (the invalid feature) are required by default (required
value defaults to true), hence the widget would probably crash or be
rendered useless at runtime regardless. Consider:

feature name='foo:bar'/

which manifests itself as 'window.theMightyFoo' at runtime, iff the
feature is available. The author, having implicitly said in the config
doc feature foo:bar must be there for my widget to work will have to
now write additional error handling code to check if the feature is
available. This would be fine if the author said:

feature name='foo:bar' required='false'/

in which case, the author has made an explicit statement that he or
she has (hopefully) coded the widget on the premise that the feature
may not be there at runtime.


I think you misunderstood me.

There is a difference between an 'unsupported'/'unavailable' feature as 
'foo:bar' in your example and an 'invalid feature name' as in the test-suite 
example:

widget
named4/name
feature name=invalid feature IRI required=true/
/widget

I'm not asking that 'unsupported'/'unavailable' features are ignored as indeed 
this would contradict the default value of 'required'. I'm asking that 
'invalid' feature are ignored (whether they are required or not). This would be 
consistent with the rest of the spec.

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: [widgets] PC simplifying some rules (editorial)

2010-01-06 Thread Cyril Concolato

Le 06/01/2010 11:22, Scott Wilson a écrit :

On 6 Jan 2010, at 08:56, Cyril Concolato wrote:


[snip] 1 fails because we don't implement SNIFF. I don't know if we
will. [snip]


Actually you don't need to implement SNIFF to pass that particular test,
as it only requires you do the extension-processing part of the algorithm.

Thanks for the info, but I'm not sure I understand. If you take the algorithm:
1. nothing to do
2. content-type = empty
3. extension = empty
4. name = 'fail'
5. Not applicable (not starting with a full stop)
6. Not applicable (no full stop in the name)
7. Not applicable (no full stop in the name)
8. extension is empty so you go to 10.
10. Process the file according to SNIFF.

Am I wrong?



See, e.g.:

https://svn.apache.org/repos/asf/incubator/wookie/trunk/src/org/apache/wookie/util/ContentTypeUtils.java


As you can see we've put a TODO for SNIFF but the code as it stands
passes the test fine.

Your algorithm returns null even if the file is of a supported media type. In 
this case, it's fine, it gives the right result but if the 'fail' file did not 
contain garbage data but say real PNG data, your algorithm would give the wrong 
result.

Anyway, thanks. I did not want to give the impression that I passed this test 
since SNIFF was not implemented but I will probably do something similar to you 
because I can actually give the right result for this test, which is what's 
needed for the report. However, the test suite should include one test really 
checking SNIFF support to see how many implementations do implement it.

Cyril

PS: In your code I noticed that line:
if (filename.startsWith(,)  filename.lastIndexOf(.)==0) return null;
Are you sure the , shouldn't be a . ?

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



Re: [widgets] white space handling

2009-12-21 Thread Cyril Concolato

Hi Robin,

Le 18/12/2009 18:01, Robin Berjon a écrit :

On Dec 18, 2009, at 16:36 , Cyril Concolato wrote:

Le 18/12/2009 15:58, Robin Berjon a écrit :

P+C doesn't tie processors to a particular version of XML, and lists its white 
space characters accordingly (and defensively). If you're certain that you will 
only ever get content that comes from a conforming XML 1.0 implementation, then 
you probably don't need to check for this.

I don't read it like that. PC explicitely references XML 1.0 and never 
mentions 1.1. So I thought the behavior was conformant to 1.0. It's fine if the 
spec also handles 1.1 but it should be mentioned. Also the rationale for the 
choices of space characters should also be indicated and the differences between 
XML 1.0 and XML 1.1 should be present.


I beg to differ. I think that we should build specifications that can handle 
future changes to the stack

I'm fine with that.


without listing all the versions that are supported.

It's not because you cite what you support that you're restricted to that. I 
think it helps understanding a spec.


P+C is built for XML 1.0, and it's great that it has the resilience to handle 
changes to 1.1 without a hitch — but who knows what XML 4.2 might add? We can't 
guarantee that it'll work, but we can try (and if it does work, I don't think 
that we should list it either). I certainly don't think that it's the right 
place to document potential differences between versions of XML — as your XHTML 
example shows, that kind of information goes stale.

If you're explicitely citing dated version of the spec, since they're cast in 
stone, I don't see how they can go stale.



Furthermore, I didn't say that the differences between XML 1.0 and 1.1 are the 
rationale for this choice — I was merely indicating that using 1.1 you could 
get such characters and that P+C's robustness against that was a plus. I wasn't 
in Marcos's brain when that part was written but my specification exegesis 
antennae suspect that the listed class of characters corresponds to the Unicode 
white space character class (and therefore to what Unicode-aware processors 
would consider white space, notably \s in regular expressions).

Well, you know my concern. I want to understand the spec in order to implement it 
properly. I'm not asking for any new normative statement, nor any change to the 
existing ones. I would be fine with informative notes explaining the intents of 
some choices. For example, as you know, I'm implementing an SVG UA and an PC 
UA, I want to know what's reusable, what's common without doing XML archaeology. 
Such notes would help me and I suspected it would help others. Nothing more.

Regards,

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/widgets/



Re: [widgets] white space handling

2009-12-18 Thread Cyril Concolato

For space characters, why did you add U+000B and U+000C?

I think this question is even more important if you note that XHTML 1 indicates 
that U+000C is an invalid XML char (see http://www.w3.org/TR/xhtml1/#C_15)

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



[widgets] white space handling

2009-12-17 Thread Cyril Concolato

Hi Widget addicts,

While reading again through the spec, I'm wondering why there are differences 
between the PC spec and the XML spec in terms of white space handling.

PC defines:
* space characters as: U+0020, U+0009, U+000A, U+000B, U+000C, U+000D
* Unicode white space characters as: U+0009-U+000D, U+0020, U+0085, U+00A0, 
U+1680, U+180E, U+2000-U+200A, U+2028, +2029, U+202F, U+205F, U+3000
* control characters as: U+-U+001F, U+007F
* forbidden characters as: control characters and U+003C, U+003E, U+003A, 
U+0022, U+002F, U+005C, U+007C, U+003F, U+002A, U+005E, U+0060, U+007B, U+007D, U+0021.
space characters are used in Rule for Getting a Single Attribute Value, Rule for Getting a List of 
Keywords From an Attribute, Rule for Parsing a Non-negative Integer, algorithm to derive the user agent 
locales and ZIP handling.
Unicode white space characters are used only in Rule for Getting Text Content 
with Normalized White Space
control characters are only used only in forbidden characters and forbidden 
characters are used only in ZIP processing.

XML defines white space as: U+0020, U+0009, U+000A, U+000D

Given that, I have the following questions/remarks:

- Why do you define control characters, can't you put their code points in 
forbidden characters? This would simplify the spec and make it more easy to 
understand.

- Could you rename forbidden characters to ZIP forbidden characters? This 
would clearly indicate in which area they are forbidden and why they are defined.

- Why do the definition of PC space characters and Unicode white space charactes 
differ from the XML white space definition?

For Unicode white space characters, I could understand this difference since it's only used 
in the Rule for Getting Text Content with Normalized White Space which first applies XML 
parsing, DOM3 textContent behavior and then applies additional PC-defined behavior. But still, I'm 
wondering: is this difference really needed? If yes, can you add a note explaining the rationale and 
difference with the basic XML processing.

For space characters, why did you add U+000B and U+000C?

- Ignoring U+000B and U+000C, the Rule for Getting a Single Attribute Value seems to me 
to be already defined in XML as Attribute-Value 
Normalization(http://www.w3.org/TR/xml/#AVNormalize). I could understand that you want a 
self-contained spec but you should at least indicate that the behavior is the same as the basic XML 
processing.

Best regards,

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



[widgets] features: default value for required

2009-12-16 Thread Cyril Concolato

Hi all,

The algorithm for processing the 'required' attribute is unclear. It says:
If a required attribute is used, then let required-feature be the result of 
applying the rule for getting a single attribute value to the required attribute. If 
required-feature is not a valid boolean value, then let the value of required-feature be 
the value 'true'.

I think it misses the case when the required attribute is not used. According 
to the 'Authoring Guideline', it should say:
If a required attribute is used, then let required-feature be the result of 
applying the rule for getting a single attribute value to the required attribute. *If the 
required attribute is not used or *if required-feature is not a valid boolean value, then 
let the value of required-feature be the value 'true'.

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



[widgets] feature: inconsistent behavior ?

2009-12-16 Thread Cyril Concolato

Hi,

The test df.wgt contains a feature without name. In this case, the feature 
element is ignored and the widget remains valid.
The test d4.wgt contains an invalid feature name. In this case, the widget 
should be considered as invalid. I don't understand that. I understand the 
rationale that if a feature is required, the UA shall not process the widget. 
Whether it does or not understand the feature, it doesn't matter. Is it because 
you foresee evolution in the syntax of feature names, which wouldn't be IRI ? 
If not, I suggest to make this test pass and ignore the feature element.

Regards,
Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/widgets



[widgets] duplicated feature elements ?

2009-12-16 Thread Cyril Concolato

Hi all,

There is a test in the test suite for duplicated param element with the same 
name but different value (v9.wgt). But I did not find, a similar test for 
duplicated feature elements with the same name. Is this allowed or not ? The 
algorithm in Step 7 does not say.

Regards,

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/widgets



Re: [widgets] test suite, the width/height attribute

2009-12-15 Thread Cyril Concolato

Hi Marcos,

Le 14/12/2009 16:49, Marcos Caceres a écrit :

On Fri, Dec 4, 2009 at 5:04 PM, Cyril Concolatocyril.concol...@enst.fr  wrote:

Dear Widgets-experts,

While checking some of the tests, I found some unclear processing with
regards to the width and height attribute of widget element. The spec says:

If the width attribute is used, then let normalized width be the result of
applying the rule for parsing a non-negative integer to the value of the
attribute. If the normalized width is not in error  and greater than 0, then
let widget width be the value of normalized width. If the width attribute is
in error, then the user agent must ignore the attribute.

It explicitely says greater than 0 which means that 0 should not be
allowed, but the test suite says for c9.wgt that the result should be 0.


Argh. Right.


This seems inconsistent. On top of that, the spec seems to make the
distinction between 'null' (when in error) and '0' (not specified). From an
implementation point of view, I would prefer two cases:
- specified, not in error, greater than 0, width = the specified value
- in error or not specified, width = null, empty or 0.
Actually, I would prefer 0 since then the attribute can be implemented as an
integer not as a string.

What do you think ?


Given that a number of UAs have implemented support for getting back
the value 0, I think we should just say greater than or equal to
0.

So:

widget width/height=  = Error. value remains null.

widget width/height=   = Error, value remains null.

widget width/height=abc  returns 0, value is 0.

widget width/height=100abc  returns 100, value is 100.

widget width/height=000100abc  returns 100, value is 100.

However, I'm open to just saying return 0 upon error.

That's what I would prefer.

Cyril


--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



[widgets] test suite: br.wgt

2009-12-15 Thread Cyril Concolato

Hi all,

In the test suite, the test br.wgt leads to a widget with no valid start file. 
I think this should be considered an invalid widget because a Widget UA will 
not be able to display it, the user may see an icon but nothing happening when 
activating it. WDYT ?

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/widgets



Re: [widgets] test suite: br.wgt

2009-12-15 Thread Cyril Concolato

Hi,

Le 15/12/2009 18:00, Marcos Caceres a écrit :

Hi Cyril

On Tue, Dec 15, 2009 at 4:41 PM, Cyril Concolato
cyril.concol...@enst.fr  wrote:

Hi all,

In the test suite, the test br.wgt leads to a widget with no valid start
file. I think this should be considered an invalid widget because a Widget
UA will not be able to display it, the user may see an icon but nothing
happening when activating it. WDYT ?



Looking at the test description from the test suite:

br.wgt (source files)
Tests the UA's ability to ignore subsequent repetitions of the content
element. To pass, the widget start file must treated by the user agent
as an invalid widget. 

My mistake, I must have misread with one of the above or below example... BTW, 
maybe you can improve the sentence:
Tests the UA's ability to ignore subsequent repetitions of the content element. To 
pass, the widget must *be* treated by the user agent as an invalid widget.
remove 'start file' and add 'be'

Cyril


So yes, it is required to be treated as invalid?

I checked the config.xml and it seem to be ok? :

widget xmlns=http://www.w3.org/ns/widgets;
namebr/name
content/
content src=fail.html/
/widget





--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Telecom ParisTech
46 rue Barrault
75 013 Paris, France
http://concolato.blog.telecom-paristech.fr/



[widgets] PC simplifying some rules (editorial)

2009-12-09 Thread Cyril Concolato

Hi all,

I noticed that 9.1.3. Rule for Finding a File Within a Widget Package indicates that the algorithm returns either a file, null, or an error.. This is not exactly true since if it does return an error or null, it always returns a processable file. 


I suggest changing the introduction as follows The algorithm returns either a 
processable file, null, or an error. and then doing the following three edits:

- Change point 7 in the license element in 9.1.15. Algorithm to Process a 
Configuration Document to indicate:
If file is null or there is an error in 6 then ignore this element

- Change the similar point for the icon element.

- Simplify Step 9 - Process the Default Icons by collapsing A.A, A.B and A.C 
into
if potential icon is null or in error or already exists, ignore it

Also, I was wondering for quite some time why the spec has a strange structure 
for Rules vs. Steps. Couldn't you put all the Rules into one section 9.1 and 
all the Steps in 9.2?

Regards,
Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] test-cases for icons: some possible errors

2009-12-09 Thread Cyril Concolato

Scott Wilson a écrit :


On 3 Dec 2009, at 17:26, Marcos Caceres wrote:


On Sun, Nov 29, 2009 at 6:03 PM, Scott Wilson
scott.bradley.wil...@gmail.com 
mailto:scott.bradley.wil...@gmail.com wrote:

Some more potential test case errors and fixes:

==
bl.wgt

✔ Tests the UA's ability to locate an icon in a locale folder and at the
root of the widget. To pass, after processing, the icons list must 
contain a

pointer to locales/en/icon.jpg, and icon.png, which is at the root of
the widget. The icons list needs to be in the correct order, where
locales/en/icon.jpg must be first and icon.png must be second.

Following Step 9 and using Rule for Finding a File Within a Widget 
Package

I always get these the other way around, as icon.png is in front of
icon.jpg in the default icons list


mmm. I'm not sure I understand how that happens? Section
9.1.3. Rule for Finding a File Within a Widget Package, step 5 in
the algorithm should be forcing you to find the localized icon first.
Please recheck the spec and I can try to clarify where it is confusing
in regards to how files are found (i.e., always localized content
first, then followed by unlocalized content)


Step 9 is as follows:

*For* each file name in the default icons table 
http://dev.w3.org/2006/waf/widgets/#default-icons-table (from top to 
bottom) that has a media type 
http://dev.w3.org/2006/waf/widgets/#media-type0 that is supported 
http://dev.w3.org/2006/waf/widgets/#supported by the user agent:


   1.

  Let potential-icon be the result of applying the rule for finding
  a file within a widget package
  
http://dev.w3.org/2006/waf/widgets/#rule-for-finding-a-file-within-a-widget-0 
to file
  name.

   2.

  If the following conditions are all |true|, then append the value
  of potential-icon to the icons
  http://dev.w3.org/2006/waf/widgets/#icons0 list of the table of
  configuration defaults
  http://dev.w3.org/2006/waf/widgets/#table-of-configuration-defaults:

 1.

The value of potential-icon is a file
http://dev.w3.org/2006/waf/widgets/#file.

 2.

The potential-icon is a processable file
http://dev.w3.org/2006/waf/widgets/#processable-file,
determined by the media type
http://dev.w3.org/2006/waf/widgets/#media-type0 given in
the media type column of the default icons table
http://dev.w3.org/2006/waf/widgets/#default-icons-table.

 3.

The potential-icon does not already exist in the icons
http://dev.w3.org/2006/waf/widgets/#icons0 list of
the table of configuration defaults

http://dev.w3.org/2006/waf/widgets/#table-of-configuration-defaults.

   3.

  Move onto the next file name in the default icons table
  http://dev.w3.org/2006/waf/widgets/#default-icons-table.

So, using this algorithm, pass.png would always come before 
locales/en/pass.jpg


E.g

For (icon in icon.svg, icon.ico, icon.png, icon.gif, icon.jpg):
A: Looked for icon.svg using the rule in 9.1.3. 
B: Nope

C: Next!
A: Looked for icon.ico using the rule in 9.1.3. 
B: Nope

C: Next!
A: Looked for icon.png using the rule in 9.1.3. No localized version, 
so got root icon.png.

B: Appended /icon.png
C: Next!
A: Looked for icon.gif using the rule in 9.1.3. 
B: Nope

C: Next!
A: Looked for icon.jpg using the rule in 9.1.3. Found 
locales/en/icon.jpg

B: Appended locales/en/icon.jpg
C: Done!

Icons List = icon.png, locales/en/icon.jpg
I agree. The whole point here is that Step 9 applies on top of Step 5. Step 5 handles the priority of a localized resource over non localized resource sith the same name. This is not the case here. 


Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] test-cases for icons: some possible errors

2009-12-09 Thread Cyril Concolato

Hi all,

Scott Wilson a écrit :

Some more potential test case errors and fixes:

==
bl.wgt

✔ Tests the UA's ability to locate an icon in a locale folder and at the 
root of the widget. To pass, after processing, the icons list must 
contain a pointer to locales/en/icon.jpg, and icon.png, which is at 
the root of the widget. The icons list needs to be in the correct order, 
where locales/en/icon.jpg must be first and icon.png must be second.


Following Step 9 and using Rule for Finding a File Within a Widget 
Package I always get these the other way around, as icon.png is in 
front of icon.jpg in the default icons list

I agree, see my previous mail.



==
bm.wgt

✔ Tests the UA's ability to deal with custom icon declaration in the 
config document and matching default icons. To pass, the icons list must 
contain a pointer to locales/en/icon.jpg and icon.png, which is at 
the root of the widget. The list needs to be in the correct order, where 
locales/en/icon.jpg must be first and icon.png must be second.


Following Step 9 and using Rule for Finding a File Within a Widget 
Package I always get these the other way around, as icon.png is in 
front of icon.jpg in the default icons list

I agree but for a different reasons. The reason here is that icon.png is added as a result of Step 7 
Process the Configuration Document whereas locales/en/icon.jpg is added as a result of Step 9 
Process the Default Icons. Since Step 9 happens after Step 7, the JPG icon happens after the PNG.

Actually, I have a problem with the way the test suite result are expressed. 
Since there is no normative algorithm for the selection of the actual displayed 
icon, why should the test suite results but so strict. In particular, why does 
an implementation need to list all icons, if its policy is to select the first 
one, correct according to the spec, and that matches its needs. For example, 
one could say:

To pass, the icons list must contain a pointer to either locales/en/icon.jpg or icon.png, which is 
at the root of the widget. If both are listed, the list needs to be in the correct order, where locales/en/icon.jpg 
must be first and icon.png must be second.

Cyril 
--

Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] test-cases for icons: some possible errors

2009-12-09 Thread Cyril Concolato

Robin,

Robin Berjon a écrit :

On Dec 9, 2009, at 14:31 , Cyril Concolato wrote:

Actually, I have a problem with the way the test suite result are expressed. 
Since there is no normative algorithm for the selection of the actual displayed 
icon, why should the test suite results but so strict. In particular, why does 
an implementation need to list all icons, if its policy is to select the first 
one, correct according to the spec, and that matches its needs. For example, 
one could say:


Agreed, I think we should test for what the *first* icon is in the list (the 
one that's selected). Listing all the others isn't useful, they're never used.

I'm not sure the first one is always selected. The order is implied by the default icons table but a UA may decide that it prefers PNG over SVG (e.g. for processing requirements) even if it supports both. 


Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



[widgets] test suite, the width/height attribute

2009-12-04 Thread Cyril Concolato

Dear Widgets-experts,

While checking some of the tests, I found some unclear processing with regards 
to the width and height attribute of widget element. The spec says:

If the width attribute is used, then let normalized width be the result of applying 
the rule for parsing a non-negative integer to the value of the attribute. If the 
normalized width is not in error  and greater than 0, then let widget width be the value 
of normalized width. If the width attribute is in error, then the user agent must ignore 
the attribute.

It explicitely says greater than 0 which means that 0 should not be allowed, 
but the test suite says for c9.wgt that the result should be 0. This seems inconsistent. 
On top of that, the spec seems to make the distinction between 'null' (when in error) and 
'0' (not specified). From an implementation point of view, I would prefer two cases:
- specified, not in error, greater than 0, width = the specified value
- in error or not specified, width = null, empty or 0. 


Actually, I would prefer 0 since then the attribute can be implemented as an 
integer not as a string.

What do you think ?

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] element-based localization

2009-12-01 Thread Cyril Concolato

Hi Marcos, Robin,

Marcos Caceres a écrit :

On Mon, Nov 30, 2009 at 3:41 PM, Robin Berjon ro...@berjon.com wrote:

On Nov 27, 2009, at 20:55 , Marcos Caceres wrote:

On Thu, Nov 26, 2009 at 2:40 PM, Cyril Concolato
cyril.concol...@enst.fr wrote:

I'm trying to implement the element-based localization and I found the spec
unclear with regards to the inheritance of th xml:lang attribute and I would
like to propose some improved text.
First, this attribute is listed as an optional attribute of the widget
element but the widget element is not localizable, so one does not
understand why.

D'oh! that should be a localizable: yes. Thankfully, that's there
for author clarification.

Really? I wouldn't have thought so. There's a difference between you can have xml:lang there and 
it is meaningful to have xml:lang there (or on its ancestors). You can have xml:lang on widget, 
but the widget element cannot really be localised (you can't have two, choosing between them depending on 
locale). It's not a huge difference, but putting localisable: yes on widget would confuse me.



Agreed.

I agree too, the widget element should stay with localizable: no but with a possible 
xml:lang attribute.





I've added this to the editor's draft:

As part of their definition, the XML elements of the configuration
document are marked as being localizable via xml:lang with either the
word yes or no. An author can use the xml:lang attribute on any
XML element, including any element in the widget namespace. During
Step 7, the user agent will apply the standardized behavior of
xml:lang specified in the [XML] specification (i.e. inheritance and
propagation of the xml:lang attribute will occur on child elements on
which it was not explicitly used - see example below to see how this
inheritance and propagation works). Regardless of whether xml:lang was
inherited or explicitly used in an element, a user agent will only use
the value of an xml:lang attributes for the purpose of element-based
localization in Step 7 when that element was explicitly marked with
the text Localizable via xml:lang: Yes as part of that elements
definition.

WDYT?

I think that this is even more confused than the original :) To clarify, I think you need to make the same distinction I made above re 
can have xml:lang and supports being localised. Otherwise you get sentences like elements of the 
configuration document are marked as being localizable via xml:lang with either the word yes or no. An author can 
use the xml:lang attribute on any XML element, to which I can only reply ebbeh?.

How about:


The xml:lang attribute can be used on any element in order to indicate which 
language is used in the content and attribute values of that element. Its value 
is inherited, such that if an element has an xml:lang attribute, all of its 
descendants are considered to be in that language as well, unless they specify 
their own xml:lang attribute. Note that an element can indicate that it is in 
no specific language by setting xml:lang to the empty string, irrespective of 
whether any of its ancestors has an xml:lang attribute.

Some of the elements in the widgets namespace are defined to be localisable. 
This means that they will be processed in a specific manner if they have an 
xml:lang value (directly or through inheritance), as described in detail in 
Step 7.


WDYT?


I *really* like it; you never fail to impress Mr Berjon :) ... but the
first para should just be a Note: (we don't want to have that in as
normative text because it describes behavior specified in the XML
spec... hence, I would add as specified in [XML], bla bla bla). The
second paragraph can serve as a normative definition to which all
localizable via xml:lang link to. Can you live with that?

I agree with Robin's text and with your suggestion to have as specified in 
[XML].

Cyril


If you can, I have added the above to the spec. With that, we are
ready to go to CR so please give me your consent.




--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] test-suite, default xml:lang

2009-11-27 Thread Cyril Concolato

Cyril Concolato a écrit :

Hi all,

I'm trying to understand the difference between two tests:
[1] 
http://dev.w3.org/2006/waf/widgets/test-suite/test-cases/ta-UEMbyHERkI/000/config.xml 

[2] 
http://dev.w3.org/2006/waf/widgets/test-suite/test-cases/ta-UEMbyHERkI/003/config.xml 



In [1], the first description element is supposed to be the valid one 
(it does not have an xml:lang attribute).
In [2], the first description element as a dummy xml:lang that's not 
supposed to match anything. The second description element does not 
have the xml:lang attribute, but according to the expected result, it 
should not be the selected one. I don't understand why? Can you explain 
what the user locale should be in both cases?
The test suite document indicates that it should be en. If this is the 
case, in [1] no description element shall match. Otherwise you probably 
want to indicate that some tests assumes * like [1] and others en 
like [2]. Am I wrong?

Actually, I found a sentence that I missed in previous readings, which explains 
the difference between [1] and [2]:
In the case whereby the author does not use an xml:lang attribute, and no element 
of a particular type with xml:lang matches the user agent locales, the user agent will 
use the first element that is unlocalized content, in document order, that matches the 
element type being sought.

As a clarification can you tell me what would be the name value for the following config documents 
assuming the user locale is en only (no *)

widget xmlns=http://www.w3.org/ns/widgets;
name xml:lang=frA/name
name xml:lang=krB/name
name xml:lang=itC/name
/widget

My guess would be: 

widget xmlns=http://www.w3.org/ns/widgets;
name xml:lang=frA/name
name xml:lang=krB/name
nameD/name
name xml:lang=itC/name
/widget

My guess would be: D

Am I correct?

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



[widgets] editing problem

2009-11-27 Thread Cyril Concolato

Hi Marcos,

Reading the rule for identifying the media type of a file in the editor's draft [1], I think there is an editing problem. The first 4 bullets are numbered (1,2,3,4) and rest of the bullets are not which makes the algorithm refer to step 10 and 11 that don't exist. 


Regards,
Cyril

[1] 
http://dev.w3.org/2006/waf/widgets/#rule-for-identifying-the-media-type-of-a0
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



[widgets] element-based localization

2009-11-26 Thread Cyril Concolato

Hi,

I'm trying to implement the element-based localization and I found the spec unclear with regards to the inheritance of th xml:lang attribute and I would like to propose some improved text. 


First, this attribute is listed as an optional attribute of the widget element 
but the widget element is not localizable, so one does not understand why. 
Then, many other elements (author, preference, icon, content ...) don't list 
this attribute and are not localizable but they can inherit the value of this 
attribute. The rest of the elements may have the attribute specified or 
inherited and use it for localization.

The paragraph explaining this behavior says:
If an element is marked as being localizable via xml:lang with the word no, it 
means that the element is not localizable via element-based localization. In other words, exclusion 
of an xml:lang  on an element indicates that that element is unlocalized content, except in the 
case whereby a parent element uses xml:lang  (this maintains consistency with the behavior of 
xml:lang as specified in the [XML] specification). Explicitly declaring xml:lang overrides any 
xml:lang value inherited from a parent element.

I think this paragraph (especially the last 2 sentences) are unclear. I would 
propose that you clarify as follows:

As per [XML] specification, the xml:lang attribute can be specified on any element, including 
in the widget namespace, and the normal behavior for this attribute shall be applied (i.e. 
inheritance processing, and propagation of the xml:lang attribute on elements on which it is not 
specified). However, in this specification, the value of the xml:lang attribute (inherited or 
specified) shall be used for element-based localization only on the elements that indicates 
Localizable via xml:lang: Yes.

I would also propose to remove the definition of the xml:lang attribute such as:
xml:lang

   Authoring Guidelines:It is optional for authors to use the xml:lang attribute 
with an name element.
because even if not written, XML allows specifying this attribute on any 
element.

Finally, I would also create some tests in the test-suite to check that 
inheritance is applied and used or not depending on the element type.WDYT?

Best regards,

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



[widgets] test-suite, default xml:lang

2009-11-26 Thread Cyril Concolato

Hi all,

I'm trying to understand the difference between two tests:
[1] 
http://dev.w3.org/2006/waf/widgets/test-suite/test-cases/ta-UEMbyHERkI/000/config.xml
[2] 
http://dev.w3.org/2006/waf/widgets/test-suite/test-cases/ta-UEMbyHERkI/003/config.xml

In [1], the first description element is supposed to be the valid one (it does not have an xml:lang attribute). 

In [2], the first description element as a dummy xml:lang that's not supposed to match anything. The second description element does not have the xml:lang attribute, but according to the expected result, it should not be the selected one. I don't understand why? Can you explain what the user locale should be in both cases? 


The test suite document indicates that it should be en. If this is the case, in [1] no 
description element shall match. Otherwise you probably want to indicate that some tests assumes 
* like [1] and others en like [2]. Am I wrong?

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] about test d1.wgt

2009-11-26 Thread Cyril Concolato

Hi Marcos,

Marcos Caceres a écrit :

Hi Cyril,

On Fri, Nov 20, 2009 at 5:50 PM, Cyril Concolato
cyril.concol...@enst.fr wrote:

Hi,

The test d1.wgt is about the src attribute of the icon element. It says that
it tests the following assertion:
If the src attribute of this icon element is absent, then the user agent
must ignore this element.
but the config.xml contains an src attribute with an empty value. This seems
a bit different to me. Maybe you should modify the spec as follows:

If the src attribute of this icon element is absent *or empty*, then the
user agent must ignore this element.



Well, you get the same result when you actually search for the file
, as it won't be found. But I agree, a simple clarification there
won't actually hurt or change the ways UAs work at the moment.


Also you should make sure the tests are aligned between the icon element and
the content element. There does not seem to be such test with the content
element. If you make such test, you should also align the spec in the same
manner.


I'm not sure I understand, can you design the test to show what you
mean. I can then add it to the test suite.

I meant that there is test like:
widget xmlns=http://www.w3.org/ns/widgets;
 icon src=/
/widget

but no test like:
widget xmlns=http://www.w3.org/ns/widgets;
 content src= /
/widget

Regards,

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] About the test suite

2009-11-20 Thread Cyril Concolato

Hi Robin,

Robin Berjon a écrit :

On Nov 14, 2009, at 04:30 , Marcos Caceres wrote:

Also, we are working on an implementation of the widget spec but we don't
have support for HTML, only SVG. The tests are currently designed with HTML
start files. Would it be possible to have alternative versions with SVG
start files ?

Sure! I'm happy to include that. However, I will need your help to
make that happen. If you can commit some time, then we can talk about
how we get SVG as a standard part of the test suite. WDYT?


That should actually be reasonably trivial. Most of the HTML documents in the 
test suite are the same green/red/grey documents. It's easy to make the same in 
SVG, and then replace all the HTML documents with the same hash with their 
corresponding SVGs, renaming the .html in the config files. That should leave a 
few to change manually, but nothing horrible.

Yes I agree, that should not be difficult, I've already manually created the 
green/red SVG files. But I was wondering about the order given in the default 
start files table. For example, if a widget package contains both a index.htm 
and index.svg, is the UA required to use index.htm ? If this is the case we 
need to duplicate the tests. If not, we can add the SVG files and use a single 
test (for most cases).

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



[widgets] default start file table vs. src attribute

2009-11-20 Thread Cyril Concolato

Hi all,

While implementing the required features to pass the tests of the test suite, I was 
wondering if you really want to keep the default start file table. The benefit of 
this table seems to be just avoiding the use of a content element with an src 
attribute in the config file while the drawback is that you have to scan your zip 
file for all files in order. The spec and conformance would be simpler without that, 
without losing features I think. WDYT?

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] default start file table vs. src attribute

2009-11-20 Thread Cyril Concolato

Robin Berjon a écrit :

Hi Cyril,

On Nov 20, 2009, at 17:58 , Cyril Concolato wrote:

While implementing the required features to pass the tests of the test suite, I was 
wondering if you really want to keep the default start file table. The benefit of 
this table seems to be just avoiding the use of a content element with an src 
attribute in the config file while the drawback is that you have to scan your zip 
file for all files in order. The spec and conformance would be simpler without that, 
without losing features I think. WDYT?


I actually like it, it's one less thing that we need to specify (I was 
unfavourable to making the configuration requires in the first place). I've 
implemented it and it works nicely. Yes, it's a bit of a performance hit but 
it's not so bad and you can cache it easily.

I agree that it's not a big burden. I think it's more a question of taste. I would prefer 
putting more in the configuration than less. What do you mean by you can cache it 
easily ?

Cyril

--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] default start file table vs. src attribute

2009-11-20 Thread Cyril Concolato

Marcos Caceres a écrit :

On Fri, Nov 20, 2009 at 4:58 PM, Cyril Concolato
cyril.concol...@enst.fr wrote:

Hi all,

While implementing the required features to pass the tests of the test
suite, I was wondering if you really want to keep the default start file
table. The benefit of this table seems to be just avoiding the use of a
content element with an src attribute in the config file while the
drawback is that you have to scan your zip file for all files in order. The
spec and conformance would be simpler without that, without losing features
I think. WDYT?


The content element is not mandatory, so you kinda need the table.
Also, it needs to be specified what precedence a user agent gives to
loading files, which is the second purpose of the table. The last
purpose of the table is to tell a user agent what MIME type to use for
each file type, which is also fairly important.

As I replied to Robin, I'd rather make it more explicit in the config file. I 
think it would make it more readable/understandable without requiring to 
know/hard-code all the default values. It's a question of taste. My suggestion 
was more to mandate the content element, to mandate a type attribute and to 
allow nesting them for indicating the precedence or use document order 
(multiple content elements, like the icon element).

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



[widgets] about test d1.wgt

2009-11-20 Thread Cyril Concolato

Hi,

The test d1.wgt is about the src attribute of the icon element. It says that it 
tests the following assertion:
If the src attribute of this icon element is absent, then the user agent must 
ignore this element.
but the config.xml contains an src attribute with an empty value. This seems a 
bit different to me. Maybe you should modify the spec as follows:

If the src attribute of this icon element is absent *or empty*, then the user agent 
must ignore this element.

Also you should make sure the tests are aligned between the icon element and 
the content element. There does not seem to be such test with the content 
element. If you make such test, you should also align the spec in the same 
manner.

Cyril
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



[widgets] About the test suite

2009-11-13 Thread Cyril Concolato

Hi all,

I was reviewing the overview of the test suite [1] and also the compatibility 
matrix document [2]. I had two questions.

Why do the names of the tests have to be so cryptic (e.g. ta-RRZxvvTFHx, 
ta-dxzVDWpaWg, ...)? Could you use meaningful names like default-start-file-01, 
default-start-file-02, mime-01, mime-02, magic-number-01, ...

Also, we are working on an implementation of the widget spec but we don't have 
support for HTML, only SVG. The tests are currently designed with HTML start 
files. Would it be possible to have alternative versions with SVG start files ?

Regards,
Cyril 


[1] http://dev.w3.org/2006/waf/widgets-api/test-suite/
[2] 
http://samaxes.svn.beanstalkapp.com/widgets_compatibility_matrix/trunk/index.html
--
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



Re: [widgets] Comments on LCWD #3

2009-10-27 Thread Cyril Concolato

Hi Marcos,

Marcos Caceres a écrit :

Hi Cyril,
Thank you for again taking the the time to review the PC spec...
comments below.

2009/10/25 Cyril Concolato cyril.concol...@enst.fr:

Dear all,

I made a review of the current specification [1] and I have some comments. I 
realize that I'm sending these comments quite late in the process but I 
couldn't make an earlier review. The purpose of these comments is not to delay 
the publication of the specification. The purpose is more to understand the 
rationale behind the technical choices that have been made and to facilitate 
implementation.
Here are my comments:

1. The handling of localization is different between the icon element and the content 
element. The icon element does allow element-based localization using the xml:lang attribute 
and it also allows folder based localization, while the content element only allows 
folder-based localization. Is it an error or can you give the rationale?



Removed xml:lang support (we actually did this a while ago, but in the
test suite version of the spec - this will be in the new LCWD to be
published tomorrow):

http://dev.w3.org/2006/waf/widgets/Overview_TSE.html

I don't understand what you mean. The discrepancy between the two elements is still 
there in this version. Is your plan to remove also xml:lang on the icon 
element and rely on folder-based localization?




2. The use of media types.
2.a The content element defines a type attribute. Why doesn't the icon 
element do the same?


Yes, it probably should. No one requested this feature and [SNIFF]
(see spec for link) covers most of the use cases.

Yes, I think it should, relying on sniffing does not seem to me to be a good 
practice.




2.b Why is section 9.1.10 Rule for Identifying the Media Type of a File 
needed? This seems akward to do type sniffing. Why not using a media type given in the 
configuration file?



Because content's @type is an optional attribute, hence you need
sniffing. There is no other way to determine the type.

That's exactly my question. Why @type is not mandatory ?




2.c From 7.11.2, it seems that there can be several icon elements (zero or more) 
differing by their media types (SVG, PNG ...). Why is this not allowed for the 
content element (zero or one), e.g. HTML, SVG ...?



Please explain the use cases you have in mind (this is on the V2
roadmap, btw - but would like to hear what ideas you have).

I'm thinking about widget packages which can contain multiple representation of 
the widgets in different formats (HTML, SVG or proprietary) so that a User 
Agent which does not support one of the format, e.g. HTML, can use an 
alternative, e.g. SVG.




3. Unpackaged widgets. Have you envisaged delivery of unpackaged widgets? Is it 
in the roadmap of the
group?


If I understand what you mean, this is already supported: Google for
Apache Wookie project and Opera Unite.

Another interpretation of the above is:

http://some.place/widget.wgt!/some/data

That is, accessing stuff in a package as as if it was a resource via a
URI (like its done with Jar files). I personally don't think this is
good use case for widgets. If they are on a server, then they should
just be served as resources.

Anyway, I'll let you tell us what you mean.

I meant that widgets may not be delivered in a package but as separate 
individual resources. This would imply changes to the current spec because for 
instance one cannot do localization by checking each locale subfolders but one 
can use e.g. HTTP headers.




For example, have you envisaged registering a media type for the XML 
configuration file?



No, not yet. However, I don't think it's necessary as it can just be
served as application/xml and semantics acted upon from interpreting
the namespace.

I see but I was mentionning it in the context of unpackaged delivery, ie. you 
need to identify that you're downloading a widget so the mime type could be 
useful.

Best regards,

Cyril


--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 



[widgets] Comments on LCWD #3

2009-10-25 Thread Cyril Concolato

Dear all,

I made a review of the current specification [1] and I have some comments. I realize that I'm sending these comments quite late in the process but I couldn't make an earlier review. The purpose of these comments is not to delay the publication of the specification. The purpose is more to understand the rationale behind the technical choices that have been made and to facilitate implementation. 


Here are my comments:

1. The handling of localization is different between the icon element and the content element. The icon element does allow element-based localization using the xml:lang attribute and it also allows folder based localization, while the content element only allows folder-based localization. Is it an error or can you give the rationale? 

2. The use of media types. 

2.a The content element defines a type attribute. Why doesn't the icon element do the same? 


2.b Why is section 9.1.10 Rule for Identifying the Media Type of a File 
needed? This seems akward to do type sniffing. Why not using a media type given in the 
configuration file?

2.c From 7.11.2, it seems that there can be several icon elements (zero or more) 
differing by their media types (SVG, PNG ...). Why is this not allowed for the 
content element (zero or one), e.g. HTML, SVG ...?

3. Unpackaged widgets. Have you envisaged delivery of unpackaged widgets? Is it 
in the roadmap of the group? For example, have you envisaged registering a 
media type for the XML configuration file?

Best regards,

Cyril

[1] Widgets 1.0: Packaging and Configuration, W3C Working Draft 22 October 
2009, http://dev.w3.org/2006/waf/widgets/
--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat 





Re: [Widgets] URI Scheme revisited.... again

2008-10-11 Thread Cyril Concolato


Hi,

It seems to me that Requirement 6 should be split into two requirements:
A. A conforming specification MUST specify or recommend an addressing scheme to 
address the individual resources within the widget resource at runtime.
B. A conforming specification MUST specify or recommend an addressing scheme to 
address individual widget instances.

For requirement A, I think that, given that the WG specifies a Packaging Format for Widget, it 
could define as well a Fragment Identifiers syntax for this package. This would have the advantage 
of separating/hiding the protocol used to retrieved the widget and therefore address the problem of 
The addressing scheme MUST NOT expose the underlying file system (if any). I think 
authors are also used to that mechanism and therefore would satisfy The addressing scheme 
SHOULD be one that web authors would feel comfortable using or to which they are already 
accustomed.

For requirement B, correct me if I'm wrong, but since the exact identifier of a 
widget instance can only be known at runtime, I don't see how an author can 
determine it declaratively as a URL before instantiation. So, the URL to the 
widget instance has to be created at runtime as well. Therefore, I imagine that 
there could be an API to do the following: querying the available widget 
instances, then requesting a URL (internal to the User Agent) to a particular 
widget instance and finally creating the final URL using the previous URL and 
appending a proper fragment identifier.

Therefore it seems to me that a new URI scheme is not necessary. Where is my 
reasoning wrong?

Regards,

Cyril


Marcos Caceres a écrit :

Hi Mark,
On Thu, Oct 9, 2008 at 6:00 AM, Mark Baker [EMAIL PROTECTED] wrote:

On Wed, Oct 8, 2008 at 3:35 PM, Marcos Caceres [EMAIL PROTECTED] wrote:

snip

Any hierarchical URI scheme would seem to be able to meet those
requirements.  So why not, for the sake of argument, file:?

Yes, file: might be ok. But where is the spec that defines file:? I
can't find it.

Good question.  At least twice during the past 15 years or so,
somebody's tried to write a spec for it, but both times that's ended
in failure (e.g.
http://tools.ietf.org/id/draft-hoffman-file-uri-03.txt ).  I brought
it up only as an example, because it doesn't carry all that network
resource mental baggage that many people commonly associate with
schemes such as ftp or http.  It's still possible to use it of course,
as long as the fuzzy areas are avoided.



I see what you mean, the Hoffman draft above reads more like a here
is a list of what is wrong with file: rather than a spec. And rfc1738
has been obsoleted.


But I wonder whether the scheme really matters very much.  What kind
of intra-package references do you expect to be able to resolve?  Will
they all be relative, or will there be absolute ones?  If it's just
relative references, then any hierarchical one will do, as the
consuming user agent can just mint their own base, be it an http URI,
a file URI, or otherwise.


We use both relative and absolute URI references, and the base is
derived from the i18n model we have introduced. The reason we don't
want to allow vendors to mint their own is that there are potential
security and privacy issues related to URI schemes such as file:. For
instance, because Dashboard uses file: it is very easy for me to
work out what the username and home directory of a user on MacOsX by
simply picking up any DOM node that contains a dereferenced URI (eg.
by examining an img's src, I get something like
file:///Users/marcos/Library/widget/Default.png).

Personally, the solution I keep coming to is something like :

widget-uri = http://; widget-engine [: instance-id] /
package-name path-absolute [# fragment]

Where widget-engine is something akin to using, say, localhost, but
uses some arbitrary string that identifies the engine (e.g.
theFooEngine). The optional instance-id would be a string that
uniquely identifies a widget instance for the purpose of cross-widget
communication. However, I can foresee that there may be problems with
thieving http's port semantics to uniquely identify an instance (so we
leave this out until version 2). The scheme would only support GET
requests. For example,

http://theFooEngine/barWidget.wgt/index.html#welcome

Kind regards,
Marcos



--
Cyril Concolato
Maître de Conférences/Associate Professor
Groupe Mutimedia/Multimedia Group
Département Traitement du Signal et Images
/Dept. Signal and Image Processing
Ecole Nationale Supérieure des Télécommunications
46 rue Barrault
75 013 Paris, France
http://tsi.enst.fr/~concolat