<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>La Case de l&#039;Oncle Tom &#187; micro-blogs</title>
	<atom:link href="http://case.oncle-tom.net/tag/micro-blogs/feed/" rel="self" type="application/rss+xml" />
	<link>http://case.oncle-tom.net</link>
	<description>Développement Web, bonnes pratiques et performances</description>
	<lastBuildDate>Sun, 25 Dec 2011 19:33:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="search"
           href="http://case.oncle-tom.net/opensearch"
           type="application/opensearchdescription+xml"
           title="Content Search" />		<item>
		<title>Widget Jaiku pour Netvibes : présentation et bilan du développement</title>
		<link>http://case.oncle-tom.net/2008/widget-jaiku-netvibes-presentation-bilan-developpement/</link>
		<comments>http://case.oncle-tom.net/2008/widget-jaiku-netvibes-presentation-bilan-developpement/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 05:00:37 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[jaiku]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[macosx]]></category>
		<category><![CDATA[micro-blogs]]></category>
		<category><![CDATA[netvibes]]></category>
		<category><![CDATA[proxy]]></category>
		<category><![CDATA[widget]]></category>
		<category><![CDATA[xhtml]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/?p=1070</guid>
		<description><![CDATA[J&#8217;ai publié il y a quelques semaines un widget Jaiku dans l&#8217;écosystème Netvibes. Autrement dit, on peut désormais interagir avec le sous-employé Jaiku depuis son compte Netvibes en levant à peine le petit doigt. La réalisation de ce widget était pour moi l&#8217;occasion de réaliser mon premier widget utilisant la plateforme UWA : un développement [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://case.oncle-tom.net/images/2008/06/logo-jaiku.png"><img class="aligncenter size-full wp-image-938" title="Logo Jaiku" src="http://case.oncle-tom.net/images/2008/06/logo-jaiku.png" alt="" width="89" height="73" /></a></p>
<p>J&#8217;ai publié il y a quelques semaines un <a title="widget Jaiku pour Netvibes" href="http://eco.netvibes.com/widgets/241591/jaiku">widget Jaiku</a> dans l&#8217;<a href="http://eco.netvibes.com">écosystème Netvibes</a>. Autrement dit, on peut désormais interagir avec le sous-employé Jaiku depuis son compte Netvibes en levant à peine le petit doigt.</p>
<p>La réalisation de ce widget était pour moi l&#8217;occasion de réaliser mon premier widget utilisant la plateforme <acronym title="Universal Widget API">UWA</acronym> : un développement rendu compatible pour plusieurs plateformes dont <a href="http://igoogle.com">iGoogle</a>, <a href="http://www.apple.com/downloads/dashboard/">MacOS X Dashboard</a>, <a href="http://live.com">Windows Live</a> etc.</p>
<p><span id="more-1070"></span></p>
<h3>Présentation du widget Jaiku pour Netvibes</h3>
<p>Avant de rentrer dans les détails techniques, faisons ensemble un petit tour de ce qu&#8217;est capable de faire le widget Jaiku. Rien de bien méchant puisqu&#8217;il fait ce qu&#8217;on veut : lire et envoyer les messages. Faut savoir rester simple <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div id="attachment_1082" class="wp-caption aligncenter" style="width: 290px"><img class="size-full wp-image-1082" title="Jaiku pour Netvibes" src="http://case.oncle-tom.net/images/2008/08/jaiku-netvibes.png" alt="Jaiku pour Netvibes" width="280" height="450" /><p class="wp-caption-text">Widget Jaiku pour Netvibes</p></div>
<p>Je ne me cacherai pas que je me suis largement inspiré du widget Twitter pour Netvibes au niveau de la présentation tout en ajoutant ma touche personnelle.</p>
<p>L&#8217;écran de connexion accueille directement avec des champs identifiant et mot de passe pour faciliter son utilisation. Pas besoin d&#8217;aller fouiller dans les options. Un petit confort on dira.</p>
<p>L&#8217;entête contient ce qu&#8217;il faut pour envoyer des messages : votre lieu de présence et le champ de saisie. Le compteur de texte se met à jour à chaque caractère saisi et surtout, votre saisie n&#8217;est pas bloquée une fois que vous atteignez la limite. Il n&#8217;y a rien de plus pénible que ça.</p>
<p><strong>Le gros du morceau réside dans les onglets</strong> : pour une fois vous pouvez facilement naviguer d&#8217;une ligne de temps à une autre. Choisissez les messages de vos contacts, les vôtres (un peu narcissique non ?) ou encore les messages publics.<br />
Les 3 onglets sont paginés à la convenance de l&#8217;utilisateur, de 1 à 20 messages par page.</p>
<p>J&#8217;ai ensuite agrémenté de plusieurs fonctionnalités que j&#8217;apprécie à l&#8217;usage (à vous de me dire si c&#8217;est aussi le cas) :</p>
<ul>
<li><strong>possibilité de répondre à un message</strong> en pré-remplissant le champ de saisie avec ce qu&#8217;il faut (et ce que l&#8217;<acronym title="Application Programming Interface">API</acronym> Jaiku permet de faire &#8230;)</li>
<li>icône signalant l&#8217;<strong>origine des messages</strong> affichés (flux <acronym title="Really Simple Syndication">RSS</acronym>, Twitter, Last.fm etc.)</li>
<li><strong>filtrage de ses propres messages</strong> : vos messages n&#8217;apparaîtront pas dans la ligne de temps des contacts (ce qui en soit n&#8217;est pas plus mal)</li>
<li><strong>formattage des messages</strong> avec une meilleure reconnaissance de <acronym title="Uniform Resource Locator">URL</acronym> que le widget Twitter et surtout, une reconnaissance des noms d&#8217;utilisateurs (@utilisateur) et des noms de canaux (#canal) &#8230; vous permettant de leur répondre en cliquant sur leur nom</li>
</ul>
<p>Il resterait encore pas mal de choses à faire mais on arrive malheureusement assez rapidement aux limites des 2 services.</p>
<h3>L&#8217;<acronym title="Application Programming Interface">API</acronym> Jaiku</h3>
<p>L&#8217;<a href="http://devku.org/docs"><acronym title="Application Programming Interface">API</acronym> Jaiku</a> est très bien mais un peu <strong>chiche en services</strong>.</p>
<p>Le nombre de flux en récupération est suffisant : contacts, messages, informations personnelles.<br />
En revanche les méthodes d&#8217;envoi sont limitées et pour cause, il n&#8217;y en a qu&#8217;une : envoyer un message.</p>
<p>Il ne manque pas grand chose pour qu&#8217;on puisse tout faire :</p>
<ul>
<li>obtention de la liste des icônes personnalisées</li>
<li>préciser à quel message on adresse une réponse (pour éviter de casser les discussions)</li>
<li>une gestion de <em>messages privés</em> (et les flux qui vont bien)</li>
<li>une <acronym title="Application Programming Interface">API</acronym> qui ne souffre pas d&#8217;autant de délai &#8230; parfois il faut attendre 3 heures avant d&#8217;avoir un flux actualisé. Pas pratique pour de la messagerie en temps quasi-réel</li>
</ul>
<p>Ces demandes ont été faites mais bon, il faudra attendre la <a href="http://www.jaiku.com/blog/2008/08/18/from-the-dev-corner-an-under-the-hood-preview-of-our-new-engine/">relance de Jaiku avec Google App Engine</a> &#8230; très bientôt visiblement.</p>
<h3>Et du côté de Netvibes ?</h3>
<p>Le développement du widget repose sur l&#8217;<acronym title="Application Programming Interface">API</acronym> <acronym title="Universal Widget API">UWA</acronym> de Netvibes et donc par conséquent, c&#8217;est du développement 99% JavaScript.</p>
<p>Heureusement tout n&#8217;est pas à faire puisqu&#8217;<acronym title="Universal Widget API">UWA</acronym> fournit une base d&#8217;outils et quelques fonctionnalités natives comme la pagination ou les onglets.</p>
<h3>Quels avantages à utiliser Netvibes <acronym title="Universal Widget API">UWA</acronym> ?</h3>
<p>La <a href="http://dev.netvibes.com/doc/universal_widget_api">spécification <acronym title="Universal Widget API">UWA</acronym></a> permet donc à partir d&#8217;un <strong>développement unique de le porter sur d&#8217;autres plateformes de blogs</strong> en un minimum d&#8217;efforts (très souvent aucun). Il faut savoir qu&#8217;à chaque plateforme de widget il y a une manière de développer différente.</p>
<p>Alors plutôt que de parier sur un cheval, avec <acronym title="Universal Widget API">UWA</acronym>, on peut parier sur tous. Et ne faire qu&#8217;un seul développement.</p>
<p>Le développement d&#8217;un widget aboutit très généralement à l&#8217;ajout dans l&#8217;<a href="http://eco.netvibes.com">écosystème Netvibes</a>. Le widget se retrouve ainsi à la portée de toutes les pages de démarrage par le biais de son moteur de recherche intégré.</p>
<p>Côté développement, tout reste globalement simple quand on veut faire du simple.</p>
<h3>Mais quelle galère à développer avec Netvibes <acronym title="Universal Widget API">UWA</acronym> &#8230;</h3>
<p>En revanche ça devient beaucoup moins drôle quand on tombe sur des besoins mal couverts par la documentation.<br />
Et quand je dis <em>mal couvert</em>, ça inclut :</p>
<ul>
<li>pas de documentation du tout</li>
<li>une documentation partielle et pas suffisamment verbeuse (genre pour les onglets et la pagination)</li>
<li>une documentation obsolète et pas recommandée de leur propre aveu (le stockage des mots de passe)</li>
</ul>
<p><strong>L&#8217;adoption d&#8217;un service et sa qualité se jugent à mon avis par sa documentation</strong>. Certes des efforts sont faits mais leur <acronym title="Application Programming Interface">API</acronym> deviendra crédible et fiable le jour où elle sera à jour et complète.</p>
<p>En plus de ça, certaines fonctionnalités sont elles aussi incomplètes.</p>
<p>Au hasard, le <strong>processus de <acronym title="localisation">l10n</acronym></strong> : à implémenter soi-même et encore, il ne pourra pas couvrir tous les besoins comme les préférences. C&#8217;est d&#8217;autant plus dommage que leur système est particulièrement au point pour l&#8217;interface traduite en une dizaine de langues.<br />
Mais pas les widgets &#8230;</p>
<p>Toute à l&#8217;heure j&#8217;évoquais les mots de passe. Il y a bien un mécanisme qui permet de les stocker mais il agit comme il veut : <strong>on ne peut stocker qu&#8217;un mot de passe par widget</strong> et surtout, on ne peut pas l&#8217;utiliser autrement que dans le cas d&#8217;une identification <acronym title="HyperText Transfer Protocol">HTTP</acronym>.<br />
Autrement dit, le stockage d&#8217;un clé d&#8217;<acronym title="Application Programming Interface">API</acronym> se fera dans un champ texte standard.</p>
<p>Ça ne serait pas gênant si la plupart des widgets étaient exécutés dans une iframe et que cette dite iframe embarquait dans l&#8217;<acronym title="Uniform Resource Locator">URL</acronym> toutes les préférences enregistrées. Donc <em>votre</em> clé d&#8217;<acronym title="Application Programming Interface">API</acronym>.<br />
Pourquoi c&#8217;est gênant ? Car il y a un <em>mécanisme inhérent</em> à tout navigateur Web qui s&#8217;appelle le Referrer. En clair, quand vous affichez une page, votre navigateur envoie l&#8217;adresse de la page appelante.<br />
Je me passerai du dessin &#8230;</p>
<p>Enfin, et pour terminer sur une note un peu moins noire, l&#8217;environnement de développement est un superbe outil pour tester son widget de manière indépendante. C&#8217;est à dire sans se connecter sur netvibes.com.<br />
Enfin là où le bas blesse c&#8217;est que les <strong>comportements et la présentation sont différents</strong> entre l&#8217;environnement de développement et Netvibes.</p>
<p>Ce qui sous-entend des bugs présents en développement et pas en production, la gestion des mots de passe qui diffère en développement de la production et du paramétrage spécifique pas documenté.</p>
<h3>Proxy local pour widget Netvibes</h3>
<p>Le <a href="http://dev.netvibes.com/doc/uwa_faq">proxy de développement Netvibes</a> indiqué dans la <acronym title="Frequently Asked Questions">FAQ</acronym> est fonctionnel mais <em>trop minimaliste</em>. On peut en effet récupérer les données mais dès qu&#8217;il s&#8217;agit d&#8217;en envoyer, c&#8217;est cuit.</p>
<p>J&#8217;ai donc adapté le <a href="http://developer.yahoo.com/javascript/samples/proxy/php_proxy_simple.txt">proxy du Yahoo! Developer Network</a> à mes besoins en ajoutant plusieurs fonctionnalités :</p>
<ul>
<li><strong>mise en cache des requêtes GET</strong> pour accélérer les chargements de page et éviter de cramer trop de requête auprès de fournisseurs les limitant (qui a dit Twitter ?)</li>
<li><strong>transmission des données POST</strong> ; c&#8217;est ce qu&#8217;il manquait le plus à la version fournie par Netvibes</li>
<li><strong>compatible texte/JSON/<acronym title="eXtensible Markup Language">XML</acronym></strong> ; le proxy renvoie les bonnes entêtes en fonction de la demande</li>
</ul>
<pre><code class="php">&lt;?php
define('CACHE_TTL', is_int($_GET['cache']) ? $_GET['cache'] : 3600);
define('CACHE_FOLDER', dirname(__FILE__).'/cache');
//
$session = curl_init($_GET['url']);
// If it's a POST, put the POST data in the body
if (isset($_POST) &amp;&amp; !empty($_POST))
{
  $postvars = '';
  while ($element = current($_POST))
  {
    $postvars .= key($_POST).'='.$element.'&amp;';
    next($_POST);
  }
  curl_setopt ($session, CURLOPT_POST, true);
  curl_setopt ($session, CURLOPT_POSTFIELDS, $postvars);
}
// Play with some cache
$md5sign = md5($_GET['url'].$postvars);
$md5file = CACHE_FOLDER.'/'.$md5sign;
/*
 * Read cache
 */
if (file_exists($md5file) &amp;&amp; filemtime($md5file)+CACHE_TTL &gt; time())
{
  curl_close($session);
  send_headers_content_type($_GET['type']);
  readfile($md5file);
  exit();
}
// Don't return <acronym title="HyperText Transfer Protocol">HTTP</acronym> headers. Do return the contents of the call
curl_setopt($session, CURLOPT_HEADER, false);
curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
// Make the call
$output = curl_exec($session);
$fp = fopen($md5file, "wb+");
fwrite($fp, $output);
fclose($fp);
send_headers_content_type($_GET['type']);
echo $output;
curl_close($session);
/*
 * Functions
 */
function send_headers_content_type($type)
{
  // Set the Content-Type appropriately
  switch ($type)
  {
    case 'text':
    default:
      header("Content-Type: text/plain");
    break;
    case 'xml':
      header("Content-Type: text/xml");
    break;
    case 'json':
      header('Content-Type: text/x-json');
    break;
  }
}
?&gt;</code></pre>
<p>En revanche, je serais vous, <strong>j&#8217;éviterais de m&#8217;en servir publiquement</strong> car il n&#8217;y a aucune vérification de sécurité donc à moins que vous ayiez envie de servir de relais à spam, le mieux est de n&#8217;utiliser ce proxy que sur une instance locale ou bien de davantage le blinder.</p>
<h3>Conclusion</h3>
<p>On arrive désormais au terme de ce billet fleuve <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Quoique je puisse en dire, <strong>Netvibes <acronym title="Universal Widget API">UWA</acronym> est quand même fort sympathique</strong> et permet d&#8217;aboutir à des temps de développement assez courts une fois la majorité des problèmés rencontrés. Nul doute que <strong>votre premier développement sera le plus compliqué</strong>. Surtout si comme moi vous avez envie de tout utiliser : pagination, onglets et <acronym title="Asynchronous JavaScript and XML">AJAX</acronym> à droite à gauche.</p>
<p>Dans tous les cas, <strong>une bonne conception de l&#8217;application vous sauvera la mise</strong> et évitera trop de réécriture de code.<br />
L&#8217;implémentation de la pagination et des onglets est particulièrement douloureuse si vous n&#8217;utilisez pas de programmation objet. Soyez-en avertis.</p>
<p>Je me suis personnellement bien amusé à développer en utilisant <acronym title="Universal Widget API">UWA</acronym> et en jouant avec l&#8217;<acronym title="Application Programming Interface">API</acronym> Jaiku. Cette dernière met vraiment l&#8217;accent sur le JSON ce qui est très pratique pour manipuler des données distantes de manière minimaliste.</p>
<p><strong>Une fois que ces 2 plateformes arriveront à maturité, il y aura de quoi faire d&#8217;encore plus belles applications</strong>.</p>
<p>N&#8217;hésitez pas à utiliser <a href="http://eco.netvibes.com/subscribe/241591">Jaiku sur Netvibes</a>, à me laisser vos remarques et à partager votre expérience de développement de widgets si le cœur vous en dit <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2008/widget-jaiku-netvibes-presentation-bilan-developpement/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Quand Jaiku surpassera Twitter</title>
		<link>http://case.oncle-tom.net/2008/quand-jaiku-surpassera-twitter/</link>
		<comments>http://case.oncle-tom.net/2008/quand-jaiku-surpassera-twitter/#comments</comments>
		<pubDate>Tue, 24 Jun 2008 05:00:04 +0000</pubDate>
		<dc:creator>Oncle Tom</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[jaiku]]></category>
		<category><![CDATA[micro-blogs]]></category>
		<category><![CDATA[plurk]]></category>
		<category><![CDATA[pownce]]></category>
		<category><![CDATA[twitter]]></category>
		<guid isPermaLink="false">http://case.oncle-tom.net/?p=934</guid>
		<description><![CDATA[Cela fait maintenant plus d&#8217;1 an que j&#8217;utilise Twitter. Passée l&#8217;appréhension du gadget puéril, je l&#8217;ai finalement converti en outil de communication, de réseautage et de veille &#8230; comme beaucoup de ses utilisateurs d&#8217;ailleurs. Seulement voilà, les pannes à répétition sont, à mon sens, en train de ruiner un service qui aurait pu être encore [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://case.oncle-tom.net/images/2008/06/logo-jaiku.png"><img class="size-full wp-image-938" title="Logo Jaiku" src="http://case.oncle-tom.net/images/2008/06/logo-jaiku.png" alt="Logo Jaiku" width="89" height="73" /></a></p>
<p><a href="http://case.oncle-tom.net/2007/06/01/twitter-gtwitter/">Cela fait maintenant plus d&#8217;1 an que j&#8217;utilise Twitter</a>. Passée l&#8217;appréhension du gadget puéril, je l&#8217;ai finalement converti en <strong>outil de communication</strong>, de <strong>réseautage</strong> et de <strong>veille</strong> &#8230; comme beaucoup de ses utilisateurs d&#8217;ailleurs.</p>
<p>Seulement voilà, les pannes à répétition sont, à mon sens, en train de ruiner un service qui aurait pu être encore plus ravageur qu&#8217;il ne l&#8217;a été. Plusieurs concurrents s&#8217;y sont essayés, aucun ne l&#8217;a encore détrôné.</p>
<p>À part peut-être <a href="http://jaiku.com/">Jaiku</a>, si Google réussit son coup.</p>
<p><span id="more-934"></span></p>
<h3>Jaiku, Twitter : micro-blogs et/ou messagerie instantanée délocalisée</h3>
<p>Entre messagerie instantanée asynchrone et micro-blogs, mon cœur balance.</p>
<p>Toutefois le dénominateur commun de <em>Twitter</em>, <em>Jaiku</em>, <a href="http://plurk.com/">Plurk</a>, <a href="http://pownce.com">Pownce</a> et toute la clique ce sont les <strong>messages en 140 caractères adressés au monde entier</strong>.<br />
En soi c&#8217;est assez amusant de constater que cette limite a été adoptée pour tenir sur 1 SMS (tant en envoi qu&#8217;en réception) &#8230; alors que nous sommes sur le Web. Cet exercice aura le mérite de favoriser le partage d&#8217;<acronym title="Uniform Resource Locator">URL</acronym> et d&#8217;améliorer l&#8217;esprit de synthèse de beaucoup.</p>
<p>Malgré tout mon enthousiasme pour <em>Twitter</em>, je n&#8217;ai pour l&#8217;instant envie que d&#8217;une chose : un service stable. Autrement dit :</p>
<ul>
<li>des flux <acronym title="Really Simple Syndication">RSS</acronym> / une <acronym title="Application Programming Interface">API</acronym> qui répond 99,9% du temps : quand je regarde mes twit une fois par heure et que je constante une désespérante &laquo;&nbsp;erreur inconnue&nbsp;&raquo; dans le widget Netvibes &#8230; no comment</li>
<li>un service qui ne s&#8217;effondre pas une page sur 2 en plein milieu de journée</li>
<li>un service qui communique sur ses problèmes : déjà 3 semaines que le client <acronym title="Instant Message">IM</acronym> est hors-ligne. C&#8217;est pourtant le <a href="http://www.readwriteweb.com/archives/top_twitter_clients_definitive_list.php">deuxième client Twitter le plus utilisé</a></li>
</ul>
<h3>Pourquoi Jaiku est mieux que Twitter</h3>
<p>Jaiku ne bénéficie pas du même engouement que Twitter, peut-être pas à tort. Son adoption a été fortement freinée par le rachat de Google en 2007. Ce rachat a placé Jaiku en inscription sur invitation.<br />
Parallèlement à ça, très peu de nouveautés ont fait leur apparition sur le service.</p>
<p>Et avec ça je tente de vous convaincre que Jaiku est mieux ? Et pourtant :</p>
<p style="text-align: center;"><img class="size-full wp-image-936" title="Flux Flickr sur Jaiku" src="http://case.oncle-tom.net/images/2008/06/jaiku-flickr.png" alt="Flux Flickr sur Jaiku" width="399" height="81" /></p>
<ul>
<li><strong>automatisation de l&#8217;intégration de vos flux</strong> (<acronym title="Really Simple Syndication">RSS</acronym>, Twitter, Last.fm etc.) avec une présentation des plus sympathiques (exemple ci-dessus avec <a href="http://case.oncle-tom.net/2008/03/18/flickr-le-site-ideal-pour-partager-ses-photos/">Flickr, mon service photo préféré</a>)</li>
<li>une <strong>interface Web beaucoup plus agréable</strong> : identification facile des source des données, différenciation de nos messages et des flux aggrégés, filtrage des sources de flux</li>
<li>une <strong><acronym title="Application Programming Interface">API</acronym> plus sécurisée</strong> : <a href="http://www.codinghorror.com/blog/archives/001128.html">parce qu&#8217;il ne faut jamais, ô grand jamais donner son mot de passe</a>, cette hérésie est remplacée par une clé unique (mais malheureusement pas regénérable)</li>
<li>les &laquo;&nbsp;channels&nbsp;&raquo; ou <strong>groupes de discussion</strong>. Ils facilitent la création de conversation liées à une thématique ou à des sites/services Web. Pratique pour éviter la schizophrénie du multi-compte.</li>
</ul>
<h3>Pourquoi Twitter est mieux que Jaiku</h3>
<p>Malgré tout, Twitter possède une bonne avance, notamment grâce à son énorme base d&#8217;utilisateurs :</p>
<ul>
<li><strong>immense parc d&#8217;applications</strong>, tant en terme de mashups que de clients pour twitter. Au hasard : <a href="http://www.twitbin.com/">TwitBin</a>, <a href="http://www.twhirl.org/">Thwirl</a>, <a href="http://twittervision.com/">TwitterVision</a>, <a href="http://summize.com/">Summize</a>, <a href="http://www.phoreo.com/twittershare/">TwitterShare</a>, <a href="http://twitlinks.com/">TwitLinks</a> etc.</li>
<li>une <strong><acronym title="Application Programming Interface">API</acronym> simple et complète</strong> (mais du coup, pas sécurisée : donner son mot de passe n&#8217;est pas recommandable)</li>
<li>une <strong>prise en main immédiate</strong> : pas de fioriture, tout est simple</li>
<li><strong>fonctionnalité de veille</strong> sympathique : &laquo;&nbsp;track&nbsp;&raquo;. Recevez tous les twit qui contiennent tel ou tel mot</li>
<li>affichage affiné avec la possibilité de n&#8217;afficher que les réponses qui nous sont faites (<em>@replies</em>)</li>
</ul>
<h3>Comment Jaiku peut surpasser Twitter</h3>
<p style="text-align: center;"><a href="http://case.oncle-tom.net/images/2008/06/jaiku-overview.png"><img class="size-medium wp-image-937" title="Vue d'ensemble de Jaiku" src="http://case.oncle-tom.net/images/2008/06/jaiku-overview-300x159.png" alt="Vue d'ensemble de Jaiku" width="300" height="159" /></a></p>
<p>Twitter conserve fonctionnellement pas mal d&#8217;avantages qui justifient encore son utilisation et sa forte adoption. C&#8217;est en subissant les pannes répétées et en lisant plusieurs articles, dont «<a href="http://www.readwriteweb.com/archives/can_twitter_be_saved.php">Can Twitter Be Saved</a>» que j&#8217;ai sérieusement mis en doute la <strong>capacité à Twitter à accompagner ses utilisateurs</strong> de manière pérenne.</p>
<p>Jaiku n&#8217;avance plus certes mais en surface uniquement. Si Google est malin tout autant que les créateurs de Jaiku, ils ont toutes les clés pour détrôner Twitter et transformer l&#8217;essai.<br />
Voici ce que j&#8217;aurais aimé voir sur Jaiku pour migrer définitivement dessus :</p>
<ul>
<li>une <strong>interface internationalisée</strong> (<acronym title="internationalisation">i18n</acronym>) pour faciliter l&#8217;adoption dans tous les pays et éviter de laisser l&#8217;outil entre les mains des seuls geeks</li>
<li>intégration d&#8217;un ou plusieurs outils au choix de <strong>compression d&#8217;<acronym title="Uniform Resource Locator">URL</acronym></strong>, comme <a href="http://is.gd">is.gd</a> ou <a href="http://tinyurl.com">tinyurl</a></li>
<li><strong>import de contacts</strong> depuis Facebook, Twitter et pourquoi pas, son carnet d&#8217;adresse Gmail (<a title="Google Contacts API" href="http://code.google.com/apis/contacts/">par l&#8217;<acronym title="Application Programming Interface">API</acronym></a> bien sûr)</li>
<li><strong>forte intégration dans Google</strong> (Google News, Google Alerts, Gmail, Google Calendar, Google Talk/Jabber, iGoogle et widgets etc.)</li>
<li><strong>utilisation de l&#8217;infrastructure Google</strong> (on parle d&#8217;<a href="http://code.google.com/appengine/">App Engine</a> entre autre)</li>
</ul>
<p>Après, ma seule crainte ce sont les <a href="http://case.oncle-tom.net/2008/03/11/google-ange-demon-vie-numerique/">habituels travers de Google, abandon de service, manque de suivi et opacité de service</a>.</p>
<p>Je garde bon espoir pour Jaiku. À tel point que je suis même en train de produire un <a title="widget Netvibes pour Jaiku" href="http://case.oncle-tom.net/code/netvibes/">widget Netvibes</a> pour <em>Jaikuter</em> depuis n&#8217;importe où <img src='http://case.oncle-tom.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>]]></content:encoded>
			<wfw:commentRss>http://case.oncle-tom.net/2008/quand-jaiku-surpassera-twitter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

