The Reality of RETS
What is RETS?
The Real Estate Transaction Standard is a common language spoken by systems that handle real estate information, such as multiple listing services. A common language enables computers like the one on your desk to receive information from many different real estate systems or MLSs without being specially "trained" to understand the information from each.
Standards like RETS exist in many different fields. Sometimes, the standard simply adopts one of many pre-existing languages that everyone agrees to use. For example, air traffic controllers at international airports all speak English, no matter what their native language, so pilots are guaranteed that they need learn only one language to fly anywhere in the world.
RETS, like many computer standards, is a language that was built for a specific purpose, but the goal is the same: to have all computers that deal with real estate information "speak" the same language, so that you can use the same desktop computer program with any MLS that has adopted RETS.
For software developers and for providers of services like IDX sites, RETS means having to write programs to use only one language, the common language of RETS, in order to work with many different MLS systems. This means lower costs, more products, more competition among vendors, and faster implementations of new systems, all of which directly benefit people who work with real estate information as a living.
The Reality of RETS
The truth of the matter is that even though it is a widely used standard, for the large part it has not been implemented that way. As a standard. It was meant, like the outline above states, to allow developers to easily create systems to interface and exchange data with many RETS servers. The problem is that an MLS board borrows the standard and then quite annoyingly alters it, removes features, changes field names or makes the system case sensitive or some other ridiculous thing and what we are left with is not a standard at all but a "Custom Implementation of the Real Estate Transaction Standard". I find it ironic and have actually heard people deploying RETS use that term.
I have done my share of RETS IDX applications working for REW for our clients and I have to say that most of the programmers are weary of RETS and I can't blame them. I have never seen a RETS server behave exactly like another even though they employed the same RETS version. If one could only just follow the well documented specifications of RETS available online it would be a walk in the park. Even more it would be ultra cool to be able to code a single parser just once that is able to parse and gather data from any RETS Server implementations in the world with no custom work. The original idea was a good one and makes sense just like the example given about the air traffic controllers all speaking English to communicate. The fact is the organizations that are implementing the RETS standard are not teaching their air traffic controllers English or even telling them that they have to speak English at all.
So then by not enforcing the standard and having MLS boards implement which ever portions of RETS they like and leaving out what they don't all of us software developers are forced to look at every RETS server as an individual and not a standard. We end up resorting to hours of additional coding of custom work arounds and shady RETS hacks to get the data we need. It's quite a shame because the original idea makes a lot of sense. It's just too bad that with all the custom implementations it's gotten out of hand and in my eyes it ceases to be a Real Estate Transaction Standard. On paper RETS is a well documented standard but in real life it's nothing more then a fancy name to describe a way to connect to a real estate database.