Saturday, November 28, 2009

GanttProject on

Those who are using Slackware Linux may like GanttProject SlackBuild script by Chris Abela which automates installing of GanttProject on Slackware. Thanks, Chris!

Tuesday, September 15, 2009

GanttProject 2.0.10 is released.

GanttProject 2.0.10 is finally here. It is a relatively big update which fixes a few important bugs (e.g. it makes "Critical Path" feature working), adds an option to create rubber dependencies by default and adds an experimental iText-based PDF export.

Installer for Windows, package for Mac OSX, platform-independent ZIP archive and source code are available on our downloads page on Google Code Hosting. Web Start edition and other updates will follow soon.

Enjoy the new GanttProject!

GanttProject 2.0.10: create rubber dependencies by default

A small new feature in GanttProject 2.0.10 is an option to set rubber dependencies by default. It sits in "Link" group of Gantt chart settings.

Just in case if you didn't know what rubber dependencies are: when two tasks are linked with, say, Finish-Start dependency, then you have two options of how moving a predecessor task affects a successor task:
  • If your dependency is Strong then successor's start date will always be the same as predecessor's end date, provided that there are no other constraints. When you move the predecessor, no matter backward or forward, the successor will also move in the same direction. You may think that your tasks are linked with a metal pipe.
  • If you have a Rubber dependency then the successor will not move unless it really has to. In particular, it will not move backward in the time if predecessor moves backwards. You may think that this link is a rubber band.
Dependency hardness can be changed in dependency properties (tab "Dependencies" of a successor task properties). GanttProject created strong dependencies by default and many people who preferred rubber links didn't like changing properties of every new one. Now it can be configured just once.

Saturday, September 5, 2009

GanttProject 2.0.10 Release Candidate

The third build of GantProject 2.0.10 fixes a few bugs, including numerous critical path  problems, and improves iText export output and the UI of the export wizard. Give it a try, report any regression problems. It is a release candidate  build which I plan to release in a few days.

Tuesday, July 28, 2009

Critical path gets revamped

Critical path, one of the most essential features in a project planning software, was announced a few years ago as a new feature of GanttProject. However, it has never worked properly. Here is how GanttProject 2.0.8 calculates the critical path in HouseBuildingSample project (critical tasks are in red):

The critical path is obviously wrong. Construction phase supertask is a chain of the critical path but its subtask are not included. Foundation building is a successor of Architectural design subtasks with no float, so they also should've been included in the critical path.
Working on new iText based PDF export I recently opened in my text editor the code of critical path algorithm implementation. Sighed and removed it completely. Spent a few evenings on the new implementation which would take into account supertasks, dependency lags, different kinds of dependencies, etc. Wrote a number of unit tests. As a result, here is how GanttProject 2.0.10 renders HouseBuildingSample critical path (critical tasks are red and textured):

The release candidate build of GP 2.0.10 is about to be published. Stay tuned!

Sunday, July 5, 2009

Export to PDF with iText

It is important to be able to export project data to some pritable format. PDF export feature appeared in GanttProject at the very early days, and it is one of the most popular features in our product. However, there is a number of problems with PDF export implementation in GP. The most important is probably this landscape export bug which is difficult to reproduce yet is really annoying when it appears. It is a bug in Apache FOP library which GP uses for PDF renderig and which had no updates for years.

A few weeks ago I started playing with iText library and the second build of GanttProject 2.0.10 which was published on Friday includes an experimental plugin which exports to PDF using iText. My opinion is that it is just better than our traditional PDFexport. It is faster, it produces more visually appealing documents, it allows for scalable graphics rendering, and it doesn't suffer from that "No meaningful layout" problem in landscape mode (which is now default). Besides, now you can choose document page format and substitute fonts if you don't have those specified in iText export theme.

I plan to work on iText based export a little bit more and ship its beta version with GanttProject 2.0.10 in addition to FOP based. After that, its development will continue in Loire code where it will replace FOP export completely.

Thursday, June 4, 2009

Fix for Polish translation

In the last releases of GanttProject (starting from GP 2.0.7) Polish translation was broken . Choosing "Polski" in the language settings didn't work and even manual editing of the options file didn't help. The reason was one missing character in the translation file.

The fix was submitted to our SVN repository on Google Code Hosting and will be included into GP 2.0.10. If you don't want to wait until 2.0.10, just open  


in any text editor ($GP_HOME is a directory where GanttProject is installed on your machine), find  


and append 'c' at the end of that line, so that it becomes


Thursday, May 14, 2009 Community Choice Awards

SourceForge started the 4th Community Choice Awards contest. You can nominate GanttProject clicking this image:

Sunday, April 19, 2009

Kostenfreier E-Workshop "GanttProject"

