Synchronisez vos smartphones, sauvegardez vos données! [fr]

[en] Backups, backups.

Je suis régulièrement un peu estomaquée de réaliser combien mon entourage est vulnérable à la perte de données. Quelques suggestions.

Smartphone

Tout d’abord, synchronisez votre smartphone avec votre ordinateur. C’est trop con de perdre ses contacts avec son téléphone quand on pourrait en avoir une copie sur son ordinateur.

iCloud c’est bien joli (et c’est déjà ça) mais à moins de payer, ça ne suffit pas à sauvegarder toutes vos données. 5Gb d’espace sur iCloud… maintenant tout le monde ou presque a bien plus de données mobiles que ça. Sauvegardez donc votre smartphone sur votre ordinateur. Voici comment le faire sur un disque externe si c’est nécessaire (ça l’est pour moi, avec un iPhone de 64Gb bien plein et un disque dur de MacBook Air de 256Gb bien plein également).

Ça peut aussi vraiment valoir la peine (pour un iPhone) d’activer Find my iPhone, qui permet de le bloquer à distance en cas de perte. Attention cependant, ne l’activez pas sans réfléchir pour votre ordinateur, c’est un peu plus délicat côté conséquences possibles.

Ordinateur

Il vous faut des sauvegardes tant locales que distantes. Si vous en êtes encore à vous envoyer vos documents par e-mail ou bien à les mettre sur une clé USB, c’est le moment de vous mettre à la page. Avec Mac, il y a un truc qui s’appelle Time Machine. Achetez un disque dur externe, et utilisez-le Ça marche assez tout seul, faut juste penser à brancher le disque externe de temps en temps.

Une sauvegarde locale c’est déjà bien, mais ce n’est pas suffisant. Si quelqu’un vous cambriole et prend tout ce qu’il y a d’électronique chez vous, vous êtes mal. Ou si une autre catastrophe touche votre domicile… Bref, sans être catastrophiste, c’est relativement facile de se prémunir contre la perte de toutes ses données si ça devait arriver.

Pour vos documents, une solution assez simple peut être de tous les mettre dans Google Drive. J’ai fait ça récemment. Du coup je paie pour avoir un peu plus de stockage. Ça veut aussi dire que mes documents me sont accessibles depuis n’importe où. On peut aussi utiliser Dropbox pour ça. Ou Copy. Ou…

Mais il y a mieux. En plus de ça, utilisez CrashPlan. CrashPlan vous permet de faire une sauvegarde distante sur leurs serveurs (c’est payant) ou bien chez des amis. C’est là que c’est intéressant. Mettez-vous à deux ou à trois, achetez chacun un gros disque dur externe, et faites vos sauvegardes (encryptées bien sûr) les uns chez les autres avec Crashplan.

C’est vraiment trop bête de risquer de perdre ses données parce qu’on se fait voler son téléphone ou que son disque dur meurt.

3e #back2blog challenge (6/10), avec: Brigitte Djajasasmita (@bibiweb), Baudouin Van Humbeeck (@somebaudy), Mlle Cassis (@mlle_cassis), Luca Palli (@lpalli), Yann Kerveno (@justaboutvelo), Annemarie Fuschetto (@libellula_free), Ewan Spence (@ewan), Kantu (@kantutita), Jean-François Genoud (@jfgpro), Michelle Carrupt (@cmic), Sally O’Brien (@swissingaround), Adam Tinworth (@adders), Mathieu Laferrière (@mlaferriere), Graham Holliday (@noodlepie), Denis Dogvopoliy (@dennydov), Christine Cavalier (@purplecar), Emmanuel Clément (@emmanuelc), Xavier Bertschy (@xavier83). Follow #back2blog.

FOWA: Copy is Interface (Erika Hall) [en]

[fr] Notes prises à l'occasion de la conférence Future of Web Apps (FOWA) à Londres.

Here are my live notes of this Future of Web Apps (FOWA) session. They are probably incomplete and may contain mistakes, though I do my best to be accurate. Chances are I’ll be adding links to extra material and photos later on, so don’t hesitate to come back and check. Read Suw’s notes, too.

FOWA 2007 131

Words are the most important components of your user interface.

Caveat: interface language found in the wild… American. So, not talking about internationalisation, different versions of languages, cultural issues…

Exciting interfaces: gesture thing Tom Cruise is using, Wii, iPhone… But not yet for data/information stuff.

You don’t know how people are going to access your application. Nabaztag. Applications people love today are made from text. Even interacting with our TV with a text-based interface.

