9th August 2008

Google Streetview: waow!

Have you ever tried Google Streetview? It’s really cool. It apparently started a few days ago on Google Maps, and it allows you seeing the details of the houses across the streets. Of course, the streets need to be covered, which means the Google car has to have gone through and taken pictures with the 360 degree camera, but it seems that coverage is not bad. I just checked it and found our apartment!

Google Streetview
Google Streetview

posted in News | 3 Comments

4th November 2007

PHP vs ASP.NET

I just had a very interesting exchange with a friend of mine about which web technology to adopt. We were mainly comparing PHP and ASP.NET (leaving JSP, Ruby etc aside for now).

If we were to develop a medium/large size website, which technology should we choose? The interesting thing was our different backgrounds: we both studied computer engineering and learned programming at school on Unix-like systems, but after that, my friend mainly developed on Windows using Microsoft development tools, and I continued developing in Unix (actually more Linux). While his main tool is Microsoft Visual Studio, mine would be Eclipse or even… vi(m)! We really didn’t want to argue on this, so we tried to list “objective” differences and compare the pros and cons of ASP an PHP.

So we came up with general statements found randomly on the web:

  • PHP: platform independent, open-source, fast (performance), widely used, suited for small websites, MVC not well separated except when using a good framework
  • ASP: Microsoft, closed-source ;), maybe heavier than PHP but suited for large websites, good framework to separate view from model

At this point, none of us was able to say that one technology is “better” than the other.

Being used to open-source software and DIY solutions, I know PHP and have never touched ASP.NET. As for my friend, he thinks that having to type commands in a terminal is “pre-historic” and shouldn’t be needed anymore: You should be able to create your interactive website, connect to the database etc just by a few mouse clicks. And he showed me how Microsoft Visual Studio allows this. On the other hand, PHP does not have one framework like ASP.NET, it has many (I talked about Tigermouse recently, but there seem to be more mature frameworks like Symfony etc). You need to choose your framework, choose your IDE also. Can Zend Studio compete with MSVS? As far as I know, PHP does not have one simple, unified development environment, which seems to be the biggest difference between ASP.NET and PHP.

I will remain a fan of PHP and open-source solutions. But this discussion with my friend made me wonder the following: When you want to quickly develop a large application with a short time-to-market, are open-source solutions performant enough? Or are they only for the people who “have time”? The following is an excerpt of the MySQL website download page:

MySQL Downloads
MySQL Downloads

So to use open-source free products, I need time + experience, which is worth a lot of money I think.

posted in Software | Comments Off on PHP vs ASP.NET

16th October 2007

Smart developers

Aujourd’hui, je visitais le site tout nouveau de Seesmic (nouvelle boite lancée par Loic Le Meur il y a quelques jours à peine). Comme je n’ai pas encore de clé d’invitation, ce n’est pas très intéressant… Mais comme le design est sympa, je me demandais quelle techno ils utilisent.

Que fait-on dans ce cas-là? Menu “View” > “Page Source” de mon browser, évidemment (on est geek ou on ne l’est pas). Quelle ne fut pas ma surprise, en découvrant les quelques premières lignes du code HTML:

<html lang="en">

<!--
Smart developers always View Source.

This application was built using Adobe Flex, an open source framework
for building rich Internet applications that get delivered via the
Flash Player or to desktops via Adobe AIR.

Learn more about Flex at http://flex.org
// -->

...

Smart developers always View Source“… Excellent!! Ca m’a fait bien rire 😉 Mais c’est bien, car je n’ai pas du chercher longtemps pour obtenir la réponse à ma question.

Je n’ai donc pas tardé à aller voir le site de http://www.flex.org. Et je dois dire que les applis qu’ils montrent dans leur show-case sont vraiment cool. Voir maintenant, étant donné que je ne connais pas du tout Flash, la difficulté de créer une petite appli. Je commence à penser qu’Ajax n’est sans doute pas suffisant si on veut faire quelque chose d’un peu “graphique”. La plupart des webapp qui offrent une GUI un peu raffinées semblent en effet utiliser Flash. Je pense a http://www.geni.com par exemple, pour l’affichage d’un arbre généalogique. Il semble par ailleurs que Yahoo! Maps utilise justement Flex. Sinon, il y a aussi Silverlight (de Micro$oft)…

posted in Software | 5 Comments

12th October 2007

Fascinant: Brain Computer Interface

