Book Review: Responsive Web Design

Responsive Web Design is a book published by the well-known website a list-apart and is written by Ethan Marcotte. It is considered as a top reference by many, so I bought it with great expectations. About responsive web design, the main fact is that today your web applications can be seen on every kind of device or screens. So your UI should adapt to any of these. The layout is mostly concerned by this but other interactions (double click, right click, dragging…) should be considered too.

This is short book that can be read very quickly. So you won’t learn a lot with it but you will learn it well. Responsive problematics are clearly exposed and solutions are fully described. The main concepts are the following :

  • Make fluid design
  • Use Media queries
  • Think responsive, take care of the context

By Fluid design, the author just means that you should avoid putting fixed size. Font should be described with em as unit instead of pixels and every width/margins/padding should be set with a percentage. You can eventually put a max width to your components if you don’t want them to become too wide. Then you should force your layout to fill the viewport.
By the way, you can have a small sample on Cozy Cloud blog. Try to resize it to a small window and you will notice changes.

Fortunately to deal with that, you are not alone, media queries will be your friends, to adapt easily your layout depending on device that see your page. These are just litlle elements that you put above your css entries. They will tell your browser to activate described styling depending on situation. It is very easy to use and lets you to write javascript only for complex cases.

A big part of the book is dedicated to the way of thinking responsive. The author gave us a nice table of common resolutions and situation you could met and. Then he tell us that a lot of people “think mobile first”. But the most interesting aspect is the concept of thinking responsive fully. When you write your responsive design, don’t think only “my website should be visible on small device”. Even if it’s a good starting point the problem is more profound than that : you don’t want to see the same content if you are on a mobile or on a desktop. For exemple, an event website will display location and informations first for small resolution (you check the page from a mobile) and will display pictures and place description first for big resolution (desktop).
As you understand I really enjoy reading this book, but there is one bad point: the price is quite expensive for such a small book. 23 dollars + shipping is a little bit high for 150 small pages.

Whatever, if you are interested in the responsive design and you require an initiation, this book will definitely do the job. If you need advanced informations about this problem, it would probably not be enough.

Advertisements

Book review : Technical Blogging, Turn Your Expertise into a Remarkable Online Presence

It has been a long time since I wrote anything about books I read. To break this, I will talk about Techncal Blogging by , a book that explains how to manage your blog efficiently and how to market it.

At the beginning I thought it was a book suited for blogs like mine but in fact not. It’s clearly a  recipe book for people who wants to invest a lot of time in their blog. It encourages you to publish often and regularly and aims to bring your blog to a sustainable source of revenue. Whatever there are still some good remarks that can help you even if your blog is a small one.

What I really liked with that book is that it really explains what technical peolpe are not good at: marketing. It proposes tons of tips for that like improving your blog titles, take advantage of communities (reddit, hacker news), exchange posts with other blogs… Another good thing is that it shows how to deal with post comments (how to react in fact). None of these tricks looks abusive, so I think they could be used safely. Finally it just pushes you to make something natural: interact with other people from your field.

Of course there a lot more in this 250 pages book (how to configure your blog, how to make your blogging experience less time consuming….). Moreover,  the author shares a lot of good links. As you guess I liked it and I recommend it to anyone who desires to blog intensively. Even non technical bloggers could be interested.

The Lean Startup, revue de livre

Voilà un livre que j’étais très enthousiaste de recevoir. En effet, en ce moment que ce soit en bien ou en mal, on entend parler de la méthode Lean un peu partout. Dans le monde des startups informatiques ce thème revient même très souvent. Mais qu’a cette méthode de particulier ? Elle repose sur les principes suivant : il faut éliminer toute action inutile, chaque réalisation doit prouver son efficacité et permettre de progresser vers le succès (validation par l’apprentissage) et il faut se poser régulièrement la question de changer d’orientation ou de persévérer. Voilà en très résumé ce que raconte ce livre de 300 pages. Oui 300 pages pour expliquer ça c’est un peu beaucoup, l’auteur aurait pu faire plus concis. Heureusement il n’y a pas que du blabla, Eric Ries, l’auteur, nous expose beaucoup d’exemples concrets (expérience personnelle ou cas rencontrés en tant que consultant). Ce qui a tout de même pour avantage de rendre le livre assez convaincant.

