- From: Eduardo Casais <casays@yahoo.com>
- Date: Tue, 1 Sep 2009 08:43:10 -0700 (PDT)
- To: public-bpwg@w3.org
I have a few remarks to the draft section on SVG/Canvas
posted by Jeff Sonstein.
1. SCOPE
The text entirely omits discussing Flash (lite), although
this technology is squarely in the scope of SVG and canvas,
has been available on mobile devices for far longer than
canvas, and its availability is very much comparable to
SVG. Flash lite is much more utilized in many markets than
SVG -- I believe it is the situation in the Far East; the
W3C Korean colleagues could confirm or deny this.
Ignoring this important technology is not exactly a good
service to the developers' community. I surmise there is
a reluctance to deal with proprietary approaches, but then
the text should make a honest stand and clearly justify
why Flash lite is not being considered in best practices.
2. TECHNOLOGY APPLICABILITY
It seems to me that the differences between both technologies
are presented in a somewhat misleading form. As a matter of
fact:
a) "Both SVG and the Canvas tag [...] are useful for their
generalized drawing capabilities": SVG does not just supports
drawing; it also features animation capabilities, management
of user-related events, linking, and, in the case of the
latest SVG tiny 1.2, even multimedia (synchronized audio,
video, graphics).
b) "Use Canvas where drawn contents (blocks) are to be
under the control of JavaScript": with SVG tiny 1.2, one
can manipulate the graphical elements with Javascript as
well.
c) "Use Canvas Tag For Dynamic Graphics": from its
capabilities, SVG appears to be as well-suited as Canvas
for dynamic graphics. In fact, the proposed text mentions
"Use SVG where drawn elements (children) must be available
as data and may be manipulated dynamically" -- clearly
implying that canvas is not appropriate for dynamically
handling graphical objects.
SVG is more richer and more powerful than Canvas -- and
as a consequence, substantially more complex. There are
also important differences between the main versions of
SVG actually implemented on mobiles (tiny 1.1, 1.1+ and
1.2; basic is exceptionally, if at all, supported). These
characteristics should be made explicit in the document.
Another fundamental issue is why an application would
require its graphical content "being visible [probably
meaning 'manipulatable'] as data" or not. A couple of
short examples would be in order (from simply panning
and zooming graphs as in maps, to more complex
manipulations such as the edition of technical diagrams,
vs. drawing pure fixed user interface elements such as
buttons).
3. DETAILED COMMENTS
"Given the extremely wide variety in performance due to
the large number of combinations and permutations of
handset hardware and operating system, it made sense
to me to remove all references to speed": it may still
make sense to mention performance if one can make a
substantiated, reasonable consideration about the
spread of performance in both technologies. As a
developer, knowing that performance with technology
A varies a lot more across various target devices and
OS than with technology B is useful information.
"Due to the user-interface requirements of mobile devices,
[...etc...]": This is actually a very relevant
discussion, but I wonder whether it should not be
placed on its own section elsewhere, as it is a general
issue for scripting and markup in mobile devices.
"For example:" This should be completed with the skeleton
of the drawButton script function.
<script type="application/ecmascript">
function drawButton(canvasId) { ... } </script>
That would be it. I hope I am not making myself unpopular
with the MWABP editors.
E.Casais
Received on Tuesday, 1 September 2009 15:43:53 UTC