Aujourd’hui, je suis tombé par hasard sur l’article suivant. Il s’agit d’un résultat assez intéressant communiqué par le Biomedical Engineering Laboratory (BME) de la célèbre Université Keio (慶應大学).

Les chercheurs auraient en effet réussi à permettre à un sujet de commander un personnage virtuel par la pensée! Ca fait longtemps que ce genre de recherche se fait. C’était d’ailleurs le domaine de ma thèse de Master lorsque j’étais au Tokyo Institute of Technology. Il y a neuf ans, on parlait déjà de résultats prometteurs dans le domaine: il semblait en effet possible de distinguer les EEG (ondes cérébrales) correspondant à différents types d’activités cérébrales. En particulier, ce sont les mouvements (ou images de mouvement, car quand on imagine un mouvement, on active les mêmes zones du cortex moteur que lorsque l’on fait ce mouvement) qui semblaient les plus facilements discriminables. Et ce sont justement les signaux du cortex moteur que les chercheurs du BME utilisent dans leur projet.

Ce qui est génial, c’est l’application qu’ils en font: faire évoluer un personnage dans un monde virtuel, appelé “second life” (SL):

  • lorsque le sujet imagine qu’il marche (mouvement des jambes), le personnage virtuel avance
  • lorsque le sujet imagine qu’il secoue (ou serre) sa main droite/gauche, le personnage virtuel tourne a droite/gauche
  • lorsque le sujet se relaxe, le personnage virtuel s’arrête

C’est relativement simple, mais ça semble fonctionner.

Une question que je me pose néanmoins, est si le système présuppose un entrainement du sujet (sans doute), et si le système doit être ou non adapté à chaque sujet. Ce sont en effet les différences inter-individus qui m’ont posé le plus gros problème lors de ma recherche. Ceci dit, les différences sont probablement moins marquées pour les EEG moteurs que pour les EEG liés aux émotions (qui était mon sujet de recherche). Par ailleurs, ce qui est génial, selon moi, c’est d’arriver à un tel résultat au moyen de seulement trois électrodes.

Les futurs objectifs du BME dans ce domaine sont, disent-ils, notamment l’extension du système à d’autre types de mouvements. A suivre!

posted in News | 1 Comment

23rd September 2007

Tigermouse, un framework pour applications web

Cela fait quelques temps que je m’intéresse à la création d’applications web.

Parmi les plus connues aujourd’hui, il y a la “suite Google”: gmail, google docs, google spreadsheets, et (lancée récemment) google presentations. De merveilleux exemples d’applications web, qui à la différence d’un simple site web offrent les fonctionnalités d’un logiciel avec un browser comme GUI. Techniquement, cela fait longtemps que les webapp auraient pu voir le jour, en utilisant la technologie des applets Java, mais plusieurs facteurs (selon moi, entre autre: le fait qu’il faille installer Java, la lourdeur des applets, etc) ont ralenti leur développement. Aujourd’hui, AJAX semble remédier à certains de ces problèmes, et permettra peut-être aux webapp de se multiplier. AJAX couplé à Flash pour les applications gourmandes en graphismes (p.ex. google maps ou geni.com), permet de faire autant si pas mieux que les applets, et fonctionne dans tout browser “moderne”.

Bref, je voulais donc me lancer dans la programmation d’une webapp, et ai commencé à rechercher une technologie adaptée pour la partie serveur. Je vois au moins les choix suivants: J2EE (JSP, Servlets…), PHP, ASP… Quelles technologies les “grands” utilisent-ils? (Google, e-Bay, Amazon, YouTube, …) J’ai lu (ici) qu’e-Bay serait passé à J2EE, mais que cela n’aurait pas vraiment été un succès… Et ailleurs, la rumeur que google et amazon utiliseraient LAMP pour leurs gros serveurs… Si quelqu’un a des infos intéressantes dans ce domaine, je suis preneur.

J’ai commencé par explorer la piste PHP (qui me semblait plus “lightweight” pour commencer, que J2EE). Je cherchais un framework PHP qui me permettent d’implémenter une webapp de façon élégante; une bonne approche me semblait être le MVC (Model View Controller). Après quelques essais (j’ai exploré quelques frameworks listés ici), je suis tombé sur Tigermouse, qui m’a séduit par sa simplicité, et la “pureté” de son implémentation du MVC. Le code est extrêmement bien documenté, et répondait assez bien à mes attentes: en quelques lignes, on peut vraiment créer une webapp PHP/AJAX sans avoir à écrire une ligne de Javascript. Tigermouse me semble vraiment prometteur, même s’il manque encore de maturité pour l’instant.

