I’ve had issues with MDM Zinc in the past but due to certain issues with Adobe AIR find myself stuck with Zinc. I can’t really be bothered getting into why AIR is unsuitable for our current needs but safe to say it is. There are other alternatives to Zinc but I don’t have the time to research them at the moment. I think I will put a few hours a side to do this on Thursday as I’ve totally had it with MDM. They clearly have no idea how to implement bug fixes or deal with the public. It’s all about the money for them. Oooooo look at our new piece of crap Inferno that extends AIR. Shut your mouth MDM, deal with your own software before you start trying to improve other peoples.
Today’s stress ball comes from the FileSystem.saveFileUnicode function. There is a saveFile function that uses ASCII encoding however saveFileUnicode states “Unicode encoding is UTF-8”. Mint, just what I need to handle these fun French characters in my valid XML document. Does it save the file? Yes. Does it save it as UTF-8? No. Does it infact do exactly the same thing as the saveFile function? Yes. It’s been like this for the past three revisions at least. The current revision is 3.0.19.
I updated to that today just on the off chance that the UTF-8 problem was fixed and just not mentioned in the release notes. Why did I only just upgrade when 3.0.19 has been out for ages? Because MDM work to the principle of 1 step forward, 2 steps back. Whilst they try and fix things they always always always end up breaking other things that are totally unrelated. So today, when I re-zinced the project file I get greeted with an error popup stating “Error: couldn’t locate method setbgColor”. WTF? I didn’t change anything to do with the background color system. I do have a line that assigns the forms background color via “mdm.Forms.MainForm.bgColor = ‘CC0000′” but that hasn’t changed in over six months. As you may guess, they broke something internally. So now I can either roll back to an earlier version of Zinc or work around the problem. I opted to work around the problem this time.
I went to report both bugs and was greeted with this:
Report a Software Bug/Issue
We have currently suspended new Bug Submissions whilst we compile and validate existing entries. Thank you for your patience.
So they are saying they’ve closed the bug reporting system. Total wank. They’re probably just pruning the embarrasing entries that show how they keep breaking and fixing the same things over and over such as the window Title property or the callFunction function.
So how have I dealt with the UTF-8 problem? I had to write a function that parses the text and swaps out characters for their decimal code equivalent. That works ok for this apps front-end which is AS2 based. In that I manually assemble the XML content as a string so I can easily encode each value as it is added. I opted to use the XML class in the AS3 admin side of things. With that I use the toXMLString function to output a nicely valid XML file. Unfortunately this means I now have to add in an extra step to convert the node values. Ah, it’s going to get all mucky no matter how I handle it. A project shouldn’t need so many hacks to work around a paid for Flash wrapper that is supposed to make things easier.
Am I being hard on MDM? No, the sods charge £170 for each OS plugin. Ripoff scamming bastards. If you haven’t tried Zinc yet then my advice is DON’T. Save yourself the headache and look at some of the alternatives.