Showing posts with label xml. Show all posts
Showing posts with label xml. Show all posts

Sunday, November 6, 2011

Happy First Birthday WWMLS

Last Saturday marked the first birthday for the World Wide MLS (WWMLS). Since then, the follow progress has been made towards WWMLS:





As MLSN is presented to different groups such as academics and technologists, I am confident with the two upcoming presentations in 2012, especially in St. Petersburg at ARES, that the MLSN Protocol and WWMLS framework will alter others' thought processes of not only the dysfunctional aspect of today's legacy MLS, but also future directions in how real estate consumers interact and expect a specific quality of service (QoS) from real estate professionals. The main intention is integrate WWMLS in every aspect of the future of real estate.



Moving foward, the second phase for WWMLS will be the introduction of the messaging language called Real Estate Metadata Language (Remetal). This XML language will be used to markup properties in a self-describing, yet simple language for sending and receiving between the main OpenMLS Registry and accredited OpenMLS Registrars. I plan to propose Remetal to additional call for papers (CFP) on the academic and technical levels in 2012.



The third yet most important phase will be for the Real Estate Transport Protocol (RETP). This protocol defines the type of messaging, the distribution channels, error correction system, etc. Again, RETP papers will be proposed along with exhibitions at national and if necessary global science fairs.



The future of real estate is bright and changing.



And as the cliche goes, please stay tuned...



--Corey

Friday, July 16, 2010

Listing Object Model (LOM) Core

LOM Core 25 Elements

Intro



Lately my interests have gravitated toward web services and marking up listing information to xml. However, another inefficiency within the Real Estate Industry is how listing information is distributed to web endpoints. Within HTML, Word, or an Excel spreadsheet, I cringe at the ways listing information is being sent from an end user to service provider or service provider to service provider. Remember I'm talking old school here, average age is in the 50's and climbing.




So with that stomach churning thought in 3d motion, I thought to myself wouldn't it be great to have a minimalistic shortlist of elements to markup a listing for Grandma, a tween, or anyone else in need of a simple service like this. In the past, I've used Dublin Core, a specification of 15 meta tags for semantically describing documents. Thinking to myself, "LOM Core must be very simple like Dublin Core because simple always wins on the net."




Without hesitation, I proceeded to diagram (see above) a list of essential words or elements which would describe a lowest common denominator real estate listing. I came up with the following at first, in no particular order (well alphabetical):



LOM Core 25 Elements




  • address

  • agent

  • beds

  • baths

  • city

  • contact

  • country

  • description

  • email

  • firstname

  • lastname

  • listing

  • location

  • organization

  • owner

  • phonenumber

  • postalcode

  • price

  • size

  • state

  • status

  • style

  • squarefeet

  • squaremeters

  • type



I stopped at 25 to keep it as simple as possible. Obviously, I could have kept going but simple would have easily morphed into complex.



Use Cases



Since we now have our shortlist of elements, we need a business purpose or use case. I came up with five, initially, but of course we are not limited to only these.



1. For Sale By Owner Lisiting


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8"?>
<listing>
<type>residential</type>
<style>Single Family</style>
<beds>3</beds>
<baths>2</baths>
<size>
<squarefeet>2000</squarefeet>
</size>
<location>
<address>1234 My Street</address>
<city>Orlando</city>
<state>FL</state>
<postalcode>32801</postalcode>
<country>US</country>
</location>
<description>Modern and functional.</description>
<status>active</status>
<price>$150,000</price>
<contact>
<owner>
<firstname>John</firstname>
<lastname>Smith</lastname>
<phonenumber>555-3333</phonenumber>
<email>jsmith@john.smith.name</email>
</owner>
</contact>
</listing>
[/sourcecode]

2. Residential Agent Listing


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8">
<listing>
<type>residential</type>
<style>Single Family</style>
<beds>4</beds>
<baths>2</baths>
<size>
<squarefeet>3000</squarefeet>
</size>
<location>
<address>5678 Your Street</address>
<city>Orlando</city>
<state>FL</state>
<postalcode>32801</postalcode>
<country>US</country>
</location>
<description>Family size.</description>
<status>active</status>
<price>190,500</price>
<contact>
<agent>
<firstname>Jane</firstname>
<lastname>Doe</lastname>
<phonenumber>555-5555</phonenumber>
<email>jdoe@jane.doe.name</email>
<organization>Jane Doe Realty</organization>
</agent>
</contact>
</listing>
[/sourcecode]

