Archive for July, 2008

REBarCamp is very FooBaz

Greetings from REBarCamp 2008, the first of hopefully many such meetings of open collaboration. CRT is one of the sponsors and glad to be here.  If you’re not familiar with a BarCamp, this wikipedia entry will probably help there.

Matt Lavallee from MLSPIN and I will host a small talk on “RESO, RETS, & Syndication and stuff.” We figure it’s a meaningful piece of content we can bring that few others in the room can provide.  Many of the events of the day seem to around social media information.  (Personally, I’d like to talk more tech, but we all know my geek preferences.)  There are many other planned talks through out the day, and I’ve included some photos of the “topics board.”

As I type this, I’m in a session where Ben Martin is sharing the results of the CREST survey.  When the full survey is published, we’ll cover it in a later blog post.  More later…  (And I’ll fix the orientation on the photos later.  Bandwidth is terrible here, painful to post…)

I Hate You More Then Ever XML

I love Milkman Dan.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!

Is the iPhone 3G worth the upgrade?

We’ll have to wait and see….

Today I wanted to go get an iPhone 3G and do a first day impression report if the speed was the upgrade and being shackled to AT&T for another 2 years.  Sadly, that won’t be happening today due to long lines and activation problems.

I personally underestimated the demand and I didn’t think the line would be all that big.  I made my way over to the store at about 9:40 this morning and the line was a block and a half long.  A friend of mine that works on the other side of Chicago’s Loop reported that the AT&T store on Monroe had a similar line.  To give you an idea of the length of the line, I’ve drawn on a Google map.  One difference in reality from that map is that people weren’t standing in the cross street, but you know…


View Larger Map

However, I do have some good things to say about the new iPhone OS that also was unleashed today.  If you’re not in a 3G covered area, this is the big news.

The upgrade process I did last night went smoothly and downloading and installing apps from the iTunes story did as well.  I haven’t had a chance to play with many of the apps yet, but I’m really excited by mobile NetNewsWire and Twitterific.  I love both of the desktop versions of those apps and I am very happy to have pocket versions.  The AIM client is nice to have as well, but I’ve read reports that its buggy.  I haven’t used it enough yet to run into that.

I won’t list all the new features as there are many web sites that cover that, but there are some really nice changes that affect my daily life.  The calendar is now multi-calender  aware, which was something that was killing me on the old OS.  Mail has bulk move and bulk delete now, which will save me a bunch of time.  You can BCC mail now as well, which is useful in business contexts.

As I do more, I’ll do another post.  So, with only a few minutes really into it, and not waiting in the long line, the OS upgrade is worth it.  Not sure about the hardware.  Luckily, everyone gets the OS upgrade even if they don’t buy a new phone.