Monday, April 02, 2007

Technology is a Harsh Mistress

Technology is a harsh mistress; a modern-day Athena bestowing miraculous improvements and silver bullets with one hand while sowing complexity and chaos with the other. The line of the hopeful souls waiting to receive their next gift stretches back out of sight. You notice the nasty wounds poorly bandaged and the disconcerting gait. When you ask about their plight the barely-coherent reply is, "It's not as bad as it looks. It isn't as bad as the time before last. Next time it will work, I just know it!" and then they shuffle forward as if you weren't there.

The first time I heard the rant on technology not being a silver bullet was over C++ and Object Oriented Programming. While that just shows my age, has anything really changed? These days, XML is all the rage. While XML/XSLT and so forth are not silver bullets, they do provide a common language for describing data. What they do not address is the disparate ways in which data is used. It does not help companies agree on a data model to use to trade data back and forth between themselves. It does not help communicate existing standards to those poor souls tasked with converting a legacy system's data feed being sent to a more modern system. It does not help when other protocols are thrown into the mix, like messaging or business services, at a dizzying pace.

Don't get me wrong, XML, XSD, XSLT, etc., they all have their place. I'm not suggesting we discard our new toys. The question we have to ask ourselves is 'What problem do they solve?' Usually, it's that we hope to be released from the tyranny of change. We can add fields to our hearts content, as long as they are marked as optional and we updated the schema. We can leave out fields -- again, optional ones. We can change tag names, as long as it's ok with the schema. Oh, and did I mention that your partners in communication need to know about all of this? You did remember to update the version number in the XSD, right? Anyone noticed a pattern here? We've traded parsing fixed-length records in a flat file for parsing document object models in never-ending data streams.

What is that weight you still feel on your shoulders? It's the weight of responsibility for your data. We've had the responsibility of managing change thrust upon ourselves. Without understanding your data, communicating with others is an exercise in futility, like a truck with its wheels stuck in the mud on a rain-soaked road in the middle of nowhere. Both sides have to understand and agree on both the data model and the terminology regardless of the tools used to describe them. That's all XML and the rest of the alphabet-soup are, tools. Gifts from the Technology fairy.

So, while you're gazing at your latest gift from Technology, ponder whether you received a silver bullet or a seed of chaos. The first can make life seem like a fondly recalled warm summer day with no worries or rush, the second can make life seem like being dropped into a steaming cauldron of blistering misery. It matters not to her, she'll never run short of supplicants hoping for a silver bullet.
Delicious Bookmark this on Delicious

4 comments:

  1. You're overhearing too many conversations! :-P

    ReplyDelete
  2. Terri V. had a comment which I'm added on her behalf:
    I've heard those conversations as well! As we any new technology, tools, you get the issues until the next gen comes out that addresses some or all of these issues. On the other hand, the next gen. will introduce its own chaos and the cycle will repeat until the consumers are satisfied. This is an evolving process like our development cycle.

    ReplyDelete
  3. Some of what you describe isn't XML's fault. It is b/c of everybody wanting to play with the "new shiny thing". Some of the biggest woes is using XML for a line transfer mechanism. Well guess what? That was solved over 20 years ago! They called it ASN.1, I like this guys comments:

    http://it.slashdot.org/comments.pl?sid=207022&cid=16881266

    ASN.1:
    http://asn1.elibel.tm.fr/introduction/index.htm

    Binary XML anyone (uggg that moniker sounds about as bad as Web2.0 doesn't it)?

    ReplyDelete
  4. Oh yeah, one more link (cuz 2 wasn't enough) ... http://www.w3.org/XML/

    Specifically the projects:
    "The Efficient XML Interchange Working Group"
    "XML Binary Characterization Working Group"

    ReplyDelete

I reserve the right to delete inappropriate comments at my discretion