Archive pour juin 2011

L’ère du « post-PC »

24 juin 2011

Un des mots à la mode est « post-PC », où l’ère qui succède à celle du PC. Ce terme fait bien entendu référence à l’informatique mobile, l’iPad en tête, mais d’un certain côté également le Google Chromebook.

La dynamique de l’évolution de l’ère post-PC n’a rien de bien nouveau, mais il est intéressant de la récapituler :

  1. La première vague ratée. La première tentative de post-PC a été le « Network Computer » dont on a beaucoup parlé dans les années 90, basé sur une technologie disruptive (dans ce cas Internet). Fait peu étonnant, ce concept a été promu avant tout par des compagnies qui avaient tout à gagner d’un tel modèle (Oracle et Sun) mais qui ont trop voulu que leur prédiction devienne réalité envers et contre tout. Comme souvent, la première vague a commit l’erreur de promettre un remplacement un peu trop hâtif, quelque chose qu’une technologie disruptive est incapable de faire rapidement. En fin de compte, ni le NC ni le système d’exploitation ou la puce Java n’ont vu le jour.
    .
  2. La deuxième vague plus raisonnable. L’ère du post-PC garde toujours les avantages du Network Computer (une grande facilité de maintenance) mais propose une offre bien plus solide, cette fois basées sur deux technologies disruptives : non seulement le Web qui a eu le temps de murir, mais également l’informatique mobile. Il en résulte une offre qui a su se créer son propre marché, développer un écosystème robuste et fertile sans avoir besoin de remplacer l’existant. Alors que le Network Computer se basait sur un système d’exploitation Java, le post-PC se base sur des systèmes d’exploitation plus traditionnels – sans pour autant être Windows. Java refait surface avec Android, mais n’est en aucun cas central : non seulement Android est basé sur Linux (ce sont les applications qui sont écrites en Java) mais d’autres solutions telles que celles d’Apple, de BlackBerry ou HP n’utilisent pas du tout Java (ne parlons pas de Microsoft). Steve Jobs est désormais le principal promoteur du post-PC, et a bien évidemment tout à y gagner. Car même si le Mac se porte bien, Apple n’a qu’une minorité des ventes des ordinateurs individuels, alors qu’il est en bien meilleure position sur le marché de l’informatique mobile.

Phénomène à souligner : il s’est passé 15 ans entre les deux vagues. Ce délai a été nécessaire pour que le « remplaçant » du PC fournisse une offre plus séduisante. Et même 15 ans après, l’ère du « post-PC » commence tout juste à remplacer le PC pour certaines fonctions.

L’histoire se réécrit

L’ère du post-PC n’est pas la première fois où un nouveau type d’informatique menace le statu quo.

Les minis ont commencé comme ordinateurs visant le marché universitaire, mais se sont étendus par la suite au marché d’entreprise, concurrençant les mainframes. Si ces dernières n’ont pas disparu (IBM se fait encore $11 milliards par an sur ce marché) et gardent leur marché historique (les banques), elles ont perdu en influence et restent cantonnées dans les quelques gros comptes où la compatibilité avec l’existant et la stabilité priment sur le coût d’entretien.

Les minis se sont ensuite fait attaquer par les micro-ordinateurs. Ces dernier ont commencé comme ordinateur individuel pour particuliers, puis ordinateur individuel dans l’entreprise avec le PC, puis se sont étendus au serveur d’entreprise. Contrairement aux mainframes, les minis ont bien moins résisté à l’assaut du nouveau venu, à tel point qu’il n’existe plus aucun vendeur spécialisés dans les minis / serveur Unix, mis à part quelques marchés de niche comme SGI.

Finalement, c’est au tour des tablettes de concurrencer le PC. Etant donné qu’Apple a défini ce marché, elles sont principalement présentes sur le marché du grand public. Le danger n’est pas que le consommateur remplace son PC par une tablette, mais qu’il remplace cette dernière plus souvent et garde son PC de plus en plus longtemps.

Le « post-PC » en entreprise ?

Sur le marché d’entreprise par contre, les tablettes ont encore du chemin à faire, même si l’iPad y a fait une apparition timide. Comme pour tout produit qui veut sauter d’un marché à l’autre, les tablettes devront subir une transformation pour sérieusement s’attaquer au marché d’entreprise – tout comme les minis l’ont fait pour passer du marché universitaire au marché d’entreprise ou les PCs pour passer du poste client au serveur.

