Mot-clé - generativity

Fil des billets - Fil des commentaires

jeudi 1 octobre 2009

Bidouillabilité : une définition

Paul Rouget montre du code

Paul Rouget démontrant la pierre angulaire de la bidouillabilité du Web : View Source

Mardi dernier, c'était le 17eme Bar Camp à Paris. J'y étais, pour parler entre autre de Bidouillabilité (traduction française de hackability). J'ai déjà parlé de bidouillabilité, mais sans en définir le sens. Il n'est pas trop tard, dont acte :

Bidouillabilité nom féminin, traduction du terme anglais Hackability. Capacité – pour un objet technique ou un outil – à être détourné de sa vocation initiale en vue d'essayer de lui trouver de nouveaux usages. Se dit d'un système dont on peut observer le fonctionnement interne pour le comprendre, en vue de le modifier. Issu du terme anglais Hacker qui a donné hackability, qu'il ne faut pas prendre au sens de pirate informatique (abus de langage récent, surtout dans les médias). La bidouillabilité ne tient pas compte de la légalité de la démarche : quand on détourne l'usage d'un système technique de façon créative, c'est démontrer sa bidouillabilité, que la démarche soit légale ou pas. Voir aussi le Jargon file : The meaning of Hack, qui définit le hack comme étant "une démonstration de créativité intelligente".

J'ai écrit il y a quelques mois un article en anglais sur la notion de générativité. Je compte le traduire prochainement, car les deux notions sont très proches, la générativité découlant de la bidouillabilité…

Quelques liens :

mercredi 3 juin 2009

The Web is hackable! (for a lack of a better word)

I mean "hackable" in the sense that one can decide to experience it in ways that were not exactly what the author decided it would be. In short, the Web is not TV. It's not PDF either. Nor Flash.

A couple of months ago, we had this discussion during the Mozcamp in Utrecht. It's hard to summarize all of this in a blog post, but I'm going to give it a try.

I guess that all my readers know that a Web page is made of HTML (structure of the document), CSS (presentation via style sheets), JavaScript and DOM (behavior of the doc, if any). It's sent from a Web server on which one has no control (in most cases, of course), carried using the HTTP protocol, on an IP network and then displayed in the browser of your choice. (please bear with the over simplification here).

What's cool for the (Open) Web is that one can tweak/change/hack most of the pieces of the stack. Of course, some of the pieces are out of reach (the DNS servers, the Web server, most of the network) and it's good. But for a lot of the pieces, the users has – if he wants – the ability to change the pieces in order to fit his needs. This sounds a little complex? Let's use examples:

  • Changing the look of the document via CSS : you can use User Stylesheets (even better and easier with Stylish)
  • Changing the content via user scripts, implemented via Bookmarklets, GreaseMonkey or Jetpack.
  • Change the look of the browser using Themes for your browser or Personas
  • Change the way you interact with the browser, with add-ons such as Ubiquity, which completely redefines how we interact with the Web browser and the Web itself.

The beauty of all this is that the people who have invented this did not have to ask permission to innovate. The way the Web was invented, with standardized layers, enable these kinds of things[1], and it's good.

This "hackability" (or generativity) is one of the key things I love about the Web. Now the issue is that this key ability does not have an actual name. Mark Surman has a good post on this topic. Should we call this essential "characteristic" about the Web "Generative", "remix", "opportunity", "hackable", "permissive"? Go and read Mark's post and comment here or there!


[1] The Web was invented 20 years ago, and bookmarklets became somewhat popular in 2002, GreaseMonkey was popular in 2005, Ubiquity Alpha was released in 2008 and Jetpack was announced a couple of weeks ago! No one knows what's going to be invented thanks to the generative nature of the Web...

mercredi 20 mai 2009

About Generativity

There is a key concept about what we do at Mozilla, which is kind of familiar to most of us. It's the notion of Generativity. I know, it's not even a word! However, it looks like this concept is not so well understood by people who are not spending most of their time building the Web or a browser or similar things. So I figured I should spend some time explaining what it is about. Then I'll blog on why Generativity is central to the Mozilla project and the Mozilla Manifesto.

Let's start by asking Wikipedia about Generativity. Here is the definition (I have removed the part about epistemology to avoid unnecessary headaches and added emphasis where needed):

Generativity describes in broad terms the ability of a self-contained system to provide an independent ability to create, generate or produce content without any input from the originators of the system. (...) Technological generativity generally describes the quality of the Internet and modern computers that allows people unrelated to the creation and operation of either to produce content in the form of applications and in the case of the Internet, blogs. Jonathan Zittrain has expressed concern that many recent technologies such as DVR and GPS have moved away from the generative, two-way aspects of the personal computer and the Internet.

I have learned about generativity in reading a (great) book by Jonathan Zittrain, where the author gives the following definition:

Generativity[1] is a system's capacity to produce unanticipated change through unfiltered contributions from broad and varied audiences. Terms like "Openness" and "free" and "commons" evoke elements of it, but they do not fully capture its meaning, and they sometimes obscure it.[2]

The author then describes the five principal factors that make something generative:

  1. Leverage: how extensively a system or a technology leverages a set of possible tasks
  2. Adaptability: how well it can be adapted to a range of tasks
  3. Ease of mastery: how easily new contributors can master it
  4. Accessibility: how accessible it is to those ready and able to build on it
  5. Transferability: how transferable any changes are to others – including (and perhaps especially) non-experts.

I see the combination of PCs and the Internet as a wonderfully generative tool. A PC connected to the Internet, is amazingly leverage-able, adaptable, quite easy to master, affordable and the innovations produced can be easily transfered to other people. One could say that the connected PC is the ultimate generative technology: it enables people to invent new stuff, to do things that no-one had imagined before. Remember 20 years ago? The Internet was still used by scientists and the Web was still to be invented. Now let's think about things that were not possible at the time (I am sure I forgot tons of examples, of course):

  • Publishing your own magazine. It's now called a blog. There are hundreds of millions of them today.
  • Instant access for free to an amazing encyclopedia you can update with your own knowledge? It's now called Wikipedia. The English version is approaching 3 million articles. It exists in 265 different languages for a grand total of 13 million articles...
  • Accessing maps of the world instantly, along with a satellite view? It's called Google Maps.
  • Instantly accessing a fantastic wealth of information? It's called a search engine.
  • Reuniting with high-school friends? Use social networks.
  • Sharing pictures with friends, family and the world?? and cohorts of similar sites. Videos? Youtube and Dailymotion. Short messages? Twitter and
  • Work together as a community with people from all over the world to produce software to access all of this? It's called Open-Source / Free Software. (Or Mozilla ;-) ). Distributing these software products to ordinary people that enjoy them? Firefox has now 270 million active users in the world.

I hope that I have succeeded in explaining what Generativity is. In future posts, I'll discuss its pros and cons, along with its relationship with Mozilla. Stay tuned! In the meantime, Zittrain's book is available for download, and you can read its review by Cory Doctorow.


[1] or "innovative character", as mentioned on the book's home page.

[2] I have been using "hackability" for a while myself. I'm not sure it's better than "generativity", though.