Language is an interface.

Dopplr philosophy. Device independant. User benefits by having direct access to information. In our everyday life, our priority isn’t shiny stuff, but things that work. steph-note: interpreting somewhat, here.

How will the application developer benefit?

Though it takes a lot of skill to use language well, it’s easy to iterate. People will freak out when you change the colours of your site, but won’t budge much if you change language.

5 ways to get words right:

  • be authentic; consumating vs. eharmony (Erika’s pet peeve: the “submit” button. If you change one piece of copy, change that. People don’t “submit” anything.) Twitter has good “we’re down” messages. Sounds like there are real people behind that application. steph-note: when putting a quote on a slide, read the quote in full.
  • be engaging; schoolofeverything.com, virgin-atlantic.com (“Hello gorgeous!”) Citybank: “Who was your arch rival when you were growing up?” as proposed security question. Pownce genders.
  • be specific with the language you use. emusic.com
  • be appropriate: it would be disconcerning if my bank tried to be my buddy. Amazon: “where’s my stuff?” Flickr “Talk Like a Pirate” day. But… some people were afraid the site had been hacked!
  • be polite: rude doesn’t get much forgiveness. Feedburner: “Activate Feed” and “Cancel and do not activate”, including type size to help you do what you want to do. subtraction.com: “remarks”. particletree.com adding “Everyone needs a hug” as default text in their comment box, when they were dealing with terrible flame wars.

Things that have gone wrong:

8 kinds of bad:

  • vague: basecamp, “file should be under 10Mb”; Apple: “some warnings occured. would you like to review them?”; Bank: “expand your relationship” (creepy!) Ask real people how they would call this thing they want to do.
  • passive
  • too clever/cute; “Murder your darlings.” Be ready to kill your pet phrases.
  • don’t be rude or stupid unhelpful.
  • oblivious to your surroundings: CNN — “Don’t miss: Bodies trapped in wreckage.”
  • inconsistent: the whole “my/your” inconsistency. Read your interface aloud to see if it sounds dumb.
  • don’t be presumptuous

You will still need designers. We’re sociable and entertaining, shouldn’t lose those skills when developing our application. Language isn’t going away. It will pay to pay a lot of attention to it.

Scripts for a WordPress Weblog Farm [en]

A first step to WordPress-farming: a shell script and a PHP script which allow you to easily install a whole lot of WordPress weblogs in only a few minutes (I installed over 30 in less than 5 minutes). Scripts require adapting to your environment, of course.

Update 03.11.06: Batiste made me realise I should point the many people landing here in the search of multi-user WordPress to WordPress MU. All that I describe in this post is very pretty, but nowadays completely obsolete.

Here is the best solution I’ve managed to come up with in half a day to finally install over 30 WordPress weblogs in under 5 minutes (once the preparation work was done).

A shell script copies the image of a WordPress install to multiple directories and installs them. A PHP script then changes a certain number of options and settings in each weblog. It can be used later to run as a “patch” on all installed weblog if a setting needs modifying globally.

Here are the details of what I did.

I first downloaded and unzipped WordPress into a directory.

wget http://wordpress.org/latest.tar.gz
tar -xzvf latest.tar.gz
mv wordpress wp-farm-image

I cleaned up the install (removing wp-comments-popup.php and the import*.php files, for example), added a language directory (as I’m wp-farming in French) and modified index.php to my liking; in particular, I edited the import statement for the stylesheet so that it looked like this:

@import url( http://edublogs.net/styles/toni/style.css );

The styles directory is a directory in which I place a bunch of WordPress styles. I don’t need the style switcher capability, but I do need to styles. Later, users will be able to change styles simply by editing that line in their index.php (or I can do it for them).

Another very important thing I did was rename wp-config-sample.php to config-sample and fill in the database and language information. I replaced wp_ by xxx_ so that I had $table_prefix = 'xxx_';.

To make it easier to install plugins for everyone, correct the language files, and edit whatever may be in wp-images, I moved these three directories out of the image install and replaced them with symbolic links, taking inspiration from Shelley’s method for installing multiple WordPress weblogs.

mv image/wp-content common
mv image/wp-images common
mv image/wp-includes/languages common
ln -s common/wp-content image/wp-content
ln -s common/wp-images image/wp-images
ln -s common/languages image/wp-includes/languages

I also added an .htaccess file (after some painful tweaking on a test install).

Once my image was ready, I compiled a list of all the users I had to open weblogs for (one username per line) in a file named names.txt, which I placed in the root directory all the weblog subfolders were going to go in.

I then ran this shell script (many thanks to all those of you who helped me with it — you saved my life):

for x in `cat names.txt`
do
cp -rv /home/edublogs/wp-farm/image/ $x
cat $x/wp-config.php | sed "s/xxx/${x}/" > config.tmp
mv config.tmp $x/wp-config.php
wget http://st-prex.edublogs.net/$x/wp-admin/install.php?step=1
wget http://st-prex.edublogs.net/$x/wp-admin/install.php?step=2
wget http://st-prex.edublogs.net/$x/wp-admin/install.php?step=3
done

This assumes that my WordPress install image was located in /home/edublogs/wp-farm/image/ and that the weblog addresses were of the form http://st-prex.edublogs.net/username/.

This script copies the image to a directory named after the user, edits wp-config to set the table prefix to the username, and then successively wgets the install URLs to save me from loading them all in my browser.

After this step, I had a bunch of installed but badly configured weblogs (amongst other things, as I short-circuited the form before the third install step, they all think their siteurl is example.com).

Entered the PHP patch which tweaks settings directly in the database. I spent some time with a test install and PHPMyAdmin to figure out which fields I wanted to change and which values I wanted to give them, but overall it wasn’t too complicated to do. You’ll certainly need to heavily edit this file before using it if you try and duplicate what I did, but the basic structure and queries should remain the same.

I edited the user list at the top of the file, loaded it in my browser, and within less than a few seconds all my weblogs were correctly configured. I’ll use modified versions of this script later on when I need to change settings for all the weblogs in one go (for example, if I want to quickly install a plugin for everyone).

In summary:

  1. compile list of users
  2. prepare image install
  3. run shell script
  4. run PHP script

If you try to do this, I suggest you start by putting only two users in your user list, and checking thoroughly that everything installs and works correctly before doing it for 30 users. I had to tweak the PHP script quite a bit until I had all my settings correctly configured.

Hope this can be useful to some!

Update 29.09.2005: WARNING! Hacking WordPress installs to build a farm like this one is neat, but it gets much less neat when your weblog farm is spammed with animal porn comments. You then realise (oh, horror!) that none of the anti-spam plugins work on your beautiful construction, so you weed them out by hand as you can, armed with many a MySQL query. And then the journalist steps in — because, frankly, “sex with dogs” on a school website is just too good to be true. And then you can spend half a day writing an angry reaction to the shitty badly-researched article.

My apologies for the bad language. Think of how you’re going to deal with spam beforehand when you’re setting up a school blog project.

Delicious! A Great Bookmarks Manager [en]

Delicious is an online bookmark manager. It makes it very easy to add and categorize bookmarks, as well as share them with other users. You can also extract your bookmarks from delicious and integrate them in your blog to create a linklog. When I say ‘easy’, I really mean it!

Now, why on earth didn’t I start using delicious ages ago, when I first stumbled upon it? Maybe it didn’t look pretty enough, and didn’t flaunt its features loudly enough for me?

A couple of days ago I paid delicious another visit. See, somebody on #joiito mentioned my Keeping the Flat Clean post, and I suddenly found there was a bunch of people from delicious visiting that article. I thought: “My, people are actually using this thing!” and signed up for an account.

So… what does delicious do? It allows you to easily add pages you visit to your bookmarks, using intelligent bookmarklets (two clicks and no typing to add a link if you want to be minimalist). This is already easier than what I have to do to add links to my LinkBall.

You can categorize your bookmarks very easily by typing words in the “tag” field of the bookmarklet. No need to define categories — delicious takes care of it all for you. You can then view your bookmarks by category or (and this is where it gets interesting) all the bookmarks marked with a same tag. Each bookmark in your list is one-click editable, and each bookmark in somebody else’s list is one-click copyable. For each link, you can also view a list of all the users who have bookmarked it.

Does it stop there? No. All the bookmark lists (by user or by tag) are available in RSS and can be subscribed to within delicious. As a user, you have an Inbox which aggregates the feeds you have subscribed to. You may subscribe to a “user feed” or a “tag (category) feed”. On top of that, bookmark lists are available in plain html, and many users have contributed various hacks which can help you integrate your bookmarks with your weblog. (Update 02.06.04: one thing you shouldn’t do, though, is simply include that HTML feed with a PHP include or an iframe, as this will cause the delicious server to be hit each time somebody views your page.)

If you aren’t a user of delicious yet, you need to go and register right now.