Des tablettes comme l’iPad sont encore mal adaptées à l’entreprise. Outre la sacro-sainte compatibilité Windows, un gros point faible est la saisie, quelque chose de capital sur ce marché. Si l’iPad possède sa propre suite bureautique de fort bonne facture (et à un prix ridiculement bas), il n’est pas adapté pour de la bureautique intensive. Autre problème spécifique à l’iPad : l’impossibilité de déployer des applications uniquement au sein d’une entreprise. L’App Store de l’iPad étant orienté grand public, les applications sont disponibles pour tout le monde et doivent suivre le processus de certification Apple.

Les tablettes vont-elles subir la transformation requise pour s’adapter en entreprise ? L’avenir le dira. Apple a peu de chance de créer l’initiative étant donné que Steve Jobs n’est pas intéressé par le marché d’entreprise. Microsoft n’y a aucun intérêt et pousse Windows sur les tablettes (annulant le gros avantage des tablettes). Seul RIM et son BlackBerry ou HP avec WebOS peuvent avoir à la fois un intérêt et les capacités de mener avec succès la transformation. Par exemple, le BlackBerry s’est fait connaître pour son interface dédié à la saisie (pour les emails). Qui plus est, il vend des serveurs d’applications d’entreprise, où l’administrateur système peut déployer à sa guise des applications propriétaires. Mais ni RIM ni HP n’ont de tablette qui tienne la route face à l’iPad. La BlackBerry PlayBook coûte aussi cher qu’un iPad pour un écran de seulement 7″. La TouchPad d’HP, quant à elle, n’est pas encore disponible…

Mais les tablettes telles que l’iPad ont d’indéniables avantages en entreprise. Le fait de contrôler exactement quelles applications peuvent être installées doit faire saliver plus d’un administrateur système. Pareil pour l’administration facilitée. Et la sauvegarde est automatique. Après toutes ces années, la sauvegarde sur PC est au mieux chaotique, bien qu’elle soit considérée par les entreprises comme très importante. Tous les utilisateurs ne sauvegardent pas. Les programmes de sauvegarde ne fonctionnent pas toujours sans accros. Etant donné le volume de données, les sauvegardes prennent du temps. Et quand le PC doit être changé, toutes les applications doivent être réinstallées, les données remises au bon endroit, etc. Les entreprises ont trouvé des méthodes pour limiter l’administration, mais cela reste complexe. L’iPad, par contre, effectue une sauvegarde dés qu’il est connecté à un PC ou Mac (et bientôt sauvegardera sans connexion grâce à iCloud). Si un utilisateur perd son iPad, ses donnés complètes (applications, etc.) sont restaurées automatiquement. Le PC est encore très loin d’une telle facilité.

Une dernière limitation des tablettes en entreprise est peut-être le fait qu’une entreprise va acheter une tablette principalement pour remplacer un PC, contrairement aux particuliers qui vont en acheter une en plus de leur PC. Le particulier peut toujours allumer son ordinateur pour les tâches plus complexes, quelque chose qu’un employé qui a troqué son PC pour une tablette ne peut faire. Si les tablettes peuvent se faire une place en entreprise, elles viseront d’abord les employés mobiles qui n’ont pas de gros besoins. Par exemple, Apple compte équiper d’iPad les employés de ses magasins. Le but est de mieux assister les clients et de pouvoir effectuer des paiements. On note que les employés de magasin n’ont à l’heure actuelle pas d’ordinateur. Ici, l’iPad vise un marché de non-utilisateurs.

Quelle résistance du monde du PC ?

Si le phénomène post-PC prend de l’ampleur, quelle risque d’être la réponse de l’écosystème PC ? La réponse typique est une tentative (ratée) de coopter le nouveau mouvement, suivie d’une fuite vers le marché haut de gamme – lorsque cela est possible. Le marché haut de gamme offre est en effet des marges confortables tout en étant inaccessible aux nouveau venus – pour le plus grand plaisir des actionnaires. Par exemple, beaucoup de constructeurs de machine Unix se sont tentés à produire des compatible PC, mais aucun n’a eu du succès et tous se sont retranchés vers les serveurs ou stations de travail haut de gamme – ou ont disparu.

