Put dates in their place with Timeline

By

Time travelers: have we got a tool for you. Timeline is a cross-platform application for displaying and navigating events on a timeline. It lets you quickly modify events and time scales, for example going from seeing only a single week to seeing a whole year in just a few mouse scrolls.

Project leader Rickard Lindberg, a computer science student at Linköping University in Sweden, says Timeline can display any kind of event, from a calendar to a project schedule to geological epochs, along a horizontal axis.

“At the moment the application is limited to showing dates on the x axis,” Lindberg says, “but we are thinking about generalizing the concept of time so that you are not restricted to dates. It might be useful, for example, to have a timeline representing the number of seconds since some time. It would then be possible to visualize, for example, race results, where you can see how the different competitors placed.” The developers also plan to allow users to associating other data, such as an image, with an event.

Lindberg says that, like many free software developers, he created this project because he had a need for a program like Timeline but found no existing program that could do what it did. He and another developer have been working on the code for more than a year. Other contributors work on translations. The project makes releases “every month on the first. We feel that the application is stable now and we are mainly making small feature enhancements and bug fixes.”

Timeline is written in Python because, Lindberg says, “Python is fun and you don’t have to bother with low-level details.” He uses wxPython from wxWidgets as the GUI “because it is cross-platform and gives the application a native look on most platforms. We used DocBook for a while to write the user manual, but later we abandoned the user manual in favor of a wiki-like help system written in Python. We use the gettext set of tools to handle strings in multiple languages.”

Speaking of multiple languages, the project has moved its translation files to Launchpad so that contributors can help translate using a web interface. “Instead of emailing translation files back and forth, we can keep everything on Launchpad and then import them when needed into our repository. Previously you had to have some technical knowledge to be able to edit .po files manually or by using some software like Poedit.”

Lindberg chose SourceForge.net to host the project because it was the best-known site for hosting services for free software projects. “One thing that I especially like about SourceForge.net that other hosting services lack (I think) is the ability to host your own project page which can have your own design entirely.” In addition to SourceForge.net, Lindberg publishes release notices at freshmeat.

Lindberg says, “We would love to get feedback from users to learn what to improve, what features are missing, and what bugs exist. The best way to get in touch with us is to send email to the user mailing list.”