The great getImageData/putImageData conundrum ============================================= Current API: | Present | Future -----------------------------+--------------+--------------- Author does the right thing | it all works | it all works -----------------------------+--------------+--------------- Author assumes low-res data | it all works | data cropped -----------------------------+--------------+--------------- Summary: 50% change that pages will work well in future versions. 50% change that pages will fail badly in future versions. An API that provides both low-res and high-res (1:1) data: | Present | Future ---------------------------------------+--------------+--------------- Author uses high res correctly | it all works | it all works ---------------------------------------+--------------+--------------- Author uses high res, assumes low res | it all works | data cropped ---------------------------------------+--------------+--------------- Author uses low res correctly | it all works | data ugly ---------------------------------------+--------------+--------------- Summary: 33% change that pages will work well in future versions. 67% change that pages will be usable in future versions. 33% change that pages will fail badly in future versions. API is more complicated and has an essentially useless feature. Executive summary: We're screwed either way, but the more complicated API basically trades complexity for increasing the odds of pages working at all in future versions by 17%.