Hi Davin,
Davin said:
You seem to have some strong feelings on this subject, but I think your general complaints are valid ones. Most people doing this sort of work aren't doing (IMO) a terribly good job of generalized design.
Yes, I am passionate about this, I think because I'm dealing with some "unfinished business" I had as a kid when I first started hacking. My friends and I played D&D a lot and of course played Wizardry and all the first role-playing games available, and concepts like these (an interchangable universe) were always too difficult to organize or conceptualize for us, so they were just dreams. Now we have the technology to make this dream a reality. People can grasp the concept, but I believe the majority isn't digging deep enough to see the holistic (or meta) "top-down" approach. And if they are, they're not using the tools the way they were meant to. The result: a lot of unnecessary work, all done for nothing, that nobody is using anyway.
Things I've seen tend to be too task-specific, and as such they suffer badly when it comes time to communicate between disparate systems. You're going to need "indians" as well as "chiefs" in something like this, but your top-level design people will probably need to have strong coding skills (any language) and strong database design skills (any database) in addition to good technical XML-related knowledge & experience. Otherwise the design will suffer, perhaps badly.
Mm. When I read "task specific" I'm thinking application logic--and if that's what you're referring to I totally agree that a simple project such as isolating and marking up data seems to become this monumental undertaking for people. It's like, slow down people, one step at a time.
For me, the projects I'm interested in and the work I'm doing, people need to know the fundamental approach to XML, why documents get transformed, and, especially for a vast gaming system, the concept of namespaces using
XSD. People are still trying to construct DTDs, which are totally useless for the scope of any project involving so many resources.
And you're correct in saying that the design will suffer. I think most people who joined the d20-XML group became frustrated with the lack of knowledge, support, and constant debate over trivial issues. I know I did. And the results of that organizational structure, that group, are clear: there really aren't any results. Chalk it up to one project, too many chiefs, not enough indians. Absolutely.
Many people tout the brilliance of using XSL[T] to convert between formats, but they fail to take into account that most of the data structures they're converting between don't have the same data in them. To reiterate, they're each usually to specific to the task for which they were designed, so they don't tend to have the right kind of data for the application they need to be translated to. For a simple example, one application may output only "totals" for something, but the receiving application needs it broken down into details. In such a case, the translation is impossible.
Well, an application certainly has to take on some responsibility for itself. And it's important not to leave out the most important components of the application--those using it and those designing it. I think those sort of problems can be resolved easily with feedback. The beauty of XML is that it
is extensible, and new elements can be added on the fly without too much complication. Of course, this is up to the application developer, but as it has been proven historically, applications that don't meet the demands of users become
ex applications. There's plenty of room for development. Anybody can build a better mousetrap.
I'm not sure that all these problems even have solutions, much less feasible ones. And I'm far too busy myself to do more than get my fingers in the way of the people that are really doing the work, even if I had the necessary skills to contribute profitably. But if you're serious about doing this kind of thing, you'd best do some meta-design to make sure the organization works and can produce the kind of results you're looking for.
Thanks for the encouragement. I have taken steps towards a better future for data exchange between d20 systems, and one of them was to create a new group,
the d20-dataExchange, which most people in this thread have already been invited to participate in. And certainly anyone reading this thread with a genuine interest to pursue dataExchange between systems is welcome to take a look and see if this group is what you're looking for.
Best regards and thanks for the thoughtful reply,
/johnny
