FW Editor: What are your plans or objectives in the near future?
Miroslav Šulc: I plan to add support for the rest of PostgreSQL objects, improve the parser and add GUI. And also make apgdiff more famous so more people can benefit from my work. That way I will know my work has more sense :-)
FW Editor: How and when did you start writing the code for Another PostgreSQL Diff Tool? What inspired you the most? Do you plan to develop new software, or are you more focused on optimizing the current ones?
Miroslav Šulc: I started to work on apgdiff in March 2006 because I was in need of tool that would tell me what differences I did in my project databases. I did all the changes in databases automatically based on Java classes annotations (like Hibernate does, but I coded my own implementation), so I had no idea what changes were there really made as I just edited Java classes and let the code generate database schemas. It was obvious to me that I cannot find the changes manually, it is hard work itself and up to that I was doing releases sometimes even several times per week, so that was simply impossible. If I recall well, all I found was pgdiff but that was not usable for me. This also answers questions of those that ask why it's "Another" PostgreSQL Diff Tool, it's because there already existed PostgreSQL Diff Utility.
About other projects, I am working on several projects at this time, some are commercial, some are free. I also plan to work on some new projects, but these are not related to apgdiff. Anyway, 99% of my projects need databases and I use PostgreSQL exclusively so there is no need for worries about apgdiff future :-)
FW Editor: Another PostgreSQL Diff Tool is one of the best PostgreSQL diff applications from the market. What is the secret?
Miroslav Šulc: I think there is no real competition on the market of free PostgreSQL diff tools. I have no idea how it is in the market of paid applications, but as Adam Bartoszewicz, one of apgdiff users, wrote, "I use apgdiff, and it is for me best synchronization tool for PostgreSQL databases, including commercial solutions. Good work!", apgdiff can fulfil needs of some developers even better than commercial solutions. Other reason might be that I am using PostgreSQL server for my projects and need apgdiff for my work, so I depend on apgdiff and I use what I code.
FW Editor: Do you plan to improve or change Another PostgreSQL Diff Tool in any way? If yes, what shall we expect from its future versions?
Miroslav Šulc: I think the main change will be adding GUI to apgdiff. I think there are many developers that do not use apgdiff because they cannot click it with mouse. For now they can use apgdiff online on apgdiff website (there is Create Diff Online link). I will of course still keep the command line functionality, GUI will be just an option.
FW Editor: Can you tell us more about Another PostgreSQL Diff Tool core features?
Miroslav Šulc: There is only one core feature, and that is diffing PostgreSQL database schemas and producing DDL statements for schema upgrades :-) But seriously, there is not much to tell about it. At this moment it's mostly about which statements are supported and which are not yet, and all the main features are supported now and the rest will come hopefully soon.
FW Editor: Why are you recommending Another PostgreSQL Diff Tool?
Miroslav Šulc: It's the best tool I know about for diffing PostgreSQL database schemas :-) But seriously, people can have a look at Testimonials page on apgdiff homepage to see why people use apgdiff. The list there is quite long so I can let apgdiff users recommend apgdiff :-)
FW Editor: Is there any customer support service for Another PostgreSQL Diff Tool users?
Miroslav Šulc: All support is for free. People can email me at firstname.lastname@example.org or use tracker services at Sourceforge.net for filing bugs etc.
FW Editor: Do you have any message or anything to share with Another PostgreSQL Diff Tool users?
Miroslav Šulc: I am glad apgdiff can make their work little bit easier. I would definitely appreciate more feedback, about what features people need, how to spread more info about apgdiff among developers etc etc.
About this interview