La plupart des compagnies de l’écosystème PC (Dell et Microsoft en tête) se sont déjà tenté à l’informatique mobile, avec un résultat médiocre. Dell a par exemple sorti ses smartphones qui ont fait un bide retentissant. Plusieurs assembleurs de PC ont sorti leur tablette à base de Windows 7 et n’ont eu aucune traction. Les mieux placés sont les fabricants de smartphones tels que Motorola, Samsung ou HTC (exception d’Acer qui a sorti une tablette Android). La stratégie Microsoft sur le marché du mobile, quant à elle, reste pour l’instant décevante. Redmond essaie de forcer son écosystème Windows pour fonctionner sur les tablettes, et rencontre des résistances. Selon un article de Arts Technica, les développeurs Windows seraient « horrifiés » par la nouvelle API pour gérer l’interface graphique sur Windows 8. Sur les forums, les développeurs Windows reprochent à Microsoft d’abandonner Silverlight et WPF (Windows Presentation Framework) au profit d’une API basée sur HTML 5 et JavaScript. Si je trouve que c’est une excellente idée, le problème est que cette dernière propose moins de fonctionnalités que ce que proposait Microsoft. Elle est certes plus facile, mais les développeurs Windows ont dépensé beaucoup de temps et d’argent à apprendre à programmer sous Windows.

Si le post-PC prend de l’ampleur, on peut prédire que les fabricants de PC vont se retrancher sur le marché d’entreprise. Si les tablettes font une percée en entreprise, ils vont se retrancher sur les stations de travail haut de gamme et les serveurs d’entreprise. Microsoft par contre ne prendra pas la fuite et serait forcé de lutter. Il se fait en effet beaucoup trop d’argent sur le poste client grâce à Windows et MS Office. Si les tablettes envahissent l’entreprise, Redmond a énormément à perdre. La compagnie n’a donc nulle part où aller et ne pourra que rester et se battre jusqu’au bout.

Publicités

Les données selon Google, Microsoft et Apple

18 juin 2011

Internet a changé la manière dont on interagit avec les données. Le temps est terminé où les utilisateurs gardent le gros de leur données sur leur ordinateurs. Non seulement le partage de donnée n’est pas nouveau, mais les utilisateurs veulent de plus en plus accéder à leurs données depuis plusieurs appareil – leur PC, au travail et/ou leur smartphone.

Windows étant le gardien actuel des données sur PC, Microsoft a bien évidemment le plus à perdre. Google et Apple ont logiquement le plus à gagner. Google a depuis des années proposé plusieurs services permettant de stocker ses données sur Internet. Apple, quant à lui, vient d’annoncer iCloud, son service pour synchroniser différents appareils : iPhone, iPod Touch, iPad, Mac et même PC.

Microsoft étant principalement focalisé sur le marché d’entreprise, sa vision des données est avant tout les documents MS Office, sa vache à lait. A contrario, Apple est la compagnie qui a la vision la plus étendue des données. iCloud fonctionne en effet avec les documents bureautique, mais également les images, la musique, le carnet d’adresse, le calendrier, les livres, jusqu’aux applications même et données personnelles (iCloud a même une API permettant aux applications tierces d’en tirer partie). Google est proche d’Apple, même si son offre n’est pas aussi complète que celle d’Apple. iCloud permet en effet de synchroniser automatiquement une application sur 10 appareils (sans avoir à racheter l’application 10 fois) ainsi que ses données – quelque chose que la concurrence ne propose pas (encore ?)

Synchronisation ou copie sur Internet ?

Pour ce qui est de l’approche par contre, les trois offres sont très différentes.

Google a tout de suite opté pour une approche centrée autour d’Internet étant donné que la compagnie tire ses revenus de services Internet – même si elle s’appuie sur plusieurs logiciels clients : Android sur les smartphones et tablettes, Picasa pour les images, Chrome comme navigateur Web pour les « applications Web ». Google propose ainsi Google Docs (traitement de texte), Google Spreadsheet (tableur), Picasa Web Albums (photos), Google Calendar, Gmail, et bientôt Google Music. L’avantage de ce modèle est une facilité de synchronisation (il n’existe qu’une seule copie) et surtout de partage. Google Docs et Google Spreadsheet permettent plusieurs personnes de modifier un document en même temps, chacun voyant les modifications d’autrui en temps réel. L’inconvénient est qu’un service en ligne ne fonctionne que lorsque l’on a une connexion Internet. Pour palier à ce défaut, les services Google possèdent certains mécanismes de cache client (comme pour pouvoir écouter la musique hors ligne), mais Internet reste au centre de la stratégie du géant de la recherche en ligne.