Revenons à la méthode Lean. Pour que les choses soient claires, Eric Ries, ne recherche que la croissance maximum. On est donc pas dans le “Why grow ?” de 37signals. Pour cela il faut commencer de petit avec un produit minimum (MVP, Minimum Viable Product) afin d’avoir au plus vite des retours utilisateurs . On commence ainsi au plus tôt l’apprentissage. Comme pour lui les utilisateurs ne savent pas toujours ce qu’ils veulent, il ne va pas se contenter de leur poser des question, il va aussi analyser leurs réactions. En créant des indicateurs pertinents (évolution du taux de conversion par exemple) et en mettant de côté les indicateurs vantards (nombre de visites par exemple pour un site de produit payant) il va valider ou non l’ajout d’une feature, la modification d’un design, etc… Il conduit clairement des expérimentations pour définir la marche à suivre et n’hésite pas à revenir en arrière si ça n’a pas fonctionné. Pour que cela soit possible, il préconise de n’avancer que par petits pas et de travailler en petite équipe. Ainsi le retour en arrière est moins douloureux s’il doit avoir lieu. Après ça il continue sa progression jusqu’à ce que ça commence à coincer (croissance ralentie). Là il se pose la question, doit on continuer à améliorer l’existant ou doit on changer de positionnement ? Là il compte plus ou moins sur son instinct et ses résultats précédents pour faire son choix, puis il recommence le cycle.

NB : Pour les logiciels cloud, il prône la méthode du déploiement continu. Chaque modification passe en production rapidement. Il ne juge pas ça risqué car si un bug est mis en prod (malgré les tests automatiques) il sera facilement identifiable et corrigé rapidement car on peut relivrer tout de suite après.

Le concept n’est pas idiot même si je trouve ça gênant de prendre ses utilisateurs pour des rats de laboratoires. Autre point qui me pose problème, c’est qu’il prétend que c’est comme cela qu’on obtient de l’innovation. Alors que pour ma part, je ne trouve pas ce concept vraiment compatible avec l’innovation. Innover c’est parfois changer les habitudes et je ne suis pas sûr que les réalisations impliquant du changement soient “validées” par sa méthode. A l’inverse le bon côté de ce qu’il propose est que ça permet de diminuer les risques d’échec puisqu’on est sûr de développer ce que les gens veulent.

Ce livre présente aussi quelques trucs et astuces, comme la technique des 5 pourquoi. C’est un principe qui vient de Toyota (oui j’oubliais la plupart des principes Lean prennent leur source dans les manufactures Toyota qui avait pour principe de faire des voitures d’un seul coup et non par étapes. Cela leur permettait de mieux gérer leur stock de pièces et de se rendre compte plus vite s’il y avait un problème dans la chaine de production). Les 5 pourquoi qui consiste à analyser les problèmes en profondeur plutôt que de les attribuer à leur cause direct. Pour cela on réunit toutes les personnes impliquées depuis le début jusqu’à la fin de la chaine, management compris et on se pose 5 fois la question pourquoi. Ex : Jhon déploie une feature buggé. Pourquoi la feature est buggée ? parce que Jhon l’a déployée. Pourquoi Jhon a pu déployer une feature buggée ? parcequ’il n’avait pas fait les bons tests. Pourquoi n’a-t-il pas fait les bons tests ? Parcequ’il n’avait pas les bons outils, etc…

En résumé, c’est un livre très intéressant à lire (ok un peu chiant par moment) qui propose une méthode qui se tient avec comme bémol le côté expérimentation sur les utilisateurs.

Je me permettrai aussi une remarque : le principe de travailler avec des petites tâches et en permanence peut être assez épuisant pour les employés. En effet il n’y a plus jamais de pause comme on peut en trouver à la fin des projets ni même d’objectif conséquent à atteindre. A mon avis, il faut donc penser à aménager l’organisation du travail en conséquence : congés forcés, pas d’heures sup et petites victoires régulières me semblent obligatoires pour éviter manque de créativité, burnout ou lassement prématuré.

Start Small, Stay Small

Start Small, Stay Small,  un titre qui s’annonce bien, qui fleure bon le 37signals. Ca se confirme avec la couverture toute noire et son titre en blanc : on croirait presqu’un remake de Getting Real. Alors oui il y a des similitudes : notamment sur l’objectif qui est de vous apprendre à monter un business en vous passant d’investisseur, de “bootstrapper”. Par contre le but ici n’est pas de monter une boite conséquente, ni même d’embaucher quelqu’un (en fait rien n’empêche de le faire mais là le bouquin n’offre plus de conseils pour cela). L’idée cette fois consiste à monter une ou plusieurs micro entreprises vendeuses de logiciels et d’en gagner sa vie.

Là ou c’est intéressant c’est que l’auteur fournit plein de trucs pratiques pour arriver à ses fins. Un exemple : il fait de la publicité pour un produit qui n’existe pas. La pub renvoie sur une page de lancement où on peut laisser son mail. En fonction du nombre de gens qui laisse leur adresse et du nombre de visites, il en déduit si le logiciel en vaut la peine.

