Blog

  • Where the catalogue comes from

    Twenty-one films did not get typed in by hand. They were built from the Internet Archive’s public API, and the process taught us something we did not expect.

    The Archive exposes a metadata endpoint for every item, listing each file it holds. That matters because the obvious assumption — that a film’s video file is named after the item — is frequently false. Guessing the URL would have produced a catalogue of broken links. Reading the file list instead gave us a verified address for every single film.

    The surprise came from how we chose them. Our first query sorted by download count, on the reasonable theory that popular films are good films. What came back was mostly exploitation cinema, with a reel of Holocaust documentation footage in the middle of it.

    Popularity turned out to be the wrong question. We threw the ranking away and chose every title deliberately instead. An archive is not a pile of files that happen to be free — the choosing is the work. That is the difference between storage and a collection.

  • Curator’s note: German Expressionism

    Two films in this archive belong to the strangest movement in early cinema, and one of them is the reason horror films look the way they do.

    Das Kabinett des Doktor Caligari ( The Cabinet of Dr. Caligari ) was released in 1919 into a Germany that had just lost a war. Its sets are painted rather than built — walls lean at impossible angles, windows are diamonds, shadows are brushstrokes on the floor. Nothing is upright. The film is about a man who may be mad, told in a world that looks the way madness feels.

    The technique was partly a choice and partly poverty: painted canvas was cheap and electricity was scarce. Constraint produced a style, which is how style usually happens.

    Its influence ran directly into American film noir twenty years later, carried by directors who left Germany in the 1930s. If you watch The Stranger after Caligari, the hard diagonal shadows are the same idea in a different accent.

    Watch Caligari at night, and preferably without knowing the ending.

  • How the live comment stream works

    Open any film in two browsers and type a comment in one. It appears in the other within about three seconds, and the viewer count updates at the same time. Here is what is actually happening.

    Each open page asks the server a question every three seconds: is there anything newer than comment number N, and who else is here? The browser sends the highest comment id it already holds, so the server replies with only what is new — usually nothing at all, which costs a few hundred bytes.

    Comments and the viewer count are served by one request, not two. They refresh on the same schedule and appear in the same panel, so splitting them would have doubled the traffic for no benefit.

    The count works because every browser generates a random token and sends it with each poll. The server records when it last heard from each token and forgets any that go quiet for thirty seconds. Closing a tab sends nothing, so silence is the only signal available.

    Polling is not the most elegant answer — WebSockets would push instead of asking. But polling works everywhere, needs no extra server process, and for a comment stream three seconds late is not late at all.

  • We built our own video player

    The easy way to put a film on a web page is to paste in an embed code from somewhere else. We did not do that. Every film here plays inside a player we wrote, on our own page, with nothing redirecting anywhere.

    Underneath it is a plain HTML5 <video> element with the browser controls deliberately switched off. Everything you see — the play button, the clock, the scrub bar, the volume slider, fullscreen — is jQuery talking to the HTML5 media API.

    The interesting parts were the ones nobody notices. The timeupdate event fires several times a second, so the clock has to update without fighting you while you are dragging the scrub bar. The film’s duration is unknown until metadata loads, so the slider cannot be sized until then. Fullscreen has to apply to the wrapper rather than the video, or the controls disappear with it.

    It would have been faster to use somebody else’s player. We would also have learned nothing, and we would not be able to explain a single line of it.

  • Why every film here is free to watch

    Every film in this archive is in the public domain. That is not a loophole or an oversight — it is what happens when copyright expires, or when a rights holder failed to renew a registration under the rules that applied at the time.

    Several famous titles fell into the public domain by accident. His Girl Friday lost its protection because the copyright was never renewed. Others, like The Lost World, are simply old enough that protection has run out.

    We do not decide any of this ourselves. Every film here is drawn from the Internet Archive, and each entry records the rights statement the Archive publishes for that item. You will find it at the bottom of every film page, with a link back to the original.

    It matters because streaming a copyrighted film without permission is piracy, whatever a website calls itself. Building the catalogue from material that is genuinely free was a constraint we set before writing a line of code — and it is the reason this archive is small and curated rather than large and indiscriminate.