3. Commercial Owner Listing


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8"?>
<listing>
<type&gt;commercial</type>
<style>office</style>
<size>
<squarefeet>3000</squarefeet>
</size>
<location>
<address>1010 Biz Way Suite 200</address>
<city>Orlando</city>
<state>FL</state>
<postalcode>32801</postalcode>
<country>US</country>
</location>
<description>Build to suit office space.</description>
<status>active</status>
<price>$100/sqft</price>
<contact>
<owner>
<firstname>Bob</firstname>
<lastname>Johnson</lastname>
<phonenumber>555-9999</phonenumber>
<email>bjohnson@bob.johnson.name</email>
</owner>
</contact>
</listing>
[/sourcecode]

4. Commercial Agent Listing


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8"?>
<listing>
<type>commercial</type>
<style>office</style>
<size>
<squarefeet>4000</squarefeet>
</size>
<location>
<address>2020 Easy Street Suite 300</address>
<city>Orlando</city>
<state>FL</state>
<postalcode>32801</postalcode>
<country>US</country>
</location>
<description>Plenty of space for cubicles. Build to suit.</description>
<status>active</status>
<price>$200/sqft</price>
<contact>
<agent>
<firstname>Jen</firstname>
<lastname>Wright</lastname>
<phonenumber>555-7777</phonenumber>
<email>jwright@jen.wright.name</email>
<organization>Wright Realty</organization>
</agent>
</contact>
</listing>
[/sourcecode]

5. International Listing


[sourcecode language="css"]
<?xml version="1.0" encoding="UTF-8"?>
<listing>
<type>commercial</type>
<style>bank</style>
<size>
<squaremeters>1000</squaremeters>
</size>
<location>
<address>7 Picardy Place</address>
<city>Edinburgh</city>
<postalcode>EH1 3JT</postalcode>
<country>Scotland</country>
</location>
<description>Former bank branch, build to suit</description>
<status>active</status>
<price>300EUR/sqmt</price>
<contact>
<agent>
<firstname>Will</firstname>
<lastname>Jones</lastname>
<phonenumber>0131 5554343</phonenumber>
<email>wjones@will.jones.name</email>
<organization>Jones Realty</organization>
</agent>
</contact>
</listing>
[/sourcecode]

Summary



In sum, LOM Core is a simplified shortlist of 25 core real estate elements allowing anyone to markup a residential or commercial listing. The examples above are soley for exercise purposes, but as you can see LOM can adapt to different types of listings quite effortlessly. The next step is to solidify schemas (DTD, XML Schema, RelaxNG) for validating followed by creating a web-based tool using a form for users to enter in their listing elements to create a LOM Core listing on the fly. Users could then send or copy and paste the LOM Core listing and distribute and transform as needed.



--Corey

Friday, October 9, 2009

Foward thinking to Remetal 0.4


As I finish work on 0.3 of the Real Estate Meta Language, I can't help to look forward to release 0.4. The obvious element which needs a bit of attending to is the <location> element. So here's my thought for this.



For <location>, Remetal will reuse the <Location> compound element offered by Google's Keyhole Markup Language (KML). <Location> is the parent element to following elements as such:



[sourcecode language="xml"]
<Location>
<longitude>39.55375305703105</longitude>
<latitude>-118.9813220168456</latitude>
<altitude>1223</altitude>
</Location>
[/sourcecode]

With this and a bit of xsl transformation, could this element inclusion lead to mapping apps reusing remetal listings? Hopefully is my first thought. I'll let the developers decide what to do and resist tainting. ;)



One of the main principles of the Internet is to "reuse" protocols which already exist, but in this case Remetal will simply reuse an element which already exists thanks to KML.



Feel free to leave comments.



--Corey

Wednesday, October 7, 2009

Remetal 0.3 Upcoming Release

It's been awhile since I've updated Real Estate Meta Language, Remetal, but that's changed. I'm currently adding children elements to the following elements:



  • kitchen

  • livingroom

  • office

  • garage


Here's an example for the pool element:



[sourcecode language="xml"]
<real:pool>
<real:dimensions/>

<real:width>
<real:meters/>
<real:feet/>
</real:width>

<real:length>
<real:meters/>
<real:feet/>
</real:length>

<real:depth>
<real:meters/>
<real:feet/>
</real:depth>

</real:dimensions>
</real:pool>
[/sourcecode]


I hope to have the DTD and schemas refactored and published by this sunday evening. I'll have an announcement for the release soon after.



--Corey