Apple, au contraire, vend du matériel. Les données doivent donc exister principalement sur le matériel Apple, iCloud n’étant qu’un moyen de synchroniser le tout. Non seulement le centre de l’univers Apple a toujours été ses appareils, mais iCloud aide à le centrer. En effet, avec iCloud, un iPhone ou un iPad peuvent télécharger des applications et documents directement depuis Internet sans avoir à passer par un Mac… ou un PC. Comme l’a indiqué Steve Jobs, le PC est désormais considéré comme un appareil comme les autres.

Microsoft, finalement, est entre les deux modèles. La compagnie se faisant de l’argent sur les logiciels installés sur PC (Windows et Office principalement), elle a eu du mal à accepter Internet. D’autant plus que ses plus gros besoin étant au sein de l’entreprise, Redmond a préféré pousser la vente de licences Exchange et Sharepoint en entreprise au lieu d’utiliser des services Internet. On remarque d’ailleurs qu’Exchange et Sharepoint gardent respectivement Outlook et Office au centre du modèle. Si Sharepoint permet de partager des documents, l’édition d’un document implique une synchronisation avec le poste client où l’utilisateur modifie le document utilisant Office. Mais Microsoft vend avant tout du logiciel, et n’est pas attaché à une architecture plus qu’à une autre… du moment où il arrive à facturer ses clients. Car les réserves de Microsoft vis à vis du Web pour la bureautique ne sont pas une question de principe (il est facile d’utiliser des composants ActiveX pour lier ses services à Windows) mais de fonctionnalités. Les suites bureautiques Web sont encore loin de fournir autant de possibilités que MS-Office. Mais un modèle en ligne a un avantage : il force l’utilisateur à payer régulièrement sous peine de ne plus pouvoir se servir du logiciel. D’où Office 365, un service en ligne hybride entre un modèle en ligne complet et un logiciel traditionnel que l’on télécharge sur son PC. Si Office 365 permet d’éditer ses documents sur le Web, il n’en reste pas moins fortement intégré avec MS Office et Outlook.

Quelle est la formule gagnante ?

Difficile à dire, étant donné que de nombreux facteurs entrent en jeu, et il n’est pas dit que l’architecture soit le plus important. Par exemple, la position prédominante de Microsoft sur le marché des suites bureautiques ne semble pas être en danger avant plusieurs années. Plus que l’architecture gagnante qui va décider du vainqueur, c’est la compagnie gagnante qui va imposer son architecture.

La guerre des langages de programmation

11 juin 2011

Les langages de programmation ont historiquement majoritairement été ouverts. Fortran, Cobol, C, C++ ont certes toujours eu des compilateurs propriétaires, mais la syntaxe des langages était gérée par un comité, permettant à n’importe qui de créer son propre compilateur. Le projet de logiciels libres GNU ne s’en n’est d’ailleurs pas privé. Il existe des langages propriétaires tels que Visual Basic de Microsoft (1991) ou Delphi de Borland (1995), mais ils n’ont jamais fait beaucoup d’ombre aux langages de programmation ouverts.

Jusqu’à il y a de ça quelques années.

D’après le TIOBE Program Community Index, Java est désormais le langage de programmation numéro un, suivi par C, C+, Microsoft C# (en pleine ascension) et PHP (en léger déclin). En d’autres termes, Java caracole en tête, Microsoft .NET (Visual Basic, C#, ASP.NET) prend de l’importance alors que les langages ouverts ont tendance à décliner.

Quels sont les enjeux ?

La bagarre entre les différents langages de programmation ressemble à une querelle de clochers, mais l’enjeu est d’importance. Du moins principalement pour un seul acteur : Microsoft.

