{"id":74,"date":"2008-10-26T09:02:00","date_gmt":"2008-10-26T09:02:00","guid":{"rendered":"http:\/\/willemkossen.nl\/b\/?p=74"},"modified":"2022-10-18T13:09:58","modified_gmt":"2022-10-18T13:09:58","slug":"web2-0-services-integration-wrong-or-right","status":"publish","type":"post","link":"http:\/\/willemkossen.nl\/b\/?p=74","title":{"rendered":"Web2.0 Services Integration, wrong or right?"},"content":{"rendered":"\n<p>Almost all users of web2.0 services will have noticed that it is possible to link different services together, to get data from one service into another, to integrate services. Examples are numberous and I\u2019ll name just a few:<\/p>\n\n\n\n<ul><li><a href=\"http:\/\/twitter.com\/\">Twittering&nbsp;<\/a>my location from&nbsp;<a href=\"http:\/\/plazes.com\/\">Plazes.com<\/a><\/li><li>Importing my contacts into&nbsp;<a href=\"http:\/\/linkedin.com\/\">LinkedIN<\/a>&nbsp;from my&nbsp;<a href=\"http:\/\/www.hotmail.com\/\">Hotmail&nbsp;<\/a>account<\/li><li>Getting my&nbsp;<a href=\"http:\/\/twitter.com\/\">tweets&nbsp;<\/a>into my&nbsp;<a href=\"http:\/\/dipity.com\/\">Dipity&nbsp;<\/a>timeline<\/li><li>Having my lifestream info from many services on&nbsp;<a href=\"http:\/\/spock.com\/\">spock<\/a><\/li><li>Running my&nbsp;<a href=\"http:\/\/apps.facebook.com\/we_r_related\">familytree&nbsp;<\/a>application inside&nbsp;<a href=\"http:\/\/facebook.com\/\">facebook<\/a><\/li><li>Sending an update to multiple services at once using&nbsp;<a href=\"http:\/\/hellotxt.com\/\">hellotxt&nbsp;<\/a>or&nbsp;<a href=\"http:\/\/ping.fm\/\">ping.fm<\/a><\/li><li>Checking my todo\u2019s from&nbsp;<a href=\"http:\/\/rmilk.com\/\">Remember the Milk<\/a>&nbsp;in my&nbsp;<a href=\"http:\/\/google.com\/calendar\">Google Calendar<\/a><\/li><\/ul>\n\n\n\n<p>Nice huh? Well, not really.&nbsp;<img src=\"https:\/\/web.archive.org\/web\/20081101131027im_\/http:\/\/willemkossen.nl.nyud.net:8080\/b\/wp-includes\/images\/smilies\/icon_cry.gif\" alt=\":cry:\">&nbsp;If you look at it closely you will discover that most of these so called integrations are actually point to point integrations based on openly published, but very service-specific&nbsp;<a href=\"http:\/\/en.wikipedia.org\/wiki\/Application_programming_interface\">API<\/a>\u2019s. Do the math: This means that to connect&nbsp;<strong>n<\/strong>&nbsp;services you would need&nbsp;<strong>n*(n-1)<\/strong>&nbsp;specific integrations based on&nbsp;<strong>n<\/strong>&nbsp;different API\u2019s. Believe you me, this can get pretty complicated very quickly\u2026&nbsp;<img src=\"https:\/\/web.archive.org\/web\/20081101131027im_\/http:\/\/willemkossen.nl.nyud.net:8080\/b\/wp-includes\/images\/smilies\/icon_confused.gif\" alt=\":-?\"><\/p>\n\n\n\n<p>So what\u2019s the real problem then? Dataportability is the problem, or rather, the lack of it. The only reason anyone would want to integrate services is because this creates added value. You can bring different bits of information together to create something new, something better. Actually, you also want reuse of information. I don\u2019t want to add all the e-mail addresses of everyone I know manually to each new service I join, so I import them from my existing contact list. Since&nbsp;<a href=\"http:\/\/hotmail.com\/\">Hotmail&nbsp;<\/a>has a different API for extracting contacts than&nbsp;<a href=\"http:\/\/gmail.com\/\">Gmail&nbsp;<\/a>or&nbsp;<a href=\"http:\/\/mail.yahoo.com\/\">Yahoo mail<\/a>&nbsp;or any other contacts-service for that matter, if I\u2019m a web2.0 service owner, I\u2019ld have to implement that API for each contacts-service I wish to support. That\u2019s why you only find a few contacts-services on each site, it\u2019s too much ado. (and \u20ac $ \u00a3 \u00a5 etc)<\/p>\n\n\n\n<p>The solution would be an&nbsp;<a href=\"http:\/\/en.wikipedia.org\/wiki\/Open_standard\">open standard<\/a>&nbsp;for contacts that is supported by all contacts-services so that \u2018your-favorite-contacts-service\u2019 could be accessed from \u2018your-favorite-web2.0-service\u2019 by just entering some simple parameters like an URL and your&nbsp;<a href=\"http:\/\/openid.net\/\">Open-ID<\/a>.<\/p>\n\n\n\n<p>Let\u2019s look at an example that is actually ok: I happen to like the interface of&nbsp;<a href=\"http:\/\/iwantsandy.com\/\">http:\/\/iwantsandy.com\/<\/a>&nbsp;to manage my todo\u2019s (i can e-mail new todo\u2019s in or IM them etc\u2026) but I also manage my calendar at&nbsp;<a href=\"http:\/\/google.com\/calendar\">Google,&nbsp;<\/a>I don\u2019t want to keep visiting two sites every day to see what\u2019s up for that day\u2026 The solution is to export my&nbsp;<a href=\"https:\/\/web.archive.org\/web\/20081101131027\/http:\/\/iwantsandy.com\/\">Iwantsandy&nbsp;<\/a>todolist using the open standard&nbsp;<a href=\"http:\/\/tools.ietf.org\/html\/rfc2445\">ICS&nbsp;<\/a>using an internet URL and have&nbsp;<a href=\"http:\/\/google.com\/calendar\">Google calendar<\/a>&nbsp;add the information in that ICS feed to my calendar display. That way I can also see my todo\u2019s from&nbsp;<a href=\"https:\/\/web.archive.org\/web\/20081101131027\/http:\/\/rmilk.com\/\">Remember The Milk<\/a>&nbsp;and any other ics-based calendar feed in my&nbsp;<a href=\"http:\/\/google.com\/calendar\">Google Calendar<\/a>. In fact, since I can also export my Google Calendar using ICS I could also view all my calendars in&nbsp;<a href=\"http:\/\/www.mozilla.org\/projects\/calendar\/sunbird\/\">Mozilla Sunbird<\/a>&nbsp;or any other calendar application that supports ICS. Nifty ay?&nbsp;<img src=\"https:\/\/web.archive.org\/web\/20081101131027im_\/http:\/\/willemkossen.nl.nyud.net:8080\/b\/wp-includes\/images\/smilies\/icon_cool.gif\" alt=\"8-)\"><\/p>\n\n\n\n<p>As you see from the example, this way I do not create a point-to-point integration but an any-to-any integration based on a common data-format. That\u2019s true integration as we all want it. So how does that translate to the&nbsp;<a href=\"http:\/\/en.wikipedia.org\/wiki\/Web_2.0\">Web2.0<\/a>? Simple: We need an international open standard for each type of information (contacts, joblistings, weblink collections, micro-blogging-items, profile-information, book collections etc) and we need all web2.0 services to abandon their personal API\u2019s and start supporting those open standards. That way the following situation arrives:<\/p>\n\n\n\n<ol><li>I choose \u2018my favorite site for storing and editing information of type x\u2019<\/li><li>I reuse that information on whatever web2.0 service I choose<\/li><li>I save lots of time because I don\u2019t have to add information more than once<\/li><li>I prevent inconsistencies and errors since i always use the same source info<\/li><li>I achieve web2.0 zen<\/li><\/ol>\n\n\n\n<p>For now, this will not happen and in most cases we will be creating the spaghetti integrations that are available now. You could say it\u2019s better than nothing, it\u2019s the best we have now\u2026 I don\u2019t like to settle for that. I hope things will change and I\u2019m quite willing to discuss these things with anyone\u2026<\/p>\n\n\n\n<p>One thing though\u2026 These open standards actually describe what bits of information mean. They describe the meaning of data, in other words: the semantics. A lot of people agreed that the semantic web is actually web3.0 and not web2.0. This means that in my opinion web2.0 will not truely arrive until web3.0 comes into full existence. I guess someone\u2019s got their numbering wrong\u2026.. My conclusion however still is the following:<\/p>\n\n\n\n<p><strong>true dataportability NEEDS semantic interoperability<\/strong>\u2026 Full Stop\u2026<\/p>\n\n\n\n<p>There are a number of initiatives to try and come up with open standards for web2.0 integration like&nbsp;<a href=\"https:\/\/web.archive.org\/web\/20081101131027\/http:\/\/dataportability.org\/\">dataportability.org<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/web.archive.org\/web\/20081101131027\/http:\/\/www.opendd.net\/\">Opendd.net<\/a>. Maybe these or some other will alleviate our problems somewhat. If you know of other initiatives like these, don\u2019t hesitate to comment!<\/p>\n\n\n\n<p>Hope you liked this item!<\/p>\n\n\n\n<p>Cheers!<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" width=\"204\" height=\"87\" src=\"http:\/\/willemkossen.nl\/b\/wp-content\/uploads\/2022\/10\/signature-4c685b3de1f98bc3665afa55cc11559d.png\" alt=\"\" class=\"wp-image-70\"\/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Almost all users of web2.0 services will have noticed that it is possible to link different services together, to get data from one service into another, to integrate services. Examples are numberous and I\u2019ll name just a few: Twittering&nbsp;my location from&nbsp;Plazes.com Importing my contacts into&nbsp;LinkedIN&nbsp;from my&nbsp;Hotmail&nbsp;account Getting my&nbsp;tweets&nbsp;into my&nbsp;Dipity&nbsp;timeline Having my lifestream info from many [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=\/wp\/v2\/posts\/74"}],"collection":[{"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=74"}],"version-history":[{"count":2,"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=\/wp\/v2\/posts\/74\/revisions"}],"predecessor-version":[{"id":177,"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=\/wp\/v2\/posts\/74\/revisions\/177"}],"wp:attachment":[{"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=74"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=74"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/willemkossen.nl\/b\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=74"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}