Six Apart rachète U-blog [fr]

Six Apart achète la société Ublog. Dommage que Ublog n’ait pas fait part de l’annonce directement à  ses utilisateurs.

[en] Six Apart bought Ublog, as you know. I think it's really a pity that no official announcement was made to the users of the U-blog platform. Loïc Le Meur even refrained from blogging the announcement before the press had published it, which I find pretty poor practice for a weblog evangelist, even if he is a businessman. If I were a U-blogger, other than wonder what the future of the weblogging platform U-blog will be, now that the company belongs to the owners of TypePad, I would have the impression the company doesn't really give a damn about its end-users.

Je voulais faire un long billet, classe, fouillé, pertinent, journalistique et complet. Après des heures de remuage de boue, de lecture de billets et de commentaires présents ou passés qui n’ont fait qu’accroitre mon agacement, je renonce à  mon projet initial pour tenter de faire quelque chose d’un peu plus sobre. J’ai une longue liste de liens que je pourrais un jour utiliser pour un billet d’historienne-commentatrice de la blogosphère, mais ce n’est pas pour aujourd’hui.

Bon, Ublog SA devient Six Apart Europe. Loïc est un bon businessman, je n’ai aucun doute là -dessus. Il sait utiliser les médias, il a des connexions, et il semble enthousiaste au sujet du weblogging. Il est maintenant Executive Vice-President de Six Apart.

Chez U-blog, soit on proteste, avec un peu trop de virulence à  mon goût, soit on se tait — peut-être parce que (comme Stéphane, créateur de la plateforme U-blog, à  qui j’ai parlé cet après-midi) ils ignorent tout de la transaction?

Ailleurs, de façon très générale, le message est “félicitations à  Loïc et Six Apart.” (Quant à  Laurent, je n’arrive pas trop à  savoir ce qu’il en pense, mais c’est peut-être voulu…)

Moi, je voudrais plutôt déplorer le fait que Loïc, apôtre du weblogging, semble faire preuve de plus de respect pour les médias que pour ses propres utilisateurs: à  ce jour, aucune annonce officielle sur le portail U-blog, ni sur le blog officiel, délaissé d’ailleurs depuis le 7 mai. Chez Six Apart, la nouvelle est bien annoncée et se trouve reprise sur le blog officiel de la société.

Personnellement, je trouve que ça fait un peu chenit. Si j’étais une utilisatrice U-blog, j’aurais l’impression de ne pas compter pour grand-chose.

Si vous désirez explorer, l’article sur iFeedYou vous donne quelques bons points de départ.

Ces blogueurs qui arrêtent… [fr]

Pourquoi les weblogueurs cessent-ils de bloguer? Par manque de lectorat, certes, mais je me demande si une attitude de l’ordre de “que vais-je donc écrire sur mon blog aujourd’hui” ne joue également un rôle dans le risque d’abandon de weblog.

[en] Why do bloggers stop blogging? As Stefan mentioned at BlogTalk, lack of readership and feedback is certainly a factor in weblog abandonment. Remembering a question I answered the day before the conference on a weblog survey, I wonder if a "what am I going to blog today" attitude doesn't increase the risk of weblog abandonment (as opposed to bloggers who just have stuff in their head that needs to get out.) What do you think?

Ça revient régulièrement sur le devant de la scène: le blog-blues. Tel ou tel ferme son weblog, arrête de bloguer, quitte la blogosphère à  grands fracas (pour parfois revenir ensuite) ou s’en va à  pas de souris. Pourquoi les blogueurs arrêtent-ils?

Lors de BlogTalk, Stefan Glänzer s’est posé la question: Does Blogging Suck?

Sur 20six.de, il semblerait que 82% des bloguers abandonnent leur weblog au bout de quelques mois.

Sans lecteurs, on ferme. Epitaphes-type:

  • Y’a quelqu’un?
  • test test test
  • J’ai besoin d’une pause… je reviendrai… à  un moment ou un autre

Je vois cependant souvent des weblogs “bien lus” fermer. C’est en général de ceux-là  qu’on entend parler, inévitablement — les lecteurs se plaignent! La grandeur du lectorat n’est certainement pas le seul facteur, et j’ai ma petite hypothèse sur la question.

