Friday, June 6, 2008

Mii™ XML File Format Deprecated

Given that the XML format used to describe one, or many Mii™ characters makes a call out to the trademarked Mii™, a new XML format will need to be established for My Avatar Editor. As with the logo, I'll have to figure something out for this one. The problem here becomes a little more complicated as extensions to the Mii™ character format are added.

This probably won't be an immediate change. Much of what will be done at first is just restyling the interface so that it doesn't look so much like the Wii™ Mii™ channel.

6 comments:

Kairu said...

Hey, to anyone interested I uploaded an AIR version of MiiEditor to tide people over. Its the same thing as the M4 version just repackaged so it can run on the latest AIR version.

senocular, if this is a problem I apologize. Just thought people would appreciate being able to still use it.

The download is here.

Martijn said...

I would start dumping the min/max attributes on the data elements. These have no real purpose for your program. If the value is unknown return an error, you should first check the min/max in the XML just incase.

The same goes for the format attribute, the program understands only 1 format type per data element so there is no real need to specify it.

Then you can start scraping out empty elements. Someone that creates him-/herself an avatar might not fill in the creator or name fields if he/she isn't planning on porting the character to the Wii, so no need to contain these in the XML than.

Everything with a value of 0 could be deleted as well if you think along the points I made above here.

I guess the value attribute from the mii element could be deleted too when you include all the other elements? I havn't done much research and just stumbled on your program 10 minutes ago but it seems to me you packed all information in there?
As you want to have a XML file I guess you want to specify all different items, in that case you don't need that compact string.

I'd love to help you revise the XML file, I'm very interested in taking my Miis from the Wii to the PC and I'll be trying that as soon as my MacBook arrives. Just drop me a line.

senocular said...

The redundant values (format, min/max, etc.) are not necessary for the program. They are only included to help improve human readability and editability. So, for example, if you only have a Mii XML file, with those extra attributes you are able to determine (for the most part) what values are acceptable for each property.

Obviously once My Avatar Editor escapes the limitations of the Mii, these restrictions will no longer be necessary and, technically, the editor should be able to evaluate whatever values have been provided, beyond what is acceptable for a Mii or not. Well, in some cases. Obviously there will be limits on character graphics such as hair styles, but other properties such as position and rotation are open ended.

I'm of course open to any suggestions you might have :

Martijn said...

If you want to go for human readability and tweaking with the XML file you should surely dump the data attribute on the mii element.
Something you could do is make elements for things like size. You could picture something like this:

>glasses model="2">
>size>bigger>/size>
>/glasses>

Were bigger would be translated into '2' inside the program. Ofcourse the numeral values should also still be accepted in side the XML.
A program could probably interpret this following steps like:

* Is there an element glasses?
* Does it have any model specified (>0)
* Does it have any childs?
- If not, parse standard glasses matching the model number.
- else:
* Does it have a child called 'size'

etc...
I would love to discuss formats like these with you furthur. The hotmail adress noted on your personal website, yournickname.com, is that one messenger enabled?
If you wouldn't mind could I add you to Windows Live Messenger so we can discuss on this subject furthur as I find it very interesting. Please reply here in the comments, I'm watching the feed.

senocular said...

There were other influences in the XML design as well. The Mii file format was a major influence. I had intended to make the XML usable for those familiar with the available values as specified in the format (and other editors that modified those values directly). That, in part, is why many of the values are numeric as they relate to the actual values in the .mii files.

Using "size" values could also be problematic since sizes numerically range anywhere from like 5 to 128. Are there a 128 variations of "bigger"? And if there were, could you expect a user to know what they were?

And the hierarchy was, if I remember right, mostly an issue of simplicity. Its a lot easier to parse the various data elements than to work your way through a tree of parent-child elements. Named attributes are pretty much just as readable, at least in as much as they needed to be for anyone to be able to look at the text and be able to change a value.

That being said, in the case of the characteristics used by the editor, another level in the data could be worth the extra parsing effort. Since each characteristic usually has multiple properties associated with it, and usually properties (i.e. x, y, rotation, etc.) consistent with other characteristics, these could easily be defined as children of a "characteristic" parent. And, really, it would better conform to the model used within the character renderer itself... to a degree. Something that I could certainly tighten up on, though it would take some time.

I can formulate a new format and create a new post for it. You can add comments there.

As for MSN, I'm rarely, if ever, online.

Martijn said...

Again very interesting points given. I might have been thinking to much out of a human-perspective. Although size, for a editor limited to the Wii's options, doesn't have that many different possibilities.

I'll be looking forward to the new post.