A Self-Service Feedback Form That Resizes Screenshots
The fastest way to learn what is wrong with a product is to let people tell you from inside it. ZopNight, ZopDay and ZopCloud now share a Feedback item in the sidebar, directly above Settings. It opens a short form: rate the product you are in from 1 to 10, add a comment if you like, and attach up to five screenshots by picking, dragging or pasting them. The feedback goes straight to the Zop team.
For a platform team, the difficult part is not the form. It is what the form does with a screenshot, because a raw screenshot is large, slow to send, and can carry more than the person meant to share.
The Image Is Rebuilt Before It Leaves the Browser
Every screenshot is resized in the browser before anything is uploaded. The image is re-encoded as WebP and scaled so that it is no wider than 1920 pixels. Re-encoding drops the original file’s metadata, including EXIF fields such as device and location, so the picture that leaves the machine is the pixels and nothing else.
Each image uploads the moment it is added, not when the form is submitted. A slow connection pays the cost one image at a time while the person is still typing a comment, and pressing Submit at the end only has to send a rating and a few words.
Limits Chosen So the Form Stays Short
The rating from 1 to 10 is the only required field. A comment can run to 4000 characters, and a maximum of five screenshots can be attached. Those limits keep the form closer to a thirty second task than a bug report, which is what raises the number of people who finish it.
The product is never typed by the person. Each submission carries the name of the product the person is currently in, either zopnight, zopday or zopcloud, taken from the active product. That removes a question the person would otherwise have to answer and removes a mistake the team would otherwise have to guess at when sorting feedback.
| Field | Rule |
|---|---|
| Rating | Required, 1 to 10 |
| Comment | Optional, up to 4000 characters |
| Screenshots | Optional, up to 5, WebP, at most 1920 pixels wide |
| Product | Sent automatically from the active product |
A Menu Item That Costs Nothing Until Opened
The Feedback screen is loaded lazily, so it adds nothing to the first page load. It is prefetched shortly after the first paint, which means that by the time someone clicks it, the code is usually already in the browser and the form opens immediately. In playground mode, where there is no real account to send feedback from, the item is hidden.
Two analytics events record when the form is opened and when it is submitted. Together they show how many people open the form and how many finish it, which is the number a feedback form most needs to improve.
Staff See Thumbnails Through Links That Expire
On the receiving side, each submission appears in the internal console under Marketing → Activities, with a Feedback filter. Screenshot thumbnails are served through signed links that last 30 minutes. A link copied out of the console expires after half an hour, so a screenshot is visible to staff who need it without ever having a permanent public address.
This works when staff open the screenshot within the link’s lifetime, and the console simply asks for a fresh link each time a page is viewed. It would not be appropriate for a link that has to be shared for days, and that is deliberate: feedback screenshots can contain real customer data, and short-lived links are how a team treats them that way.
