I am currently building a piece of software for the company I work for. It essentially manages their documents including policies, procedures, and occurrence reports.
One UX related problem I am having is the variance between loading a small document with only text, and a large document with a bunch of images is quite big. A small document will take ~100ms while a large document will take 2-3 seconds. I've tried just having a spinner but it makes the program feel kind of unresponsive. Having a loading screen doesn't really work as opening small documents just makes it blink, which I felt was quite distracting.
So my question is: Is there a more elegant way of showing the user the program is busy when the "busy time" can range from 100ms to 3s?
My current thought was displaying an empty form with "loading..." in each of its fields, but I was unsure if things popping into view was a UX faux pas.