xml

Google Protocol Buffers - the Good, the Bad and the Ugly

Google released to open-source its "language-neutral, platform-neutral, extensible way of serializing structured data for use in communications protocols, data storage, and more": Protocol Buffers.

Google claims it's like XML, but better mostly because: "[Protocol Buffers] are 3 to 10 times smaller, and 20 to 100 times faster".

My feelings about this news are mixed. Like I was just telling Doug you can't argue with Google when it comes to matters of performance and speed, BUT you can feel concerned at the fact that a giant, like Google, uses its muscle to diminish and harm the crucial standard like XML. XML took so long to get adopted, made so much possible and is still so fragile, that you can't take this matter lightly.

OK, maybe the PB thing is faster and smaller and blah, blah, blah and maybe it's not as cumbersome as CORBA was, so it's not total evil, BUT (I repeat - BUT) let's be honest here - not everybody is Google and I can bet 90% of systems just do not care about the same things Google does. So, XML is fine for most applications.

However, now that Google is pushing one more of its bloated technologies (want another example? Think GWT) - a lot of people will adopt it just because it's a Google thing. And it may harm XML, and it may harm industry.

So, you see - as much as we all love open-source, sometimes when open-source gets intermixed with big, corporate politics - things can go south.

And last but not least, if you want more object-oriented, smaller, faster exchange format, there is JSON! JSON is well adopted and supported, so why, oh why do mere mortals like ourselves need Protocol Buffers?

World Bank Google-Mapped

I have slowed down on blogging lately. It's not because there is nothing to write about anymore, but because things have been very busy for the past couple of months. One of the projects that has kept us entertained and excited at work went live yesterday.

[ geo.worldbank.org ] is a new, free web product of the World Bank’s that was masterminded by Pierre-Guillaume Wielezynski and created by yours truly using Google Maps API. It provides an intuitive, visual view of development information around the world.

You can safely claim that the majority of the Earth's population has heard about the World Bank. Most of them also know that the Bank finances development efforts all around the world. However, that is by far not the only thing the World Bank does. Having been at the center of poverty reduction efforts for decades, the World Bank has accumulated enormous amounts of development data. The World Bank is as much an information bank as it is a financial institution. By creating an easy, visual entry point into its data, the Bank attempts to make the information more accessible to the public and to further its transparency efforts.

Being an entry point, the map is much more light-weight than the underlying data-sets. Different tabs provide snapshot views of country news, World Bank projects, statistical data for countries, and the links to drill-down into more comprehensive portals. Where available, the addresses of the local, brick-and-mortar information centers are given too. Map is equally geared towards general audience and professional researchers.

Generic XML and XML Schema for Hierarchical Content

Most hierarchical content can be described in XML in very much the same way. Following is a generic XML schema (and sample XML) for hierarchical content.

For the purposes of this demonstration, we assume that this XML describes a hierarchical content taxonomy.

Syndicate content