I have looked around and one thing that does not seems to exist is a nice full featured project management system for the Mac OS X. Since this is something I have wanted to do for a long time, it seems like it would be a project for me as I explore the world of Mac programming. It is something I can off as very simple but also build it up into a very feature full application. One thing I would like to get some opinions on is data storage. As I come from a web development background and I originally wanted to build this as a web application, I thought the best way to handle data storage would be a database like PostgreSQL. Another reason for the data storage to be a database is that leaves open the possibility to also create a web interface to the system. Now this issue that I though of would probably be an issue no matter what data source I use. The issue I am think of is that while older versions of the client would be able to connect to the database just fine, newer versions of the client would only be able to connect to newer versions of the database if there was a change in it. The one thing I don't want to have happen is if the user updates their client application but the person maintaining the database does not upgrade, the client might not be able to connect to the database anymore. Is there anyway around this issue with using a database like PostgreSQL as the data source? Is there anyway around this issue with using any other type of data source. The only way I can see about preventing this is by preventing the user form upgrading there client application until all stored connections are upgraded to the latest version but that does not be very user friendly.