Là ou c’est trompeur c’est que ce guide pour développeur parle essentiellement de marketing. L’auteur juge qu’il n’a rien à apprendre à ses lecteurs dans le domaine du développement, donc il ne se concentre pratiquement que sur les moyens de ramener des visiteurs. Ca se tient. Il en résulte de bons tuyaux, il est assez convaincant sur la nécessité des newsletters par exemple mais à un moment ça devient exagéré. Par exemple, avec son blog et sa newsletter, il va cumuler des petites techniques pour attirer du monde : envoyer des contenus réguliers, faire intervenir des experts… Présenter comme il le présente ça donne l’impression qu’il essaye de gratter partout, alors qu’en prenant un peu de recul, il fait juste quelquechose de naturel : apporter des informations autour de son produit afin que ses utilisateurs puissent réagir et apprendre des nouvelles choses, un peu le “Build an audience” de Rework. C’est un peu dommage que ce soit fait dans cet état d’esprit.

Là ou c’est dérangeant c’est que pour couronner le tout, l’auteur fait l’éloge des Virtual Assistants ou VA. C’est quoi ? me direz vous. Un VA est simplement un type, qui n’a rien de virtuel au passage, à l’autre bout de la planète qui accepte de faire des tâches ingrates pour pas cher, comme saisir un listing par exemple. D’un point de vue totalement pragmatique c’est assez intelligent : pour peu d’argent on économise de nombreuses heures de travail. Mais éthiquement, on est à peu près à 20 000 lieux sous les mers.

Bref ce livre comporte pleins d’astuces utiles, mais son obsession marketale en fond un tout assez triste. A manipuler avec précaution.

Revue de livre : The Elements of Content Strategy

Plutôt que vous faire une revue sur ce livre écrit par Erin Kissane, je vais surtout vous partager mon désarroi à son propos. Cet ouvrage est au premier abord très séduisant : la mise en page est super clean et un mot du rédacteur en chef de ListApart,  glissé entre les deux première pages, nous ventent les mérites de l’auteur.

74 pages pour 30 dollars cela fait cher pour si peu. Avant de commencer, je me suis rassuré en me disant qu’au moins ce livre serait concis et clair, ce qui ne serait pas pour me déplaire. Heureusement, cela s’est confirmé… Malheureusement, ce sont les deux seules qualités que j’ai trouvé à ce livre. Dans l’ensemble cet ouvrage est assez creux. On nous ressasse beaucoup l’idée qu’un stratège du contenu (le thème du livre) est quelqu’un d’essentiel au bon fonctionnement d’un site de publication… Encore faudrait-il savoir quel est son rôle. Il en résulte qu’il est une sorte de coordinateur entre le marketing, le dévelopement et les rédacteurs de contenu. On en déduit que le stratège doit maîtriser un peu de chacun de ses métiers. On apprend quelques tuyaux : il faut que le contenu soit cohérent avec l’image du site, le contenu doit être maintenu (cleaner régulierement les vieux contenus), exposition du pour contre de l’outsourcing de la création de contenus, etc. Mais au final ça ne va pas beaucoup plus loin. On a surtout l’impression que l’auteur essaye de justifier l’existence d’un tel métier.

Ce livre donne l’impression d’être destiné aux spécialistes du genre travaillant dans de grosses organisations (mais il y en a-t-il beaucoup ?). Pour ma part, je pensais que ça m’apprendrait des  choses intéressantes pour Beburlesque, mais ce ne fut pas le cas : je n’ai pas été très réceptif a ce qui était dedans. Donc si comme moi vous n’êtes pas pointu sur la question passez votre chemin !


Revue de livre : Beginning Django E-commerce

Cette fois-ci, voici la revue d’un livre pour apprendre à utiliser le framework de dévelopement web Django. Django e-commerce écrit par Jim McGaw est construit sous la forme d’un tutorial géant. L’objectif est de construire une boutique en ligne à partir de cet outil. Si vous voulez apprendre Django, rassurez-vous, Il n’y a qu’un chapitre spécifique aux applications e-commerce. Le reste des points abordés reste valable pour n’importe quel application web avec un bon traffic. Il y a quelques remarques sur l’aspect marketing, mais elles restent très légères, on a bien affaire à un livre technique.

