Anthony KanBuilding with AI
All Build Notes

Try the download on a real phone

A narrow preview cannot reproduce every browser boundary.

Getting startedAbout 2 min read

A visible image is not yet a downloadable image

Imagine a tool that combines an image and a caption into a card. The image displays correctly, but exporting the finished card fails. The difference may be in how the browser allows the page to read image pixels, rather than in the layout.

This is a general example. Downloading and sharing also depend on the browser, permissions, file handling and whether an action was initiated by the person. A desktop success cannot settle every phone path.

One rule applies beyond phones

Drawing a cross-origin image into a canvas without appropriate CORS approval can taint the canvas. Reading or exporting its pixels can then throw a SecurityError. This is a web security rule, not a restriction unique to phones.

Setting an image’s cross-origin mode also needs the image server’s cooperation. A controlled same-origin delivery route may be another design, but it must not become an unrestricted proxy for arbitrary URLs. Do not try to remove the browser’s protection just to make a download work.

Test the action, not only the width

On an actual phone, try typing, opening the keyboard, exporting, saving and sharing. Check a denied permission and a failed download too. Tell the person what happened and leave them a way to continue.

A responsive browser preview remains useful. I would keep it alongside the device test, with a clear idea of what each can and cannot show.

Further reading