En écoutant la conférence de Stefan, j’ai repensé au questionnaire sur les weblogs que j’avais rempli le soir précédant. Une des questions m’a frappée — elle disait à  peu près ceci: “Lesquelles des sources suivantes consultez-vous régulièrement afin d’y trouver des choses à  bloguer?” (suivait une liste de genre de sites susceptibles de servir d’inspiration au bloguer qui en manquerait).

Et là , je me suis retrouvée perplexe. Je ne vais jamais à  la recherche de matière à  bloguer! Je ne me demande jamais de quoi je pourrais bien parler aujourd’hui. Soit il y a quelque chose qui me trotte dans la tête et je l’écris (ou pas), soit il n’y a rien et je n’écris rien. Jamais je ne vais activement chercher un sujet de billet.

Je me demande donc s’il y aurait pas une corrélation entre cette attitude (“chercher quoi bloguer”) et le risque d’abandon du weblog.

Qu’en pensez-vous? En ce qui vous concerne, est-ce que vous cherchez des sujets de billet, ou bien est-ce qu’ils “viennent à  vous”? Vous demandez-vous ce que vous allez bien pouvoir écrire aujourd’hui? Ce que vous avez à  dire à  ce sujet m’intéresse grandement.

The Lee Bryant Experiment [en]

An account of the “Lee Bryant Experiment”, where I posted his write-up of his talk into SubEthaEdit bit by bit as he was talking. Some ideas about note-taking, talking, presentations, and write-ups.

[fr] Lorsque Lee Bryant a donné sa conférence à  BlogTalk, j'ai collé la version écrite de ce qu'il disait dans SubEthaEdit, à  mesure qu'il parlait. Cela paraissait une idée intéressante à  expérimenter quand j'ai offert de le faire, mais l'expérience n'était pas concluante. Cela m'a cependant amené à  m'interroger sur les rôles respectifs du discours proprement dit, du support visuel (dias, présentation), de la prise de notes, et de la publication par écrit du contenu d'une conférence.

So, what was this “Lee Bryant Experiment” I was talking about? No, we did not replace Mr. Bryant by a cyborg-lee during the conference so that he could go and have coffee during his own talk. We simply pushed the whole collaborative note-taking experience one step futher.

Lee mentioned during the first afternoon or BlogTalk that his talk was a bit long, and that he was debating whether to rush thr0ugh it or cut stuff out. I of course suggested cutting things out, but then, that meant that some of the things he wanted to say would not reach the audience. Then we had this idea: paste a written, more detailed, version of his talk into SubEthaEdit while he was talking. I offered to do it. We would annotate his notes, and then stick it all up on the wiki. It sounded like a great idea, and a fun thing to do.

I had a few doubts about it in the morning (so had Lee), worried that it would divert the “note-taker’s” attention from what he was actually saying. However, we decided to go ahead and do it, to see what happened.

I didn’t have much trouble keeping up with Lee’s talk and slides and pasting chunks of his text into the common document as he talked. However, I quickly noticed that this completely killed the note-taking. And it got me thinking.

Was that a problem? Is note-taking important, if you get a transcript or detailed paper of the talk afterwards? I think it is. I think that note-taking as a process is important. I know I listen differently whether I am taking notes or not. There is something to be said for reformulating what you’re listening to on the fly. To me, it clearly aids the integration of what is being said. Now, to what extent does collaborative note-taking defeat that? Open question.

Notes are also more succint than the presentation. One interest of note-taking for me is that I summarize in quickly-readable form what I got out of the presentation. Great for refreshing memories.

So yes, I think that was a problem. I don’t think it’s a good idea to give the audience too much text to read during a talk. That goes for slides too. For me, slides should give visual cues to help the audience keep track of where we are in the talk, and what is being said. They shouldn’t contain “stuff to read while you listen” — you can’t read and listen at the same time. If slides are content-heavy, then the talk should be a comment of the slides, and not something done “in parallel with the slides in the background.”

I think a written version of a talk, especially if it is more detailed than the talk itself, should never be made available before or during a talk. I was told that, by the way, in the 3-day project management course I followed while I was at Orange: when presenting something, don’t hand anything out to people unless you want them to stop listening to you.