Sun a certes bénéficié du succès de son langage Java pendant des années, mais uniquement en termes de publicité. Et cette publicité n’a pas été suffisante pour sauver le constructeur du déclin et du rachat par Oracle. Si Java en tant que langage de programmation a été un succès, Java en tant que plateforme a été un échec cuisant qui n’a pas concurrencé la plateforme Windows comme promis. Et il n’est pas devenu le langage de choix sur le Web comme annoncé. L’exemple peut-être le plus humiliant a peut-être été celui de Friendster. Accablé par des problèmes de performances, la compagnie a finalement rétabli la situation en réarchitecturant son site Web… et en migrant de Java à PHP !

Microsoft, par contre, a beaucoup plus à perdre. Car si la « révolution » Java annoncée dans les années 90 n’a pas fourni une alternative à Windows, Java reste un danger potentiel car non lié à Windows. Java est peut-être encore loin de convaincre les gens de remplacer Windows par un autre système d’exploitation, mais Redmond ayant toujours été paranoïaque, il a toujours cherché à lier le langage de programmation à Windows, côté client comme côté serveur. On imagine en effet mal ASP.NET (la technologie Web de Microsoft) fonctionner sur un serveur Linux.

Raisons du changement

Comment se fait-il que les langages ouverts soient en perte de vitesse ? Si je n’ai pas de réponse absolue, une explication possible est que les langages ouverts se focalisent trop sur l’aspect programmation de la logique métier et ont tendance à délaisser toutes les interactions entre le programme et le système d’exploitation. Ils supportent en effet souvent un minimum d’entrées/sorties, en en particulier ne supportent que rarement l’interface graphique.

Un langage tel que C est apparu en 1973 pour supporter le développement d’Unix, à une époque où les terminaux en mode texte étaient de rigueur. Unix étant très centré autour du concept de fichiers, C supporte la gestion des fichiers sans problème. C n’est par contre prévu en standard d’interagir avec l’utilisateur qu’en mode texte. Il en est de même pour C++ ainsi que pour la plupart des langages ouverts (PHP, Perl, etc.)

Des solutions se sont développées pour complémenter ces langages et de permettre de gérer l’interface graphique. En fait, l’interface graphique est tellement complexe qu’il existe souvent deux couches. La première livrée avec l’environnement graphique, particulièrement ardue à programmer (l’API Windows sur Windows, X-Window sur Unix) et une seconde bâtie au-dessus de la première, permettant une programmation plus facile de l’interface utilisateur (Microsoft MFC ou Borland OWL sur Windows, Motif sur Unix). Mais aucun standard ne s’est dégagé.

Une exception notable est le HTML, qui peut être vu comme un langage de description d’interface graphique. C’est peut-être la raison pour laquelle un langage comme PHP a eu du succès sur le Web. Il n’a pas eu besoin de supporter une interface graphique, juste de générer du HTML – chose qu’un développeur peut faire très facilement.

Les solutions de Microsoft telles que Visual Basic ont certes proposé d’entrée leur solution, elles sont restés sur des marchés de niche, peut-être parce que Visual Basic est resté un langage limité pendant très longtemps.

Java contre Microsoft .NET

Lancé en 1995, Java a offert dés le début un langage de programmation beaucoup plus complet, permettant dés le début de programmer une interface graphique de la même manière quelle que soit la plateforme. Si la promesse du « Write Once, Deploy Everywhere » ne s’est pas avérée 100% exacte, Java reste un langage beaucoup plus portable que ses prédécesseurs.

Microsoft a finalement lancé sa réplique à Java avec .NET, lancé en 2002. Avec Microsoft .NET, Visual Basic est devenu un langage orienté objet, C++ est devenu complètement propriétaire en devenant C# (prononcer « C Sharp »), et ASP (le langage de développement de sites Web) est devenu ASP.NET. Comme Java, le code .NET est compilé en pseudo-code qui doit être interprété sur la machine cible. Un programme Java nécessite d’installer le JRE (Java Runtime Environment) pour s’exécuter, un programme .NET demande d’installer le .NET Framework. Et Java comme .NET offrent tous deux une pléthore de librairies pour programmer l’interface graphique, communiquer par TCP/IP, accéder aux bases de données, etc.

Si les langages de Sun et de Microsoft ont beaucoup de similarités, les deux approches ont par contre été radicalement différentes. Outre le fait que Java ait 7 ans d’avances sur .NET, il est possible que certaines de ces différences aient bénéficié à Java – encore que si c’est le cas je n’ai aucune idée dans quelle mesure.

