14 Dec 2007

Close Encounters of the Third Kind (Silverlight)

I have been hearing and blogging about Sylverlight for many months now
But it's actually the first time that I encounter a sylverlight application while trying to: download the .NET Framework.

Microsoft doesn't force you to use it (there is an alternate web1.0 interface) but I thought I'd give it a try :)

First impressions:
  • I had to download sylverlight (1Mo, small = cool)
  • Restart firefox :( (bad especially when you have dozen of web pages open...)
  • Quit slow to start up (reminds me of applets)
  • The interface (controls, buttons...) is neat, it looks cool
  • The application I tested has too many gadgets for my taste (everything can fold/unfold) could have been more simple (but that's not a technology problem, it's an UI improvement)
  • Things that looks like buttons don't response or do anything ?! (that's really bad) that actually made me quit the application/web page

Well it didn't convince me.
Nice buttons, control, interface... but not user friendly and technical problems.
I know that's 2 different things but for users it's the same.
It reminds me of applets: nice idea but in practice it's not working well (I would have expect microsoft to know how there own technology work)...

update: After re-entering the sylverlight application/webpage; buttons are working, but the interface is really really not user friendly. It seems to me they wanted to use all those nice new features without thinking of the user :(
Also I tried to send them a mail or comment with this post link to help them improve but I gave up when I landed on this horrible support page.

Technorati tags:

15 Nov 2007

Fin du Buzz pour Facebook [fr]

Excellent article de Fred Cavazza analysant la situation de Facebook: "Pourquoi je ne crois plus en Facebook"

Il liste et analyse tous les points faibles de Facebook. Je suis d'accord avec sa conclusion, je pense que Facebook ne revolutionnera rien du tout en fin de compte mais existera avec une communauté correct d'utilisateurs.

Deux choses m'ont fait réagir en lisant cet article:
  • Les statistiques sur les sites les plus utilisés par les gens: les vrai, pas les geeks ;)
- 55 millions d’utilisateurs. OK, mais ça reste à peine plus d’1/4 de MySpace et d’1/3 de Neopets
- Près de 650.000 utilisateurs en France. Certes, mais ça fait à peine 5% par rapport à la communauté Skyblog ou à celle de Windows Live
  • A quel point je (et les personnes qui m'entourent) sommes complétement en dehors des réalités! (je le savais déjà mais disons que c'est une piqûre de rappel)
Depuis au moins 1 an je n'entend parler (sur les blogs, au café, par Instant Messaging...) que de Twitter, Facebook et autres application web 2.0.
On se moque régulièrement des sites MySpace, des Skyblog parce qu'on les trouve "kitch" et pourtant c'est ça que les gens utilisent !!

Il faut se rendre à l'évidence que je fais partit d'une caste repliée sur elle-même... un informaticien avec un blog (depuis longtemps), qui n'écoute pas M.Pokora ou Zazie et qui utilise internet pour le plaisir de l'utiliser (pas pour faire des choses).

Seulement lorsqu'on se retrouve devant des choix pour décider de la présentation d'une page web de son IHM, systématiquement j'entend dire:
"Si j'étais l'utilisateur je ferais ça..."

Seulement comment voulez vous, vous mettre à sa place, on est tellement différent!

Pour moi la seul vrai solution pour savoir si un site est bien pensé ou non, c'est de faire des tests d'utilisabilités.

Malheureusement je n'ai jamais eu l'occasion d'en voir en action en France, il semblerai que personne ne sache que ca exist ou que les informaticiens dans leurs chateaux de verre se disent qu'on ne peut pas laisser de tels choix à "des gens qui n'y connaissent rien" :(

Technorati tags:

7 Nov 2007

Mootools nice package manager

I just discovered the mootools download manager (mootools is an ajax javascript library).

Just click on the extensions you want and it will build you a single js file with them.

I like the skin, colors etc... I think they are neat :)

But the most interesting part it that if you want A it will automatically select the extensions it depends on for example B and C :)

