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.
Compare this 4000 year timespan of version 4.2 from 2024:
With the same time period in version 1.1 from 2009:
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
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:
This project started on here on Github on June 10th, 2023. My last day of work.
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.
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
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):
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.
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:
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.
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:
Time of 12 Prophets from 850 BCE to 400 BCE
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.
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.
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.
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.
The third tile went back to 10 years per column and needs 218 columns.
To be continued and get inspired …