Java a tout de suite suivi un modèle d’intégration horizontal alors que Microsoft a suivi un modèle d’intégration vertical – ironique quand on sait que Sun a toujours préféré le modèle vertical et Microsoft le modèle horizontal. Mais il faut se rappeler que le logiciel n’est pas considéré comme stratégique pour Sun autant qu’il l’est pour Microsoft. Si bien que Sun n’a pas désiré être présent partout, et pour Java s’est appuyé sur de nombreuses entreprises et organisations tierces. 16 ans après son lancement, le SDK de Java ne contient toujours pas d’éditeur de code – juste un compilateur et quelques outils de base en mode texte. Sun a en effet laissé le soin à d’autres de développer les environnements de développement (Eclipse), les serveurs d’Applications (IBM WebSphere, Oracle Weblogic, Tomcat, JBoss) et autres outils. Sun a même laissé d’autres compagnies créer leurs propres JVM (comme IBM). Microsoft, par contre, aime contrôler sans partage la plateforme logicielle. Si le géant de Redmond encourage le développement d’applications basées sur .NET, l’environnement .NET et outils associés doivent être des produits Microsoft, souvent dérivés de produits existants : l’environnement de développement de .NET, Visual Studio, est une adaptation de Visual Basic et de Visual C++. Le serveur d’application est Microsoft IIS. Le SGBD préféré est MS SQL Server. Et le système d’exploitation est sans surprise Windows. Il est possible que le modèle horizontal de Java ait joué en sa faveur, car il a favorisé la création d’un écosystème autour du langage. Par exemple, lorsqu’IBM ou Oracle poussent leur serveur d’application (respectivement WebSphere et Weblogic), ils poussent Java. Promouvoir la technologie .NET reviendrait à favoriser l’ennemi. Java a même permit la création de plusieurs logiciels libres, comme l’environnement de développement Eclipse ou les serveurs d’application JBoss ou Tomcat.

Autre différence entre Java et Microsoft : le prix. Java a dés le début été gratuit, permettant à n’importe quel développeur de télécharger sans frais le SDK et d’apprendre Java. Microsoft, par contre, a toujours fait payer ses langages de développement, étant donné que c’était historiquement sa seule manière de gagner sa croute (le tout premier programme de Microsoft a en effet été MS Basic). Par la suite, Visual Basic ou Visual C++ ont toujours été payant. Même si les revenus directs de Visual Studio sont certainement très faibles pour Microsoft, les vieux réflexes ont la vie dure. Pour développer sur .NET, Visual Studio commençant à $550. Depuis 2005 cependant, il existe une version gratuite, Visual Studio Express, même si elle reste fort limitée et dédiée aux amateurs et étudiants. Il est possible que Microsoft se soit rendu compte qu’il était utile de permettre aux gens de se mettre à .NET sans avoir à débourser de l’argent était une bonne idée.

