I am looking for feedback on how a new convpng (convimg) should be created. I've been seeing a lot of feedback about how people don't understand the interface or have trouble using the tool. Please feel free to post any suggestions you have and how conversion should be done in the future. Thanks!
In what ways has it been hard to use? I mean the only way I can think of to make it simpler would be to make it with an actual GUI, where you drag images into a window, order them as you want, then tick off options for palettes and compression and RLET and then hit build.
In my opinion, ConvPNG already works pretty well. The way I would improve it is as ACagliano said, make it easier for beginners to use by making a GUI. The text-based interface that it has right now isn't all that intuitive and easy to understand. The options that are available should be explained in more detail as well.
As others have said, convpng functions very well; it's the interface that I have more of an issue with. Over the past few days, I've created multiple small projects that used convpng, and I had to Google how to use convpng for each one.
Firstly, I think that there should be a command-line option to generate a "default" convpng.ini, and when convpng is run without a valid .ini file, it should suggest either running convpng with that option or running with the -i option. The default file could either include the bare minimum settings, plus a comment that links to the documentation online, or a file with all possible settings there but commented out. This option would be helpful for both brand new users who don't know how to use convpng and for people like me who have used convpng many times but don't remember the syntax.
Secondly, it would be nice if convpng suggested commands with similar names when it finds an invalid command. For example, if the user typed #FixedPaletteColor (instead of #FixedIndexColor) it might output "Invalid command #FixedPalletteColor . Did you mean #FixedIndexColor ?".
Thirdly, it would be nice if there was an option to print a list of all commands for quick reference. convpng should recommend that you run with this option whenever there is an invalid command. This option should also print a link to the documentation.
Lastly (and this is probably more of a bug report than anything else), convpng currently segfaults when you give it an invalid palette name. It would be neat if it printed a list of palette names instead, or at least informed you that that was the issue.
I think that if you are rewriting it, a GUI that outputs .ini files would be a good idea. This would probably be much more intuitive to new users than the current system.
So people are saying that instead of a rewrite of the utility itself, a GUI frontend for it would suffice?
I think a GUI front end would be very nice. Before I implemented a GUI for my HDpic project, I was getting constant questions about converting images via convpng. Now that I've implemented it, I've had 0 reported issues with converting. I know my GUI is overly simple compared to the capabilities of convpng, however I still think it would greatly improve the user experience. Also, I feel like commandbockguy has some great ideas especially the ones about suggesting what command you should use next.
How should I handle 16bpp and other non-palletized output formats?
I'm thinking about making it a style option.