What would have made more sense, in hindsight, would have been to put up the written version of Lee’s talk on the wiki in parallel with the notes we would have taken, and allow people to comment the paper. Another thing to try, maybe, would be to put only the outline in the SubEthaEdit document — but then, I noticed that when people are writing they rarely scroll down to see what is written below in the document. Note-taking in a text editor does tend to remain a pretty linear operation.

To summarize, I would say that for me, this experiment was a failure. It was not a failure in the sense that we managed to do what had planned to do, and that it worked, but it was a failure in the sense that what we did failed to give any added value to Lee’s talk.

Think otherwise? Open to discussion.

Batch Categories 0.9 [en]

Batch Categories for WordPress has been fixed and enhanced. If you have major category jobs to do, it can probably help you. Feedback and testers welcome.

[fr] Batch Categories pour WordPress a été corrigé et fonctionne à  présent. Le compagnon idéal si vous desirez changer les catégories de nombreux billets en même temps.

Batch Categories 0.9 is out! It’s the ideal companion for large-scale post-import messy category work. List all posts belonging to a category or matching a keyword, and edit their categories, easily visible at a glace with a collection of sexy drop-down lists. What’s new since the the first draft?

  • It now works, and does not “eat” categories without a warning. (Pretty nice of it, huh?)
  • It tells you what it did — which categories it added to which posts, and which ones it removed.
  • Add a whole bunch of posts to a category with one click.
  • Remove a whole bunch of posts from a category with one click.
  • Ensures that all the categories for a post are always listed, whatever the setting for the limit number of drop-down lists.
  • This is what it can look like.

You can still access it as a plugin or edit the Edit navigation menu, as described in my post introducing Batch Categories. If you’re in a hurry, just drop the PHP file into your wp-admin directory and send your browser straight on it.

Next steps?

  • Gather feedback from courageous testers (please don’t blame me if you haven’t backed up your post2cat table and things go wrong) for chasing the last bugs, improving interface and functionality.
  • Redo the code which generates the drop-down lists to take advantage of the category cache, and avoid flooding the database with useless queries.
  • Allow more subtle selection of posts: combinations of categories (AND/OR/NOT), categories without their subcategories…
  • Anything else you would want…?

Update 24.07.04: BB made me notice that “All” and “None” didn’t make much sense in the drop-down which allows one to select the categories to display. Replaced them in v. 0.91 by “Any category”.

Cours de maths-base [fr]

Avec la suppression des “sections” en VSB, l’enseignant en maths se retrouve à  devoir gérer jusqu’à  la fin de la scolarité obligatoire des classes passablement hétérogènes quant à  leur facilité dans cette branche. Un commentaire sur mon expérience.

[en] In canton Vaud, the school organisation has changed a lot during these last years, resulting in more heterogenous classes. I talk about my experience teaching maths in classes where you have "maths-specialists" and "language-specialists" (who are often less at ease with maths) in the same classes.

Mon premier “challenge” d’enseignante, lors de mes remplacements, cela a été les cours de “maths-base” — à  savoir les cours de maths donnés à  la classe entière, sans faire intervenir les différents choix d’options spécifiques qu’ont fait les élèves. En effet, on trouve maintenant dans une même classe de VSB aussi bien des latinistes, des scientifiques, que des élèves ayant choisi comme option spécifique l’italien (“langues modernes”) ou l’économie.

Ces élèves suivent en commun les cours d’allemand, d’anglais, de français, de maths, d’histoire (etc.) et se séparent pour suivre les quatre (cinq) heures de cours hebdomadaires consacrées à  leur option spécifique: l’italien, le latin, l’économie, ou des maths supplémentaires. Les cours “maths-option” couvrent des domaines qui ne sont pas abordés par le cours maths-base. Ainsi, les élèves de maths-option ne se trouvent pas favorisés lors de ceux-ci.

