Semantics-Why should I care?

'Data' is the new currency on the web and there are companies fighting for YOUR data. Facebook blocked Twitter from looking up for friends, Google fought with Facebook over data protectionism and such wars are wide spread across the web. Probably, there are business constraints which are beyond the scope of discussion, but how does this matter to us, the end users or more specifically, the developers?


We log in to many social media sites  and continue registering for even more services every day. We spend a lot of time for this, struggle to maintain so many profiles, send friend requests to people who are already friends in other networks, finally ending up locking our data in stovepipes. What is the value of data which is locked in some data silos? It can't be reused anywhere else and is useful only at a single place, which means, such data isn't much useful. It is YOUR data and it needs to be available quickly, easily and in a way that suits your needs. We have already moved from Web 1.0 era, where applications published data stored in 'private' databases. We are in Web 2.0 era, where open APIs are available and mashups can be made to serve our purpose and share information. Yet, data is locked in private databases and building up mashups remained only as loss of time for developers.  Data on a website can be searched by text matching techniques but cannot be queried. Moreover, we cannot move our content from one place to another or reuse our twitter friends list on flickr.


In the age where data is exploding and number of machines (computers) are competing with number of people, the amount of machine readable data (content that a computer can understand when it drops in at your site) is meager. e.g.,  Data on a webpage does not express the relation between different objects in a way machines can understand. Developing content is expensive and developing another app just to support a new service is not 're-use'. Social networking sites are like independent islands, creating many independent communities of users and data. There is a need to connect these islands, allowing users to move from one place to another, along with their data. This is where semantic web standards peek in.


Semantic web standards help in resolving all the issues listed above by creating rich, standard, machine readable content. They work on 'network effects', which means the more users adopting semantic web standards, the more benefit they can reap. e.g., The benefit of cell phones will be best known if everyone in a community owns one, since communication becomes easier. Did you know that you are already in a part of semantic web? If you are using Facebook or Twitter, you are living in a semantic environment without your ignorance. The working of Facebook's "Like" button is entirely driven by these standards. There are many protocols in place and good work is being done by enterprises as well as open source communities in advocating these concepts. RDFa by W3C, Microformats, Abmeta, Yahoo Search Monkey, Google rich snippets, Facebook Open Graph Protocol, Twitter Annotations, etc., are all the efforts to put more machine readable markup on websites.


Semantic Web, Open Data, Linked Data, Web 3.0, HTML5. Are all these same?

This is a huge topic of confusion, with so many terms lying around and people using them interchangeably. UK government opened up their data to the public and this data refers to 'Open Data'. 'Linked Data' is a way of publishing structured data on the web, based on certain principles outlined by Tim Berners Lee. It is essentially aimed at solving the design issues of semantic web, helping in interlinking different islands of web pages. So, Open Data can still be in isolated island, without being linked to other communities. 'Semantic Web' is a web of structured, machine readable data and it makes sense when data is both open and linked. It is huge tree having linked data, vocabularies (FOAF, SIOC), Ontologies, Rules, Reasoning etc.,  as its branches. 'Web 3.0' is a visionary term, imagining a web where machines can understand, add content and artificial intelligence showing its power in search. It is used synonymously with 'semantic web', but the transition to such a generation is not anywhere in the near future, since there is enormous amount of data to be serialized to machine readable format. HTML5 is one of the many enablers of the vision of semantic web and it's microdata specification is designed to simplify the existing annotation technologies.


The goal of this article is to show why developers should care for semantics, in building the next generation of web applications. Intentionally, it is kept far from deep technical things and subsequent articles would go a bit deeper. Hope this held your interest for sometime Smile

How "open" is the open web today?

"Openness"is the heavily used term in the current tech era. It has its roots penetrated into several areas like mobile/consumer electronics markets, data protectionism, open source platforms etc. While the debate on who is the openest of them all is a never ending battle, with respect to web technologies,developers are seeing  positive trends.Here are some of my observations:


(1) The open web platform:

It is a collectionof web technologies which W3C and other bodies have put forward. It includes HTML5 markup, CSS3, SVG, ECMAScript, Web Storage, IndexedDB, Web workers,Microdata, Geolocation API, XMLHttpRequest and more.. Ever since HTML5 became the buzz word, there was lot of hazzle in forums over HTML5, flash, silverlight. It is interesting to note that the biggies are voting for open web, apart from pushing their own RIAs, a win-win for both communities.


(2) HTML5, the jewel of open web:

Unless developers are living in the age of dinosaurs, the term HTML5 should dance on their lips and finger tips. WHATWG's recent announcement that "HTML is the new HTML5" itself indicates the shift to openness. The idea of not versioning markup and leaving it as a living document reveals means- there are so many things happening in the open specifications and there is no definite point in timewhere "everything is done". 


HTML5 might still bethe marketing term (along with the new logo), but it will remain as HTML to the developers heart. For me (andhopefully for every developer), this is openness not just in technology butalso in heart and soul :)


(3) The open web stack:

This is one areawhich I'm very much interested. This forms the foundation for the way different web APIs talk to each other, Openly. In simple words, if you build a mashup with twitter API, you are locked in twitter. Similar is the case with any otherAPI, which is incompatible with each other by design.


As of now, there is NO open way for building mashups and developer needs to start from scratch forevery mashup he builds. Hopefully, OpenStack will fill this gap with several open protcols like OpenId, Oauth, XRDS, Activity streams, Portable contacts, OpenSocial etc. The unresolved issues like privacy, user's control over data could possibly dealt with common agreement over the open web stack.


(4) The Zuckerberg saga:

For a layman, Web2.0 may not be a catchy terminology, but they are using every feature of Web2.0 with Facebook. In a way, Facebook is "Humanizing" the web2.0 revolution, bringing it into everyone's life. Through itss RSS (news feeds),mashups (content aggregation), widgets, personalization, collaboration,  using oAuth/Open Id etc,  Facebook has shown the web2.0 taste to its~600 million users. This,  I strongly believe is a result of deciding to be open(though there are some gaps in FB's open strategy).


(5) The Open data movement:

This, I'm sure will take lot of time to evolve, since it is not just about technology but it is also about mindset of people. The open data movement is all about 'put yourdata on the web and make it open' and this involves governemnt, scientific,academic or whatsoever data. This can be used by people to come up with amazingly useful mashups.


UK government's launch of open data, people's ideas to it is an excellent demonstration of this. My friend Thejesh has put commendable effort on this, working with Indian Governent. I strongly sense that Aadhaar will play a crucial role inOpen data movement in India and would love to contribute to it.


These have been my observations and learnings in the past one month, where I had a chance toattend 5 good International conferences and interact with awesome people. Am loving it :) Do share your ideas on the same.