Okay, so I don’t actually hate XML.
But recently I have been working on writing a syndication tool and I am beginning to agree with a lot of people that question the use of XML for simple data exchange. XML was originally supposed to be both machine and human readable, and in the case of using XML to create structured documents, like XHTML, it is. It was an offshoot of SGML but had much stricter and therefore simpler syntax rules. But then people started to try and use XML for any sort of communication over the network; CSV files got turned into XML (at no real gain other than it’s XML), protocols for method invocation over HTTP (SOAP), to defining the interface for those method invocations (WSDL) and now it seems, for any data exchange out there, a lot of people think that you need to do it in XML, and that you should define the XML via an XSD (XML Schema Definition). Now XSDs I hate! In defining the schema of an XML document using XML you are using an crude tool for the task of exchanging data by using a terrible tool for the task of defining a schema. XSD is painful unless you have some sort of tool to to help you. Don’t believe me, here is the XSD for syndication. Maybe I am crazy but I think that a schema definition language should be human readable and I don’t think XSD is. The arguments for XML are many, but mostly seem to revolve around it being a standard, and that there are a lot of tools that exist for it. So XML has evolved from a simplification of SGML for the creation of structured documents, to a catch all hammer in the toolbox of many software designers. Soon people will start suggesting that we just write the programs that run XML based files in some sore of XML based programming language (oh wait, they did that already with XSL and XSLT). There has to be a better way.
Right now I have been looking at other data exchange formats and have been focusing on JSON and YAML. Both are more human readable (YAML even more so than JSON) and have less weight to them than XML for data exchange. They are standards with decent library support and can cover any structured data format that XML can. There is even a tool out there to create verifiable schemas for both JSON and YAML called Kwalify. I also am starting to think that there needs to be a language for defining schemas in a language/platform neutral way. This language could be used by tools to generate things like XSD (if you have to use XML), YAML for Kwalify, SQL etc. This language becomes like a DSL (Domain Specific Language) for defining schemas. I know there are a lot of people that think that creating a parser for a new language is hard, but using tools like ANTLR and yacc it’s fairly easy and a powerfull addition to your developers toolbox. As Martin Fowler says, don’t be afraid of creating parsers! We need to start thinking about the proper use of XML as a tool. It has it’s place, but there are better tools out there for doing many of the things that XML is currently used for. Also, is the obsession with using XML for everything preventing us from creating even better tools? It’s something we need to think about.
PS: Apologies to Max Cannon, and many thanks to folks that helped create Build Your Own Meat!
Arthur Richards has written a Drupal plugin for RETS! This allows you to create a website that has listing information taken directly from the MLS. You can find it with other Drupal plug-ins.
Here is a clip of what Arthur posted on the VieleRETS mailing list about the plug-in:
I could use a lot of help testing this, and if anyone knows
PHP/MySQL/has experience working with Drupal modules, please help make
this better and get it to a point of stability!
Let me know if you're interested at all in testing/coding.
There has been talk about RETS as a Wordpress plug-in too!
A few years back, I watched MLSNI turn off their consumer facing website because members took the stance that this was reducing broker/agent centric website exposure. Ironically, seemingly overnight, this almost perfectly coincided with the flash flood of Syndication Portals (Trulia, Zillow, GoogleBase, etc).
At first, the industry was very apprehensive to giving their listings away for free. Over time they eased up, and saw how they can leverage these advertising vehicles. In all essence, they are just a more refined online classifieds model (such as the newspapers, but focused). More and more of these advertising sites began to appear, somewhat diluting the benefits, increasing the work for exposure (see Andrews Syndication Article to battle this issue) and calling more attention to what was really going on. These sites were filling a critical void in the consumer marketplace.
Continue reading ‘Is it a sine?’

CRT has discussed the increasing presence of listing aggregators here at the blog, during speaking events and pretty much whenever someone asks us about marketing their listings. They are filling a niche/void for online marketing and property search. The space is getting so competitive that it seems a new site comes around with a great twist on the typical listing search delivery every week - case in point, Roost entered the game quietly less than two weeks ago and already has heads turning.
With all these places to toss your listings, it gets painful to manually add your inventory. Some have automated process, but for the average agent, or broker, that requires outsourcing some work, constantly getting updates and fixes when formats change. You have to start to ask yourself, if all the information I pass around is the same - why do I need to reinvent the wheel every time I pass it?
Well, the larger players in the consumer listing search space began to wonder this as well, and proposed to work together. They also have given the RETS community an opportunity to work with them in defining what this looks like. With the new formed relationship and commitment to move this initiative forward, the RETS Board charted the Syndication Workgroup.
This is great news, as there has always been a large amount of debate over the relatively simpler methods to get listing data to these third party sites, versus the more robust methods to get listing data from an MLS. This new effort could be the missing link that provides brokers and agents with a simple and effective method of both getting data from an MLS as well as publishing it to third party sites for use in advertising.
Last summer Keith discussed a simple method for listing distribution. Taking that, and moving it one step further, we decided to create a first run concept of an easy to implement, easy to use listing syndication specification.
Continue reading ‘Got Listings - Will Syndicate!’