Class Projects - Spring 2016


WikiTimeline automatically turns Wikipedia articles into visually rich, interactive timelines with the click of a button.

Screencast of WikiTimeline, a technology that automatically turns Wikipedia articles into visually rich, interactive timelines with the click of a button.
What it does

Many Wikipedia articles contain multiple dates marking main events, but these articles do not follow any one standard article format. They are often very long and have a lot of information in contained in text, images, and hyperlinks, which are almost too much to process in one go.

WikiTimeline solves this problem by automatically turning Wikipedia articles containing dates into visually rich, interactive timelines with the click of a button. All a user has to do is enter their search query or a Wikipedia article URL into the search button on our site and click “Go!” Our tool does the rest and the timeline is ready within seconds. While they’re waiting for the timeline to load, users can look at some of the interesting events in history that happened on that day.

How it works

WikiTimeline currently runs on a Heroku “dyno,” a lightweight virtual machine designed for ease-of-use and scalability. The tool pulls events listed on Wikipedia based on known standard page structures and details (including images) via the MediaWiki API. The API is scraped and parsed using the Beautiful Soup module that provides JSON objects to the Django web framework.

This framework represents the “heart” of WikiTimeline, handling all of the back-end logic and handoffs associated with user interactions. This means executing searches, identifying events, and formatting results. Raw JSON timeline objects are also cached in a PostgreSQL database to allow users to share links to timelines they’ve generated (and to potentially improve performance for frequent search queries).

WikiTimeline’s web interface is powered by the modern-standard suite of front-end technologies — HTML5, CSS3, and Javascript (mostly jQuery). TimelineJS and Bootstrap help deliver a fully responsive design to mobile and desktop users.

Next Steps

One of the main challenges we faced at the beginning of the development process was finding an appropriate Wikipedia API that met our needs, but we eventually found and used the MediaWiki API. Wikipedia articles that contain dates do not follow any one particular format, which made it difficult to customize our timeline template, but our tool currently supports 5 of the most commonly used article formats. It was also hard to find appropriate featured images for each event as not all events had their own Wikipedia articles and/or featured images.

Our top priority for future development is to support more article formats so that our tool can be used more widely. We want users to be able to share their timelines on social media and other platforms, so we also want to create additional sharing features. Based on the user feedback we received, we intend to implement keyboard navigation.

WikiTimeline's architecture.


●Aditi Bhandari, Medill BSJ ‘17

●Yixuan Chai, Medill MSJ ‘16

●Will Roever, McCormick MS ‘16

●Taylor Zheng, McCormick BS ‘16