In 2003, I climbed two poles in two countries to install web cameras on the outside of Canadian embassies that were still under construction, so that trade show visitors back in Canada could watch the buildings going up in something close to real time. The client was the Department of Foreign Affairs and International Trade (DFAIT) — the federal department that ran Canada’s diplomatic and trade promotion work before the 2013 reorganisation into Global Affairs Canada. The brief was straightforward to describe and considerably less straightforward to deliver: put cameras on those construction sites, get the images home, and make them watchable during trade events on the floor.
The constraint the era handed us
Live video streaming in 2003 was not the answer it would be a few years later. Consumer broadband was still rolling out unevenly even in Canada. The upstream link out of a construction site in a foreign capital, into a Canadian server, and back down to a trade show floor was not going to carry a continuous video feed. Even if the bandwidth had been there, the streaming codecs and the player technology of the time were not built for the kind of long-running, multi-source, embassies-on-three-continents display the trade shows wanted. The honest read of the technology in 2003 was that you could either ship something brittle and call it streaming, or you could ship something reliable and call it something else.
The workaround that made the show work
The cameras on the embassy poles were programmed to take a single JPG (Joint Photographic Experts Group) image every second and FTP (File Transfer Protocol) the file up to a remote server. Not SFTP (Secure File Transfer Protocol) — SFTP existed but was not yet the standard, and the cameras’ onboard firmware spoke plain FTP. The remote server received the images, wrote them to a known path under a predictable filename, and an HTML and JavaScript page on the trade show display polled that path on a refresh cycle. To a visitor standing in front of the screen on the show floor, the effect was a building changing every second — close enough to live that nobody on the floor cared whether it technically was.
The “high quality” setting on the cameras was 640 by 480. That was the era. A 640 by 480 image, dropped onto a trade show display through a polling refresh, looked appropriate to the time it was shown. Today it would read as low resolution; in 2003 it read as a remarkable thing to be watching at all — a construction crane swinging in a foreign capital, updating once a second on a screen in a Canadian convention hall.
The pole-climbing part
The other half of this project was not software. The cameras had to be physically mounted on poles outside the construction sites in positions that would actually frame the buildings as they rose, with line of sight to power and a network drop, and angled to keep the sun out of the lens through the working day. That meant going to the sites, going up the poles, and making the decisions about placement on the ground with whoever was running the construction. Software engineers do not get many opportunities to do work where the answer to “did it ship” depends on whether the mounting bracket holds in a wind storm in a foreign country. This one did.
- Client: Department of Foreign Affairs and International Trade (now Global Affairs Canada)
- Scope: Web cameras at two embassies under construction abroad, plus the trade show display software and on-site DFAIT staff training
- Stack: Network-capable web cameras, plain FTP upload at one frame per second, HTML and JavaScript polling display
- Period: 2003
The pattern still ships everywhere
The polling-and-refresh pattern that made this project work in 2003 is the same pattern that still powers a surprising amount of the web in 2026. Status dashboards. Sports scoreboards. Live blog updates. Construction webcam feeds in property-development sales offices. Weather radar on a regional news site. Election-night maps. Trading screens during quiet markets. Whenever the answer to “how do we make this feel live” is “fast enough is close enough,” what you are looking at is the same idea — capture small, ship small, refresh small, and let perceptual continuity do the work that a continuous stream cannot.
The honest engineering call in 2003 was not “we are limited by the technology.” It was “what kind of live experience can we actually deliver with the tools that exist, and how do we package it so it reads as the right kind of live to the people who are going to see it?” That question is older than streaming and will outlast it. The DFAIT trade show audiences in 2003 saw their embassies going up overseas in close to real time. That was the deliverable. The pole climbing was a bonus.