Mais, il y a un mais. Nous ne sommes pas tous égaux devant les maths. Si je crois fermement que chacun est capable de comprendre et maitriser les mathématiques enseignés au collège (si on fait preuve de patience et de compétence pédagogique, et qu’il y a assez de temps à  disposition — ce qui n’est en général pas le cas), il me parait cependant évident que certaines personnes comprennent plus vite que d’autres. Au risque de tomber dans le cliché (mais en étant consciente que ceci est une généralisation, à  manier donc avec des pincettes), il y a fort à  parier que l’on trouve chez les élèves ayant choisi les maths en option spécifique une forte proportion de personnes ayant de la “facilité”, comme on dit, et dans les options plus littéraires, un plus grand nombre d’élèves ayant besoin d’un peu plus de soutien pour appréhender les mathématiques.

Lorsque l’école secondaire était divisée en sections bien distinctes, on attendait clairement plus des scientifiques durant les cours de maths, quel que soit le sujet abordé, que des modernes (pour rester dans les gros clichés). Les latines étaient considérées comme des littéraires, certes, mais puisque c’étaient des latines (traditionnellement la section pour les “meilleurs” élèves, à  tort ou à  raison), certains enseignants avaient tout de même des exigences un peu plus élevées que pour des élèves en section moderne.

On va tenter de s’arrêter là  avec les clichés, espérant tout de même que mon argumentation aura été claire: certains comprennent plus vite les maths que d’autres. (Et ne nous limitons pas aux maths, les problèmes que je soulève ici se retrouvent dans l’enseignement des langues et probablement d’autres branches encore.)

Prenez donc une classe de 7VSB. A force d’exercices et de persuasion, on leur présente l’addition et la multiplication des fractions. Quelques élèves auront compris dès la première explication ou le premier exercices. D’autres auront besoin encore de longues heures d’explications bien plus détaillées, accompagnées de force schémas et analogies, mettant à  l’épreuve la créativité de l’enseignant et dans bien des cas, sa patience. (Et très personellement, c’est là  un des aspects de l’enseignement que je trouve le plus stimulant.)

Reste la question: que faire avec ceux qui ont compris, qui ont fini en cinq minutes l’exercice que vous avez donné à  faire, et qui s’ennuient durant les explications que vous donnez à  ceux qui ont encore du chemin devant eux? Si vous leur faites prendre de l’avance dans les exercices à  faire pour les occuper, cela ne fait que repousser le problème. Leur donner à  faire des exercices supplémentaires, que ne feront pas les autres élèves? Cela me paraît la moins mauvaise solution. Elle demande bien entendu préparation, organisation, et travail supplémentaire de la part de l’enseignant.

Life and Trials of a Multilingual Weblog [en]

Here is an explanation of how I set up WordPress to manage my bilingual weblog. I give all the code I used to do it, and announce some of the things I’d like to implement. A “Multilingual blogging” TopicExchange channel is now open.

[fr] J'explique ici quelles sont les modifications que j'ai faites à WordPress pour gérer le bilinguisme de mon weblog -- code php et css à l'appui. Je mentionne également quelques innovations que j'ai en tête pour rendre ce weblog plus sympathique à mes lecteurs monolingues (ce résumé en est une!) Un canal pour le weblogging multilingue a été ouvert sur TopicExchange, et vous y trouverez peut-être d'autres écrits sur le même sujet. Utilisez-le (en envoyant un trackback) si vous écrivez des billets sur le multinguisme dans les weblogs!

My weblog is bilingual, and has been since November 2000. Already then, I knew that I wouldn’t be capable of producing a site which duplicates every entry in two languages.

I think this would defeat the whole idea of weblogging: lowering the “publication barrier”. I feel like writing something, I quickly type it out, press “Publish”, and there we are. Imposing upon myself to translate everything just pushes it back up again. I have seen people try this, but I have never seen somebody keep it up for anything nearing four years (this weblog is turning four on July 13).

This weblog is therefore happily bilingual, as I am — sometimes in English, sometimes in French. This post is about how I have adapted the blogging tools I use to my bilingualism, and more importantly, how I can accommodate my monolingual readers so that they also feel comfortable here.

First thing to note: although weblogging tools are now ready to be used by people speaking a variety of languages (thanks to a process named “localization”), they remain monolingual. Language is determined at weblog-level.

With Movable Type, I used categories to emulate post-level language awareness. This wasn’t satisfying at all: I ended up with to monstrous categories, Français and English, which didn’t help keep rebuild times down.