Knut Harms informed me about the electronic materials for learning GanttProject which are available in German here:

Materials are free for personal use. I don't speak German but Google Translate did a good job and translated this page.

PDF file is available on this link:,com_docman/task,doc_download/gid,45/Itemid,33/

Tuesday, April 14, 2009 now with Google App Engine!

April 12 becomes a day of great launches for me.

48 years ago Soviet engineers launched Vostok-1 spacecraft which carried Yury Gagarin onboard  and was powered by six liquid-fueled engines. Gagarin's flight was just 108 minutes long, but it made the Universe closer to the millions of people.

Since that time many Soviet and now Russian people celebrate Cosmonautics Day. I admit that it is one of my favorite holidays. This April I celebrate it with launching an updated, which now is also powered by an engine. Google App Engine

Its uptime now is about 20 hours and it is feeling good. I hope that this launch will eventually make the universe of information closer to hundreds of GanttProject users. Stay tuned!

Saturday, March 21, 2009

GanttProject FAQ

How to change week numbering?

GanttProject uses calendar settings corresponding to the chosen interface language. Switching interface language to e.g. French will start Week 1 in 2016 on Jan 4. If you're using English interface language then you can choose between English US (it is just "English" in GanttProject settings) and start Week 1 on December 28 (correct for US) and English (United Kingdom) which follows European standards.

Where can I find a user guide or manual?

We have no user guides or manuals, sorry. Instead, we can offer you an application which is so easy to use that needs no manuals, provided that you don't need guidance in project scheduling per se. If you still need to see how to do the basic actions, consider watching this awesome video tutorial. Some of the tricky bits and rough corners are documented at

Is it possible to use hours as task duration?


Can GanttProject do resource leveling?


I can't change the dates of my tasks!

Usually it means that either there is a dependency between your tasks and GanttProject is just doing its job and is trying to make your constraints happy. Please read the article "GanttProject Scheduler Explained" which may help you to understand what exactly forbids dates change.

If you don't find the answer in the article and believe that there is nothing in your data which prevents tasks from being moved, please submit a new ticket to the issue tracker, supply a reproducible scenario and attach an example project file.

Friday, March 13, 2009

GanttProject in Linux Format#116

Linux Format published a review of five project planning applications for Linux in its March issue. The review includes GanttProject, OpenProj, TaskJuggler, KPlato and Planner. It is not very deep, but well written. The author even composed his own text instead of copying phrases and images from our website. Respect :)

Wednesday, February 25, 2009

Bad news and good news.

It is very sad to write it but I have to do it anyway.

Bad news are that because of a failure on MySQL server in our hosting provider's datacenter GanttHive data were lost. They didn't have any monitoring or it didn't work, anyway the problem was detected more than 15  days after the failure. They keep backups only for 15 days, consequently, they had no data backups by the time when I detected the failure. I trusted them too much and didn't backup data on my own. As a result, GanttHive data is lost forever and can't be recovered :( Both me and the hosting provider are responsible for this incident. You know who I am, let me publish the provider's name: it is PeterHost, Russian hoster based in Saint-Petersburg. Think carefully if you decide to host your data there.

Well, good news are that we didn't have too sensible data in our database, and GanttHive itself was not very useful. I am working hard on a new GanttProject web site which, as I hope, will become much more valuable for our users. And of course it will be hosted on a more reliable hosting.

Friday, January 30, 2009

GanttProject birthday

There are so many interesting things around me last days that I completely forgot about the birthday of GanttProject. On January 29, 2003, Alexandre Thomas registered GanttProject on SourceForge.

GanttProject is 6 years old!

Tuesday, January 20, 2009

Custom columns UI

Designing good user interface is very difficult, but one can easily design bad user interface. It is enough to organize it in a surprising way and put things at those places where users don't expect them to be.

Management of custom columns in GanttProject 2.0.x is far from being good. There is one small dialog which creates custom columns, there is a popup menu which has one visibility-checkbox per each custom column (and if you want to show or hide 5 columns, you have to open this menu 5 times and click corresponding checkboxes). However when user wants to change a name of some custom column or change a default value, he may get stuck because it looks like there is no such ability. But wait... if you create a task and open its properties, you will see a tab "Custom Columns" and in fact you may change the names and default values there. Surprise! You can't change the values set in the task whose properties you think you're editing, though... surprise, take two! If you want to edit them, you have to make a column visible in the task table and change them there...

People who don't want to play quests instead of working start asking for manuals, and they are right. Surprises must be documented. I don't like writing manuals, though, so I've redesigned the UI in GanttProject Loire and removed the surprises. Now one can add, delete, show, hide, change names and default values of custom columns in a single place, and there is no need to create even a single task. I hope it makes the user experience much better.