Anatomy of a Timeline

"The mapping of time," suggests Stephen Boyd Davis (2012), "has made only modest intellectual progress since it was invented 250 years ago" (p. 5). Rapid Photo Downloader maps the time photos and videos were created through its timeline. From the perspective of the last 250 years, Rapid Photo Downloader's timeline is modest. Although it does not herald an intellectual breakthrough, it is nonetheless unique among its peers, and valued by its users.

Timelines are missing from most photo applications — even giant photo management and editing programs like Lightroom. If they are implemented, it is partially or only as an afterthought. Rapid Photo Downloader's timeline originates in a user suggestion to group photos based on how much time elapsed between consecutive photos. I was happy to design and implement it because I had been wanting to undertake just such a feature for some years.

The best feature of Rapid Photo Downloader's timeline is how it groups content. Although it might initially look like a calendar, with its display of years, months and days, it is not a calendar. Instead, it shows clusters of photos and videos, and by selecting those clusters, you can focus on the content that interests you. The emphasis is on the content, not the container into which the content goes. It is more like dynamic timetable generated from your own work than it is a calendar.

Consequently, Rapid Photo Downloader's timeline does not have a rigid week-by-week or month-by-month display like you get with a calendar or a histogram, both of which show empty days or weeks. Those are helpful for some tasks, like providing a visual representation of the days you took photos compared to those you did not. Those tasks, however, are often unimportant when working with the photos and videos on your computer.

But the main drawback to a calendrical or histogram view is that we humans are not cognitively equipped to make great use of them — at least not with respect to the kinds of tasks a photographer needs to solve when looking back on their work. William Friedman (1990) argues our mind's ability to remember the time of things passed requires "a patchwork of processes and considerable effort . . . usually ending in imprecision" (p. 43). Our imprecision leaves us, he suggests, constructing "a chronological past as best we can" despite our cognitive limitations (p. 43).

But here is the rub: most photographers find it easy to mentally categorize photos into groups — the photos taken in the woods one afternoon, for instance, or the videos made at a client's wedding. Rapid Photo Downloader's timeline displays those groups. The assumption is that things that were made together probably go together.

Of course, dates and times are inherently useful even though we often struggle to remember them. That is why Rapid Photo Downloader's timeline is indexed by date and time.

Implementing the Timeline

Implementing the Timeline was challenging in three main respects. First, the code that transforms the groups into table rows and columns was sufficiently difficult that it took me two attempts to get it working flawlessly. The difficulty arises because a cluster of photos can cross the boundaries separating days, months and even years. For instance, photos of a new year's party typically start on the evening of the last day of the year and spill over into the morning of the first day of the next year. It is easy to describe and visualize, but the code is complex.

The second challenge was to make the timeline look attractive. The prototype was ugly but the current revision is now good enough. When I was developing the timeline, I was in the midst of rewriting the program's entire user-interface. I enjoyed looking for inspiration from other program's designs, but with the timeline there were not many.

The third challenge was internationalization. As I came to learn, plenty of languages do not use AM and PM. I had written the underlying Python code assuming all languages use a variation on the twelve hour clock. In reality, languages like German do not. It was a small bug, but one that had a big visual impact — the times would simply disappear from the timeline's display.

All-in-all, I'm proud of both the code powering the timeline and the fact that as of early 2022, Rapid Photo Downloader remains the only photographic tool that uses a timeline of its type. Part of my inspiration for writing this, however, is that I would like more programs to use a timeline. It would be wonderful if other programs could adopt and improve on Rapid Photo Downloader's timeline, innovating where necessary to produce tools that meet photographer's needs.


Davis, S. B. (2012). History on the Line: Time as Dimension. Design Issues, 28(4), 4-17. doi: 10.1162/DESI_a_00171

Friedman, W. (1990). About time: Inventing the fourth dimension. Cambridge, MA: The MIT Press.

Rapid Photo Downloader's Timeline in action
Men looking at a timetable in Delhi
Shoots spanning two days