The Ridiculous Engineering of Loading Screens
Source: The Ridiculous Engineering of Loading Screens, Enrico Tartarotti, 15:04, uploaded 2026-03-20, Watch Later position 134.
A loading screen gives a technical delay a visible shape. Tartarotti’s opening example is a form submission that finishes so quickly on a fast connection that the interface resembles an error. Adding a one-second minimum to the spinner makes the wait longer, yet the result feels safer. The delay carries information about the work the system is doing, even when the work itself takes almost no time.
He divides the subject into three layers. The first concerns the engineering of the wait itself. The second uses perception and behaviour to make a wait feel shorter or more trustworthy. The third applies the same techniques to AI, where the length and shape of a response can change how intelligent the machine seems.
Immediate feedback and the queue behind it
The form example points to a basic product decision. A button has to wait for the app to confirm that a request has arrived and been processed, which creates a loading state. Tools such as Notion, Figma, and Google Docs often make this state disappear by showing a change at once and saving it in the background.
Tartarotti ran into the problem whilst building Flask. Early users had to wait for a comment or a recording to save before they could record the next one. He made the interface assume that each change had succeeded, displayed it immediately, and placed the change in a queue. The app works through that queue in the background, saving each item in order. Audio and video use a second queue. When saving fails, Flask tells the user and leaves the change in the queue for another attempt.
Removing a few spinners creates a surprising amount of machinery. It also changes the user’s sense of trust. An important form or payment can feel more reliable when the interface waits for confirmation, even though an optimistic interface has saved the same information. Tartarotti’s distinction is practical: constant confirmation would frustrate people who make dozens of small changes during design work, whilst a payment or an important document needs a visible state that reassures the person that the meaningful item arrived.
He gives a social example. A person can scroll through the profile of a crush whilst worrying that a delayed tap will like a photograph from five years ago. Liking a photograph usually happens at once and shows no loading state. The action gains weight from its context, so the lack of confirmation makes the person uneasy. The interface has a different technical behaviour from the form, while the social meaning of the action changes what the wait feels like.
The same engineering problem appears in a file-copy dialog. A progress bar that reaches 99 per cent and stays there has usually failed to estimate the work in a useful way. Counting files gives each small file the same weight as a large one. Counting megabytes ignores the fact that a file system can take longer to copy many small files than one large file with the same total size. Dividing the transferred size by elapsed time also breaks when another transfer changes the speed midway through the operation.
Tartarotti describes the common compromise as a moving average. The system measures transfer speed over a recent window, such as the last ten seconds, and uses that average to predict the remaining time. The result remains an estimate because the future speed can change, yet the estimate avoids giving the whole history of the transfer equal weight.
Progress bars and the feeling of speed
The bar can also change the wait without changing the transfer. Tartarotti attributes research by Chris Harrison at Carnegie Mellon to the finding that adding stripes to a progress bar and moving them backwards, against the direction of progress, makes the bar feel 11 per cent faster. The shimmer animation that appears across loading bars therefore has a psychological function. It gives the eye a second motion to follow whilst the main bar advances.
Two loading indicators can run for the same duration and still create different impressions. When Flask loaded an asset, Tartarotti first used a rotating spinner that felt slow. Doubling its rotation speed left the loading time unchanged, while the faster motion suggested that more work was happening. The perceived pace follows the animation as well as the clock.
Gmail used a related form of preparation. Tartarotti says that, whilst he worked on the Gmail team, the service began loading an account after a person entered a username, before the password had arrived. The probability of a successful sign-in was high enough to start the work early. He connects the same idea to Instagram and Kevin Systrom: after a person took a photograph, Instagram could begin uploading it before the person reached the editing screen. If the person abandoned the post, the app could delete the unused upload. The progress bar that appeared after pressing upload therefore represented work that had already begun.
Occupied time and the shape of waiting
The second layer shifts from the mechanics of a prediction to the psychology of waiting. Google Flights and Skyscanner need time to gather flight information through old digital infrastructure. They fill that interval with messages about the search. Tartarotti refers to a Harvard Business School study in which people waited longer and rated a product more favourably when messages explained that the system was searching.
The messages do not need to report live work. He says Google Flights shows the same text for every search and takes the same amount of time each time, which suggests that the messages are pre-programmed. The text can even be absurd. The Sims made its loading screens memorable with phrases such as “reticulating splines” and “adjusting emotional weights”. The words give the wait an object, even when they describe nothing that the software is doing.
The principle Tartarotti attaches to the examples comes from a 1985 paper he calls The Psychology of Waiting Lines: occupied time feels shorter than unoccupied time. Uber could tell a passenger that a car will arrive in three minutes. Showing the car moving through the city gives the passenger something to follow, which changes the experience of those same minutes. Domino’s shows the stages of making a pizza for a similar reason. The display does not need to make the pizza arrive sooner when it gives the customer a sequence to watch.
Progress bars can use the same response to a visible endpoint. Tartarotti calls the tendency to speed up when a finish line is near the goal-gradient effect. He remembers doing most of a school or university project during its last hours because the deadline had become close enough to act on. A progress bar can therefore move slowly at the beginning and accelerate near the end. The calculation underneath can even make the last ten per cent take longer whilst the display makes it appear to pass quickly. People judge the wait through the shape of the progress as well as its total duration.
Video games have more room to work with long waits. In 1994 Namco released Ridge Racer for the PlayStation with a playable round of Galaxian during loading. Completing the mini-game unlocked eight extra cars. Namco patented the technique for twenty years, which kept other developers from using a similar mini-game in their loading screens. The loading screen became a small game with its own reward, so the player could spend the interval doing something that had value inside the larger game.
AI latency and perceived intelligence
The need to design waiting seems smaller now because laptops wake quickly and networks move data fast. Tartarotti dates a new problem to 28 November 2022, when AI chatbots began to put long responses in front of ordinary users. Compared with search and other familiar software, these systems often take long enough that the user watches the response arrive. Their speed becomes part of the evidence from which people judge intelligence.
He shows two chatbot interfaces that use the same model and return the same answer. The version that writes word by word feels more accurate and more thoughtful. Flask gave him the same result. Its purpose is to turn a recorded screen explanation into a written comment. The first version displayed the complete Gemini response as soon as it arrived. Users found that strange, so he introduced a delay between words even though the full message already existed. The change made the response feel as if someone were writing the comment in front of them, and users trusted it more. It also made the interaction longer.
The effect fits what Tartarotti calls the effort heuristic: people often treat a result that takes more effort or time as a better result. The mechanism extends to machines. Current language models stream words because they predict the next token and send the answer as it is generated. Tartarotti argues that the same streaming pattern also gives the user a sense of thought in progress. He says GPT-3.5, the model released in November 2022, could now respond almost instantly, yet an instantaneous answer would make people trust it less. The desired response has to feel fast enough to use whilst taking long enough to appear considered.
Google’s AI Overviews expose the tension. Google built its search reputation around speed and even reported the time taken by a search in milliseconds. When it added AI-generated answers, it kept the response fast. Tartarotti says that speed forced Google towards less capable models and that visible mistakes broke the trust that fast search had built. The same quality that made the older search product feel useful can make an AI answer feel careless when the answer arrives with the same speed.
He expects this relation to persist as models improve. People will keep wanting a response that takes enough time to signal intelligence, although a three-hour wait would exceed the useful range. The conclusion returns to the split he sees in current technology. AI can produce a sophisticated conversation whilst AirDrop can fail and printers can remain difficult to use. Tartarotti treats the mismatch as a consequence of the way technology gets built, although this video only points towards that larger explanation in its closing seconds.
Evidence limits
The queue, animation, and loading-state examples come from Tartarotti’s own products and interfaces. They show how a designer can change the experience of a fixed delay. The claims about an 11 per cent improvement, the Harvard Business School study, the 1985 waiting-lines paper, and the effort heuristic appear in the video without linked source details in its description. The notes above therefore preserve them as claims made in the video.
The video also compresses technical history into examples. The Gmail preloading, Instagram upload, Google Flights and Skyscanner messages, Namco’s patent, and Google’s AI Overviews each need product or archival evidence to establish their exact dates and mechanisms. The captions identify Kevin Systrom, Chris Harrison, Gemini, GPT-3.5, and Google, while the description supplies no references or chapters. The durable point remains narrower: a waiting state gives a person information about progress, and its timing, movement, wording, and level of detail can change what the same technical delay means.
Further reading / references
- Chris Harrison at Carnegie Mellon, whom Tartarotti credits for the finding that reverse-moving stripes make a progress bar feel faster. The video gives no paper title or link.
- The Psychology of Waiting Lines (1985), named in the video as the source for the claim that occupied time feels shorter. The video gives no author or link.
- Ridge Racer and Galaxian, the 1994 Namco examples used to explain playable loading screens and the associated twenty-year patent. The video gives no patent number or archival link.