On Tue, Jun 18, 2013 at 8:33 AM, Ehsan Akhgari <ehsan.akhgari@gmail.com>wrote:
> Here are the three categories of things which I would like to see changed
> in the current spec:
>
> * Having more than one way to do things in the API. This is mostly the
> question of the alternate names which we're currently discussing.
> * Ways in which the API design introduces data race possibilities. This
> includes things such as allowing read-back from buffers used by the audio
> processing code, such as WaveShaperNode.buffer, AudioBuffer.getChannelData,
> etc. as previously discussed on the list. Removing these read-back
> mechanisms would make it possible to use copy-on-write techniques in order
> to make sure that we avoid copies where we can, and that web content will
> not be allowed to do things which introduce data races.
> * APIs which make it possible to write inefficient code. The synchronous
> decoding using AudioContext.createBuffer is the only one here that I can
> think of.
> * General Web API design best practices. This includes things such as
> using constructors instead of creator methods, using DOM event targets
> (which we have already fixed), using DOM Promises for callbacks as opposed
> to plain functions, etc.
>
#4 can be added in a level 2 spec. That creates more of #1, but #1 is a
nice-to-eliminate rather than a large practical problem, so I think we can
live with it. There's plenty of it already on the Web and it's not much of
an ongoing burden IMHO.
#2 must be fixed, but I think we've finessed it pretty well in our
implementation and hopefully the way we did it doesn't cause compatibility
problems. If it does we'll have to live with them.
#3 is another nice-to-eliminate-but-we-can-live-with-it.
The Web platform carries some really nasty features for compatibility's
sake. Web Audio, even in its current state, isn't going to be one of them.
Rob
--
Jtehsauts tshaei dS,o n" Wohfy Mdaon yhoaus eanuttehrotraiitny eovni le
atrhtohu gthot sf oirng iyvoeu rs ihnesa.r"t sS?o Whhei csha iids teoa
stiheer :p atroa lsyazye,d 'mYaonu,r "sGients uapr,e tfaokreg iyvoeunr, 'm
aotr atnod sgaoy ,h o'mGee.t" uTph eann dt hwea lmka'n? gBoutt uIp waanndt
wyeonut thoo mken.o w