timeline

A Timeline of human history

pages-build-deployment GitHub release MIT license

This project creates a graph of Human history with python and reportlab. Version v3.5 replicates and expands the information of v1.1 from 2009 on one single page. With version 4.2 some images make it into the timeline after 15 years of slow development. See both for comparison below.

timeline 4.6

Compare this 4000 year timespan of version 4.2 from 2024:

timeline 4.2 first 4000 years

With the same time period in version 1.1 from 2009:

timeline 1.1

Create your own pdf file and fix mistakes on the fly

With a Jupyter Notebook you can download all required files and install all software in 2 steps in a virtual machine and then create a fresh pdf in the third step. Edit the downloaded files in your browser and repeat step 3 for an updated version:

Link to the Google Colab Jupyter Notebook

Reactivation 2023

After 14 years it was finally time to translate the project to English and share with my friends. In the years since 2009 I learned a lot about programming languages, vector graphics and possible solutions using pandas, csv files and reportlab (instead of matplotlib). In a first stage I translated the old OpenOffice documents to English. Then I collected data into csv/tsv files for later automated processing and graph generation. This way the translation to another language is “just” the change of one import file. So far I translated the first page:

timeline one 4050 - 1450 BCE

This project started on here on Github on June 10th, 2023. My last day of work.

Version history

Translations

Since v3.4 the language specific files have been separated from the program code, data information and list of colors. With some good bible translations I get use the reference location of names to get a start of a translation, since the very dates are not changing. This gives a start to translate into another language. With currently 235 text fields I have to rely on Google translate for a first attempt - and then need someone with good language skills in the target language to complete the translation. Our current state:

language version last updated
English 4.6 2024-05-15
German (Deutsch) 4.6 2024-05-15
Vietnamese (Tiếng Việt) 4.5 2024-04-02
French (Français) 4.5 2024-04-14
Spanish (Español) 4.5 2024-04-23
Russian (Русский) 4.5 2024-04-15
Iloko (Ilocano) 4.6 2024-05-16
Kankana-ey 4.6 2024-05-16
Finnish (Suomi) 4.5 2024-04-17
Tagalog (Filipino) 4.6 2024-05-16
Norwegian (Norsk) 4.3 2024-03-30
Japanese (日本語) 4.5 2024-04-15
Korean (한국인) 4.4 2024-03-30
Sinhala (සිංහල) 4.3 2024-03-30
Chinese Mandarin (Simplified) (中文简体(普通话)) 4.4 2024-04-04
Chinese Cantonese (Simplified) [中文简体(广东话)] 4.4 2024-04-04
Khmer (ខ្មែរ) 4.5 2024-04-22
Arabic (العربية) 3.6  
Igbo (Ásụ̀sụ́ Ìgbò) 3.6  
Thai (ภาษาไทย) 3.6  

Support for languages using the CJK glyphs took some extra work, and I learned a lot about tofu and NO TOfu (noto) and related projects.

Scale challenges

To compensate for limited printing area I created a border of 1cm around each page. The effective drawing area on A4 landscape in each tile is 277 millimeter. This resulted in different time scales for each page with v1.0, since the covered timespan is not equal for each page. But this was one of the fundamental ideas of this project, to represent a larger amount of time with a bigger amount of space or length. Here are the values for comparison:

page begin end timespan width/mm years/mm resolution columns created
table 1 -4050 -1450 2600 277 9.39 10 260 2009-02-10
table 2 -1550 150 1700 277 6.14 5 340 2009-02-10
table 3 -130 2050 2180 277 7.87 10 218 2009-02-10
drawing odg -4000 2000 6000 1250 4.8 2015-12-13
reportlab python -4050 2050 6100 1168 5.22 2023-10-17
Adams Chart -4004 1900 5904 6900 0.86 1871-01-01

See scale.csv

Inspiration and other solutions

The idea of a timeline (link to Wikipedia) is neither unique nor new. One example would be Joseph Priestley’s “A New Chart of History” published in 1769 (more than 250 years ago):

A New Chart of History

Even more similar to my project is Adams Synchronological Chart or Map of History from 1871 (more than 150 years ago). In wikimedia is a scan of 40445x4309 pixel of this masterpiece. And there you would find a link to the 700 Megapixel JPEG 2000 scan file.

Adams Chart

In 2008 I got “Knaur’s Zeittafel der Weltgeschichte - Den letzten 6000 Jahren auf der Spur” with a total length of 10 meters. I’m far from having all these information included in my edition. Here are links to two editions at amazon.de.

Here is another example from amazon.de, covering the last 5000 years in 1.2 meter like this project here:

map by Schofield & Sims

It looks like Knaur’s book was inspired by Adams Synchronological Chart or Map of History - it is 23’ long (7 meter) and 27” tall (68 cm). Original from 1871.

Adams Map of History

The reformation made a timeline for the 220 years 1480 - 1700 AD in a similar style.

Another design attempt to pack a lot of information in a written horizontal way into a timeline that progresses from left to right is this Texan Spiral semicircle project:

Bible Timeline History Chart

Time of 12 Prophets from 850 BCE to 400 BCE

time of 12 prophets

Vector Image with .odg in 2015

Using a spreadsheet limits the options in resolution of a digital image or pdf to create. A pixel image does not allow for a good zoom, so I wanted to create a vector image that could be exported as pdf with the ability to zoom into details. On October 12, 2015 I started a LibreOffice 4.4 Drawing ODG with a scale of 1cm for 50 years or 5 years/millimeter, resulting in a document with the dimensions 1250x297 mm. This could be printed on my endless A4 paper roll. Last export as pdf on December 13, 2015.

Zeitleiste 2015

Start with a spreadsheet in February 2009

The project to create a paper timeline of human history is done by teenagers around the world. I got an endless paper roll of 10 meters length to start this project, but decided to begin with a digital version. On February 10th, 2009 I created a spreadsheet in OpenOffice 3.0 with 3 tabs for the time 4050-1450 BCE, 1550 BCE - 150 CE and 150-2050 CE. All are designed to fit on a A4 paper, so these 3 pages can be glued together for a single timeline spanning 6000 years.

Zeitleiste 2009

4050 - 1450 BCE

For these 2600 years I chose a resolution of 10 years. The spreadsheet has 260 columns, but for the long periods of this time it is precise enough.

Zeitleiste 4050-1450

1550 BCE - 150 CE

The resolution of only 10 years makes it difficult to visualize shorter time perios like the 2 years that Pekachja ruled Israel from 780-778 BCE or the one year that Ahasja ruled Juda 907-906 BCE. The second tile therefore is divided into columns for 5 years and needs 340 columns for the 1700 years from 1550 BCE to 150 CE.

Zeitleiste 1550 BCE - 150 CE

130 BCE - 2050 CE

The third tile went back to 10 years per column and needs 218 columns.

Zeitleiste 130 BCE - 2050 CE

To be continued and get inspired …

Short history of this project - with just pictures

2009

2009

2015

2015

2023

2023-1 2023-2

2024

2024-1 2024-2 2024-3 timeline 4.6