Comme je l’ai dit ce livre est un didacticiel qui couvre toutes les problématiques d’un site web. On commence par constituer le modèle de données, on construit ensuite nos pages de catalogues. On apprend a faire un panier qui persiste avec la sessions utilisateur puis à gérer les paiements. Enfin après l’implémentation de techniques permettant de proposer à l’utilisateur  des artciles adaptés (snif pour la vie privée), l’optimisation de l’indexation dans les moteurs de recherche il ne reste plus qu’à bien sécuriser le site et mettre en cache le résultat des requêtes via memcache pour enfin déployer proprement son site web. Bref vous serez paré pour monter un site web haut de gamme (enfin embauchez un designer quand même car ce livre ne vous aidera pas sur la question).
Hormis le fait qu’ily a parfois un peu trop de blabla (prévoir le fait que le livre est un peu long à lire), je suis satisfait de mon achat qui tout en couvrant le cas d’usage des sites e-commerce offre un apprentissage généraliste du framework Django. Il est très bon pour les débutants motivés et permettra au développeur de niveau intermédiaire de se perfectionner.

Revues de livres

Couchdb: the definitive guide

C’est un très bon livre technique qui vous apprendra en 200 pages comment admnistirer et utiliser Couchdb. Le concept de NoSQL y est très bien expliqué, le stockage de données sous forme de document aussi. On apprend à se servir de Couchdb mais on nous explique aussi comment cela marche sous le capot. Les fonctionnalités principales sont toutes abordées. Des cas concrets viennent illustrer le tout et vous aide à comprendre. Je ne sais pas si ce livre plaira à tout le monde mais il a éludé toutes les questions que je me posais pour répondre aux besoins de Newebe.

En bref, ce livre est redoutablement efficace et m’a permis d’appréhender très rapidement cette base de données dont je ne connaissais à peine le nom auparavant. En plus il est accessible en lecture libre sur le net. Que demander de plus ?

Getting Real


37signals, la société à l’origine de Basecamp (le logiciel de gestion de projets à succès) et de Ruby On Rails (le framework de développement web star), a édité il y a quelques années de cela Getting Real : la recette pour réaliser une bonne application web. On y apprend comment faire une application web utile avec un minimum d’efforts. Le concept prédominant est “Less Is More”. Faire moins c’est faire plus en gros. L’idée générale consiste à dire que plutôt que de faire un logiciel avec pléthores de features, il vaut mieux en faire un peu mais bien. Car un logiciel trop riche devient souvent trop complexe, à la qualité inégale et pas toujours pertinent. En réalisant peu de fonctionnalités, il est aisé de les faire bien et cela permet de livrer plus rapidement… Et par conséquent de pouvoir avoir des retours au plus vite dessus.

Le livre évoque bien d’autres choses qui tournent autour de cet aspect et de comment s’organiser pour y arriver : faire plus simple et faire moins pour mieux se concentrer sur ce qu’on à faire. Il y ajoute donc des tonnes de conseils : des théories sur l’effet néfaste des interruptions au travail, comme quoi les réunions peuvent vite s’avérer contre productive, que travailler trop n’est pas une qualité…  Il insiste également sur le fait qu’il est important de donner vie au chose et ne pas viser trop haut pour au final ne jamais rien sortir. En effet c’est quand les choses existent (d’où le titre) qu’on peut commencer à voir quels sont vraiment les avantages et les défauts. La question de la communication autour du logiciel est abordée. de la même façon Le livre insiste sur le fait qu’il n’est pas utile de faire beaucoup de bruit au démarrage et qu’il vaut mieux cibler sa communication que faire de la diffusion de masses.

En fait la plupart des conseils sont de bon sens mais sont tellement à l’encontre des idées reçues que cela en devient surprenant. En fait pour moi c’est surtout rassurant de voir qu’on peut réussir un projet en appliquant ces principes.

Un peu en marge, le livre pose aussi la question de la décroissance ou plutôt de l’utilité de la croissance. Un logiciel qui marche et qui est rentable a-t-il vraiment besoin de toucher plus de monde ? Est-ce que cela vaut vraiment le coup de le faire grossir au risque de le rendre mauvais ou juste moins bien ?

Allez deux citations pour finir

“Mieux vaut moins, mais mieux” Lénine

“Vivre simplement pour que d’autres, simplement, puissent vivre” Gandhi

Rework

Je ne vais pas m’étendre sur ce livre car c’est un peu une redite du précédent. Les concepts évoqués dans Getting Real sont généralisés : ils ne sont pas orientés sur les applis web mais sur n’importequel type de petit business. Rework est aussi moins austère, il comporte de nombreuses illustrations qui le rende ludique. Il se lit très vite comme son prédécesseur. Ce livre est très bien mais inutile si vous avez déjà lu Getting Real.