Une autre différence de philosophie majeure entre Java et .NET concerne les fonctionnalités. Si la première version de Java a dés le début supporté la programmation de l’interface graphique, de nombreux autres fonctionnalités ont été ajoutée dans les années qui ont suivi. L’accès aux bases de données (JDBC) a été lancé en 1997. Le modèle de composants serveurs (Enterprise JavaBeans) a été lancé en 1999. Etc. Microsoft .NET a par contre dés le début été fournit avec de très nombreuses fonctionnalités. Un cours en ligne d’introduction à .NET de 2003 qui dure 6 heures ne couvre pas la programmation .NET même (Visual Basic, C# ou ASP.NET). Le cours survole quelques nouveautés présentes dans Visual Basic, mais recommande à maintes reprises d’acheter des livres pour approfondir tel ou tel sujet. De fait, il existe des livres entiers sur des aspects de .NET tels que le Remoting (accéder à du code distant). Autant dire que .NET ne s’apprend pas en 5 minutes.

Quelle évolution ?

De manière naturelle, les langages les plus populaires ont tous un marché où ils sont le plus ancrés. C et C++, à l’instar du Cobol ou du Fortran, sont plus utilisés pour des applications existantes que pour des nouvelles applications, et sont donc de plus en plus concurrencés par des applications Java ou .NET. Ces deux langages ont bien évidemment tenté de s’attaquer aux sites Web, mais avec peu de succès. PHP reste en effet le leader avec 76% des sites Web qui utilisent un langage de programmation – loin devant ASP.NET (22%) et Java (4%).

La bonne et mauvaise nouvelle pour Microsoft est que si .NET s’en tire plutôt bien, ce n’est pas suffisant pour lier l’informatique à Windows. Si plusieurs sites Web destinés à des clients d’entreprise n’acceptent qu’Internet Explorer (en général créés par des compagnies tout-Microsoft), les sites Web destinés au grand public n’ont quasiment jamais cette limitation. La bonne nouvelle pour Redmond est que même si Java triomphe les clients ne vont pas remplacer Windows par MacOS X ou Linux pour autant.

Peut-on voir de nouveaux langages de programmation se hisser parmi le top 5 ? S’il existe une pléthore de nouveaux langages, il faudra autre chose qu’être plus facile à programmer pour gagner en popularité. Maîtriser un nouveau langage prend en effet du temps. L’arrivée d’une nouvelle plateforme aide toujours. Cobol a grandi avec les mainframes, C a avec Unix, C++ avec Unix/Windows, PHP avec le Web. Et la plateforme mobile d’Apple iOS redonne un souffle à Objective-C qui était tombé dans l’oubli. Par contre, aucune autre nouvelle plateforme en vue.

Certains langages de programmation tels que Java et .NET ont cependant réussi à se faire une place au soleil sans nouvelle plateforme, mais ils ont bénéficié d’avancées alors inédites pour l’époque (garbage collector, code portable, etc.) ainsi que de la puissance marketing de Sun et de Microsoft. Pour qu’un nouveau langage devienne populaire, il faudra qu’il soit radicalement novateur.

Questions autour de Windows 8

3 juin 2011

Microsoft vient de dévoiler des informations sur Windows 8, prévu fin 2012.

Ce n’est bien évidemment qu’une preview, il serait donc hâtif de dire si Windows 8 va être un succès ou pas. Quelques observations cependant.

La première impression est l’utilisation du même type de page d’accueil que Windows Phone 7, avec les « tuiles » interactives. Contrairement à l’iPhone ou l’iPad où les icônes sont statiques, les pages d’accueil de WP7 et Windows 8 peuvent afficher des informations dynamiquement telles que l’heure, une notification d’un nouveau message, etc. Le seul regret est que Microsoft ne semble pas avoir compris que cette interface a beau être pratique, elle reste très moche. Quand est-ce que Redmond se décidera-t-il a utiliser des tuiles aux coins carrés et avec un dégradé ? La plupart des couleurs de la copie d’écran dévoilée par Microsoft proviennent d’images statiques qui ne semblent avoir aucun usage. Peut-être la version finale sera-t-elle mieux…

Conception du marché

Il existe plusieurs appareils à l’heure actuelle qui font plus ou moins office d’ordinateurs : les smartphones, les tablettes, les ordinateurs portables et de bureau. Apple comme Microsoft ont deux approches différentes car les deux compagnies se sont toutes basées sur leur succès.

Apple s’est basé sur le succès de l’iPhone et a adapté pour l’iPad l’écosystème développé autour de l’iPhone : le système d’exploitation (iOS), les développeurs et bien sûr les applications. Continuant sur sa lancée, la firme à la pomme a emprunté certaines fonctionnalités de l’iPad pour la future version de MacOS X (nom de code « Lion ») : un App Store pour facilement acheter et installer des applications, le launchpad similaire à la page d’accueil de l’iPad, des applications en mode plein écran, et une plus grande utilisation du toucher par le biais du mouse pad. A noter cependant que l’adaptation reste encore lente. Apple ne bouleverse pas (encore?) l’interface graphique du Mac.

Microsoft se base comme toujours sur son succès : Windows. Là où Apple utilise iOS pour les smartphones et les tablettes et MacOS X pour ses ordinateurs, Microsoft veut utiliser Windows pour les PC comme les tablettes et Windows Phone 7 pour les smartphones. L’idée est donc d’adapter Windows pour tourner sur les tablettes plutôt que d’adapter Windows Phone 7. Ca ne m’étonnerait pas que Redmond considère WP7 comme temporaire et le remplace par Windows le jour où les smartphones sont suffisant puissants pour faire tourner ce dernier.

Challenges

Microsoft n’a pour l’instant pas réussi à percer sur le marché du mobile. Windows 8 doit faire face à plusieurs challenges importants.

Le premier est de taille : Windows 8 arrivera-t-il à faire le pont entre les PC et les tablettes d’un point de vue fonctionnel ? Les deux types d’appareils sont très différents, que ce soit d’un point de vue saisie que d’un point de vue perception.

Dans une première vidéo produite par Microsoft on apprend que « because it’s a PC, it has a filesystem » (parce que c’est un PC, il possède un système de fichiers), montrant l’explorer de Windows pour accéder aux fichiers. La fenêtre semble être exactement la même que celle de Windows 7, à tel point qu’on peut se demander quelle sera la fonctionnalité effective sur une tablette. Windows 7 est en effet prévu pour les écrans d’une certaine taille, se base largement sur le clic droit de la souris, sur les raccourcis claviers et sur le clic de gauche de la sourie associé à la touche majuscule. De la même manière, l’iPad a habitué les gens à ce que la tablette soit une boite noire, sans fichiers sous-jacents (visibles), patch ou drivers à installer. Accepteront-ils de ne serait-ce que voir le gestionnaire de fichiers ?

Challenge associé spécifique à Windows 8 pour processeurs ARM : les tablettes Windows 8 pourront-elles effectuer une sauvegarde complète de l’environnement comme le font l’iPad (des données jusqu’aux applications installées). Windows ne permet pas une telle chose étant donné que les applications peuvent installer et sauvegarder les données où bon leur semble, contrairement à iOS où les applications sont rigoureusement contrôlées. Windows ARM permettra-t-il d’installer n’importe quelle application, ou seulement les applications qui permettent au système de les sauvegarder entièrement ?

A l’autre bout du spectre, la nouvelle interface va-t-elle enthousiasmer ou rebuter les habitués de Windows ? Si en 1995 le public s’est rué sur Windows 95 pour sa nouvelle interface graphique, depuis Windows XP, le même public est beaucoup moins ouvert aux changements. Il a été tout sauf enthousiasmé par la nouvelle interface de Windows Vista, et nombreux sont les utilisateurs de MS-Office qui détestent l’interface de Office 2007. Pas qu’elle soit mauvaise, bien au contraire, mais parce qu’elle a forcé tout le monde à réapprendre comment trouver les diverses fonctionnalités. Le sujet n’est donc pas une affaire d’ergonomie (l’interface de Windows 8 semble offrir beaucoup de possibilités) mais de perception et de résistance au changement.

La dernière inconnue concerne la compatibilité logicielle entre Windows 8 et Windows Phone 7. Le fait que Windows 8 existera en version ARM (pour tablette) aide à combler le fossé, mais ce n’est pas suffisant. A moins que Windows 8 contienne une partie du code de Windows Phone, les deux systèmes seront incompatibles. Certes, la logithèque WP7 fait pâle figure face à l’immense logithèque Windows (là encore, Microsoft préfère peut-être se baser sur son succès). Mais c’est tout de même mieux que rien car au moins les applications WP7 sont conçues pour un écran tactile. Au tout début du Macintosh, beaucoup d’éditeurs de logiciels (Microsoft entre autres) ont commit l’erreur de développer des applications Mac en gardant la philosophie du mode texte, alors en vigueur. Ils enrobaient des applications texte d’une fenêtre sans vraiment prendre partie des nouvelles fonctionnalités du mode graphique. Le même risque existe pour les applications Windows, surtout si les éditeurs veulent que la même application soit utilisée sur PC comme sur une tablette. Le risque pour Windows 8 ARM est de ne bénéficier que d’une poignée d’applications provenant du monde PC (et portées vite fait mal fait) et aucune des applications WP7.

Windows Everywhere

Steve Ballmer a annoncé la stratégie de Microsoft (qui n’étonnera personne) : « Windows will run everywhere« . Windows tournera partout.

On se rappelle que c’est parce que Microsoft a vu les smartphones comme des mini-PC qu’il a laissé le champ libre à RIM puis Apple et même Google (Redmond a finalement rectifié le tir avec Windows Phone 7). Avec les tablettes, la compagnie de Steve Ballmer voit toujours ces dernières comme des ordinateurs, mais cette fois a modifié l’interface graphique pour mieux prendre en compte leurs possibilités. L’avenir dira si ce sera suffisant…