Try to select: Element.Selectors or Fx.Transitions

But when unselecting A it doesn't unselect B and C...
Unless this is a core package that more specific package need in order to work.

Try to select all and then unselect: Element

But that doesn't bother me I prefer something simple and working well than something trying to be too smart ;)

18 Oct 2007

How to detect broken, dead rss feeds in google reader

A simple trick, I wanted to share in google reader.

Go to the Trends page:


Select the "Inactive" tab in "Subscription trends":


There you have it the list of somehow inactive feeds.

The top 3 reasons why those feeds may be inactive are:
  • the blog doesn't exist anymore (404)
  • the blog changed it's engine and the feed url is not the same (for ex: the blog moved from jroller to wordpress, it is hosted somewhere else...)
  • there hasn't been any post for a really long time
Advise for the blogger reading this:
  • Try to avoid at all cost changing the feed url
  • When it's not possible write a last post saying the url is changing before changing it otherwise nobody will notice it and therefor you are loosing all your readers

1 Oct 2007

Most Programmers Don’t Write Tests (and never will)

This article/survey inspired me for this post.

Extreme Programming has been around for the last 10 years but there is still a minority of people using it on a daily basis and I fear it will always be a minority.

I consider myself an addict to TDD. I won't explain what it is... I hope you already get the picture.

When I discovered it I got the "Woh !" feeling. At least a technique to write code with less bugs !
I tried (and in some case succeed) at doing some TDD evangelism.

My first opinion was that it was just a matter of educating people, I never learn this technique at school, neither in the enterprises I worked for... I learned it by reading blogs/books and so on.

But despite my efforts it seems it always ends-up in some sort of "rotten state".

The tests end up disable to do refactoring, people don't write tests first because they are stress and/or just want the thing done or other valid reasons in the sort term.

Developers just want immediate feedback and people always choose the "Path of least resistance". Doing tests is just harder because you have to face other problems ("how do I isolate my tests", "how do I avoid depending on a database", "I need to change my api to make it testable"...)

I think it's just human nature and human nature just don't change.

Take this extract from Jackob Nielsen usability guideline:
Overall, though, whether you look at application or website guidelines, usability guidelines remain remarkably stable across decades. That's because they depend on human characteristics, which don't change that much.

That why I dropped the evangelism thing :(

I just use this technique for me, show it to others and even explain it if I feel the person is responsive to it. May be some will find it useful but I doubt it will become the main way to code... Too bad :(

Technorati tags:

27 Sept 2007

The Elevator Test cheat sheet

I really like this "elevator test" blog post from coding horror so I decided to make it a cheat sheet, you can get it as a pdf.

Basically you should ask yourself those 5 questions to keep yourself focus one the main goal: "solve the customer problem"

What are you working on?
Why are you working on that?
Why is it on the bug list?
Why was it reported as a bug?
Why does the tester think that?

26 Sept 2007

Dr Who ?

Seen in Hadoop JobClient.class:

String user = System.getProperty("user.name");
job.setUser(user != null ? user : "Dr Who");

25 Sept 2007

To Test or not to Test private methods? That is the question !

We were talking about whether to test or not private methods, making them public to do the tests. I recommend this post of Michael Feathers.

I also recommend the "Mock" testing technique to avoid doing surgery on you objects. Using fake objects to record what methods are call on this object and then trigger the mock.assert() on this object.


Technorati tags:

Reading lines

I know this sound stupid but even if I've been using Java since 2001, reading a file "line by line" has always been a painful experience because java.io just sucks!
Ok may be it's wonderful piece of Object Oriented design but still "simple things are not simple" :(

With apache commons io to the rescue things become "more" simple:
InputStream input = getClass().getClassLoader().
getResourceAsStream("my/package/file.txt");
List lines = IOUtils.readLines(input, "UTF-8");

or
File file = new File("/commons/io/project.properties");
List lines = FileUtils.readLines(file, "UTF-8");

Still not simple enough but much better ;)