On Feb 11, 2008 11:49 AM, Ian Hickson &lt;<a href="mailto:ian@hixie.ch">ian@hixie.ch</a>&gt; wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
If we have one API, high-res only:<br><br> &nbsp; People who use it correctly:<br> &nbsp; &nbsp; &nbsp;get good results both today and tomorrow.<br> &nbsp; People who use it wrongly:<br> &nbsp; &nbsp; &nbsp;get good results today.<br> &nbsp; &nbsp; &nbsp;will get cropped or visibly wrong results tomorrow.<br>
<br>If we have two APIs:<br><br> &nbsp; People who use it correctly:<br> &nbsp; &nbsp; &nbsp;get good results today.<br> &nbsp; &nbsp; &nbsp;may get either ugly results tomorrow, or good results tomorrow.<br> &nbsp; People who it wrongly:<br> &nbsp; &nbsp; &nbsp;get good results today.<br>
 &nbsp; &nbsp; &nbsp;get ugly results tomorrow.<br> &nbsp; More people will use it wrongly, since it&#39;s more complex.<br><br>So we trade cropped or visibly wrong results for ugly results, and good<br>results for possibly ugly results.<br>
</blockquote><div><br>Well, &quot;ugly&quot; here actually means &quot;visually just as good as today, but not as good as the results could be on a high-DPI device&quot;.<br>&nbsp;<br>Whereas &quot;will get cropped or visibly wrong results tomorrow&quot; could be so serious that browsers simply have to lock in to &quot;ugly mode&quot; forever to avoid them. Apparently I&#39;m not the only one worried about that.<br>
</div></div><br>Maybe the least sucky option is to leave the API as-is, hope nothing bad happens, and if it does then we do what Oliver suggested and make getImageData downsample to ensure a 1:1 ratio, breaking the getImageData/putImageData invariant but oh well. Then later when the world is ready, introduce getImageDataReallyThisTime....<br>
<br>(Alternatively: if the user is a Web developer, i.e. has Firebug installed, always make Gecko&#39;s canvas backing store 2 pixels per canvas unit! Just kidding. I think.)<br><br clear="all">Rob<br>-- <br>&quot;He was pierced for our transgressions, he was crushed for our iniquities; the punishment that brought us peace was upon him, and by his wounds we are healed. We all, like sheep, have gone astray, each of us has turned to his own way; and the LORD has laid on him the iniquity of us all.&quot; [Isaiah 53:5-6]