Voilà le résultat de mes pérégrinations.  Pour les geek qui ont suivi jusqu’ici, je serais content de lire vos réactions.

posted in Software | 1 Comment

5th July 2007

Pourquoi l’iPhone aura du mal à percer au Japon

Je viens de lire un article intéressant sur le sujet.

La thèse de l’auteur est la suivante: la vrai raison pour laquelle l’iPhone ne percera que difficilement sur le marché japonais n’est pas tellement que le système de téléphonie japonais est différent du système américain ou européen (le GSM).  Le problème n’est pas non plus lié au marché.  Il est vrai que les “smart phones”, càd les téléphones qui font tourner un OS style Windows Mobile et de réelles applications, sont assez rares au Japon.  Un monde de différence avec le boom récent des BlackBerry aux Etats-Unis.

Mais selon l’auteur, le vrai problème est autre.

Car ce qui est particulier avec l’iPhone, c’est que c’est le fabriquant, Apple, qui prend complètement en charge l’image et du marketing du téléphone.  Et ça, c’est une différence fondamentale avec le mode japonais.  Au Japon, les téléphones portables se font complètement approprier par les différentes compagnies de télécom (Docomo, Softbank, Au…).  De plus, les téléphones sont complètement customisés pour ne fonctionner qu’avec un opérateur particulier: même en déverrouillant la carte SIM d’un téléphone japonais, il est fort improbable qu’il fonctionnera avec un autre opérateur.  Les fonctions de l’iPhone, par contre (mis à part la fonction téléphone), ne sont pas liées à AT&T et il est d’ailleurs probable que l’iPhone fonctionne avec d’autres opérateurs dans le futur.  Le concept de l’iPhone est d’ailleurs fort différent d’un simple téléphone: il se veut être une véritable platforme multimédia.

Voilà la véritable raison pour laquelle il faudra un certain temps pour que l’iPhone se vende au Japon.  Cela demandera d’abord un changement de mentalité.

Mais au Japon, comme dans toute économie de marché, c’est finalement la demande qui mène la danse.  Donc si les Japonais veulent l’iPhone, ils l’auront, serait-ce au prix d’une révolution du marché des opérateurs télécom.

posted in Uncategorized | 2 Comments

14th February 2007

La belle ou la bête?

Il n’est pas rare de voir apparaitre plus ou moins au même moment plusieurs technologies différentes tendant de résoudre un même problème. Un exemple récent est la bataille qui se joue en ce moment entre le Blu-ray et le HD-DVD. Et je lisais il y a deja quelques temps à ce propos qu’une situation similaire avait eu lieu lors de l’apparition de la cassette vidéo: le VHS gagna alors la bataille contre son concurrent la Beta (serais-ce son nom qui l’a tuée? ;)).

Or il est intéressant de constater que ce n’est pas nécessairement “le meilleur qui l’emporte”. On assiste a un phénomène semblable en développement logiciel: ce ne sont pas les plus beaux programmes qui survivent, et l’on voit souvent au contraire du code mal structuré qui est utilisé pendant de longues années. Oh, on aura bien sur essayer de le remplacer, de tout reprogrammer, de facon plus élégante, mais rien n’y fait, la bête demeure.

Qu’est-ce qui détermine la survie d’une technologie plutôt qu’une autre, la popularité d’un logiciel? Je crois que plus que la “beauté”, c’est l’accessibilité au tout venant qui est importante. Je prendrais l’exemple de Lightpress, un front-end pour WordPress, destiné a parer les insuffisances et lourdeurs de WordPress. C’est selon moi une jolie pièce de logiciel, un code élégant, bien concu et bien testé, mais qui n’a jamais vraiment décollé. WordPress, par contre, malgré ses insuffisances et tous les reproches que l’on peut lui faire, connait un fier succès. Une force de WordPress, selon moi, est son accessibilité au grand public, et la possibilité donnée a n’importe qui de publier son propre thème ou plugin (Lightpress est selon moi moins abordable). Bref, c’est le Web2.0, quoi, la “long tail”…

Juste une réflexion, comme ca, autour d’une tasse de thé.

posted in Opinion | 1 Comment