With WordPress, the solution is far more satisfying: I store the language information as Post Meta, or “custom field”. No more category exploitation for something they shouldn’t be used for.

Before I really got started doing the exciting stuff, I made a quick change to the WordPress admin interface. If I was going to be adding a “language” custom field to each and every post of mine, I didn’t want to be doing it with the (imho) rather clumsy “Custom Fields” form.

In edit.php, just after the categorydiv fieldset, I inserted the following:

<fieldset id="languagediv">
      <legend>< ?php _e('Language') ?></legend>
	  <div><input type="text" name="language" size="7"
                     tabindex="2" value="en" id="language" /></div>
</fieldset>

(You’ll probably have to move around your tabindex values so that the tabbing order makes sense to you.)

I also tweaked the wp-admin.css file a bit to keep it looking reasonably pretty, adding the rule below:

#languagediv {
	height: 3.5em;
	width: 5em;
}

and adding #languagediv everywhere I could see #poststatusdiv, so that they obeyed the same rules.

In this way, I have a small text field to edit to set the language. I pre-set it to “en”, and have just to change it to “fr” if I am writing in French.

We just need to add a little piece of code in the form processing script, post.php, just after the line that says add_meta($post_ID):

 // add language
	if(isset($_POST['language']))
	{
	$_POST['metakeyselect'] = 'language';
        $_POST['metavalue'] = $_POST['language'];
        add_meta($post_ID);
        }

The first thing I do with this language information is styling posts differently depending on the language. I do this by adding a lang attribute to my post <div>:

<div class="post" lang="<?php $post_language=get_post_custom_values("language"); $the_language=$post_language['0']; print($the_language); ?>">

In the CSS, I add these rules:

div.post:lang(fr) h2.post-title:before {
  content: " [fr] ";
  font-weight: normal;
}
div.post:lang(en) h2.post-title:before {
  content: " [en] ";
  font-weight: normal;
}
div.post:lang(fr)
{
background-color: #FAECE7;
}

I also make sure the language of the date matches the language of the post. For this, I added a new function, the_time_lg(), to my-hacks.php. I then use the following code to print the date: <?php the_time_lg($the_language); ?>.

Can more be done? Yes! I know I have readers who are not bilingual in the two languages I use. I know that at times I write a lot in one language and less in another, and my “monolingual” readers can get frustrated about this. During a between-session conversation at BlogTalk, I suddenly had an idea: I would provide an “other language” excerpt for each of my posts.

I’ve been writing excerpts for each of my posts for the last six months now, and it’s not something that raises the publishing barrier for me. Quickly writing a sentence or two about my post in the “other language” is something I can easily do, and it will at least give my readers an indication about what is said in the posts they can’t understand. This is the first post I’m trying this with.

So, as I did for language above, I added another “custom field” to my admin interface (in edit-form.php). Actually, I didn’t stop there. I also added the field for the excerpt to the “simple controls” posting page that I use (set that in Options > Writing), and another field for keywords, which I also store for each post as meta data. Use at your convenience:

<!-- BEGIN BUNNY HACK -->
<fieldset style="clear:both">
<legend><a href="http://wordpress.org/docs/reference/post/#excerpt"
title="<?php _e('Help with excerpts') ?>"><?php _e('Excerpt') ?></a></legend>
<div><textarea rows="1" cols="40" name="excerpt" tabindex="5" id="excerpt">
<?php echo $excerpt ?></textarea></div>
</fieldset>
<fieldset style="clear:both">
<legend><?php _e('Other Language Excerpt') ?></legend>
<div><textarea rows="1" cols="40" name="other-excerpt"
tabindex="6" id="other-excerpt"></textarea></div>
</fieldset>
<fieldset style="clear:both">
<legend><?php _e('Keywords') ?></legend>
<div><textarea rows="1" cols="40" name="keywords" tabindex="7" id="keywords">
<?php echo $keywords ?></textarea></div>
</fieldset>
<!-- I moved around some tabindex values too -->
<!-- END BUNNY HACK -->

I inserted these fields just below the “content” fieldset, and styled the #keywords and #other-excerpt textarea fields in exactly the same way as #excerpt. Practical translation: open wp-admin.css, search for “excerpt”, and modify the rules so that they look like this:

#excerpt, #keywords, #other-excerpt {
	height: 1.8em;
	width: 98%;
}

instead of simply this:

#excerpt {
	height: 1.8em;
	width: 98%;
}

I’m sure by now you’re curious about what my posting screen looks like!

To make sure the data in these fields is processed, we need to add the following code to post.php (as we did for the “language” field above):

// add keywords
	if(isset($_POST['keywords']))
	{
	$_POST['metakeyselect'] = 'keywords';
        $_POST['metavalue'] = $_POST['keywords'];
        add_meta($post_ID);
        }
   // add other excerpt
	if(isset($_POST['other-excerpt']))
	{
	$_POST['metakeyselect'] = 'other-excerpt';
        $_POST['metavalue'] = $_POST['other-excerpt'];
        add_meta($post_ID);
        }

Displaying the “other language excerpt” is done in this simple-but-not-too-elegant way:

<?php
$post_other_excerpt=get_post_custom_values("other-excerpt");
$the_other_excerpt=$post_other_excerpt['0'];
if($the_other_excerpt!="")
{
	if($the_language=="fr")
	{
	$the_other_language="en";
	}

	if($the_language=="en")
	{
	$the_other_language="fr";
	}
?>
    <div class="other-excerpt" lang="<?php print($the_other_language); ?>">
    <?php print($the_other_excerpt); ?>
    </div>
  <?php
  }
  ?>

accompanied by the following CSS:

div.other-excerpt:lang(fr)
{
background-color: #FAECE7;
}
div.other-excerpt:lang(en)
{
background-color: #FFF;
}
div.other-excerpt:before {
  content: " [" attr(lang) "] ";
  font-weight: normal;
}

Now that we’ve got the basics covered, what else can be done? Well, I’ve got some ideas. Mainly, I’d like visitors to be able to add “en” or “fr” at the end of any url to my weblog, and that would automatically filter out all the content which is not in that language — maybe using the trick Daniel describes? In addition to that, it would also change the language of what I call the “page furniture” — titles, footer, and even (let’s by ambitious) category names. Adding language sensitivity to trackbacks and comments could also be interesting.

A last thing I’ll mention in the multilingual department for this weblog is my styling of outgoing links if they are written in a language which is not my post language, using the hreflang attribute. It’s easy, and you should do it too!

Suw (who has just resumed blogging in Welsh) and I have just set up a “Multilingual blogging” channel on TopicExchange — please trackback it if you write about blogging in more than one language!

EPFL Offers Blogs to All Its Students [en]

A major engineering school in French-speaking Switzerland (Lausanne) has opened a blogging platform for all students and staff.

[via Hannes, Roberto]

The EPFL (Ecole Polytechnique Fédérale de Lausanne) has set up a blogging platform for all students and staff.

The platform is home-cooked, Java-based, and still in early stages. Trackback and external comments have not been implemented at this stage because of potential spam problems. Their archiving system is in my opinion a little basic, but the blogs all have RSS feeds, so I think there is definitely hope for the future.

I blogged about this in French yesterday, but I think it’s significant news enough for me to mention it again in English. (Plus, I’m thinking very hard about the implication of being a multilingual blog with monolingual readers…)

WordPress get_nested_categories() Bug [en]

Some code I produced while trying to fix and already fixed Wordpress bug (in get_nested_categories()).

I bumped into my first really annoying WordPress bug today. The function get_nested_categories(), which is used to display the different categories available in the admin screens, wrongly assumes in 1.2 that people create their parent categories before their children (and that the latter have a higher ID than the former).

This has been fixed in the CVS. However, as there have been changes since 1.2 in CVS, you need to copy the code provided on the bug report page. Take the first function from the “Additional Information” part, and the second one from the “Bug Notes” section.

As I didn’t know about the web-based CVS, I started trying to fix the bug myself. It’s almost finished but doesn’t work yet (just a little bug to track down), and it only uses one MySQL query, whereas the fix presented above can end up using lots, if you have a complicated hierarchical category structure like mine. You’re welcome to have a go at my code — let me know if you find the problem!

Next time I meet a bug, I’ll check in CVS first to make sure it isn’t already half dead.