A good question when defining buttons in your UI is: should the label on the button define the action you want to perform pushing it or the state that that button represents?

I’ve always thought that the correct answer is “action”: being a button I expect that the label says what happens (action) when I click it!

Recently the TweetDeck interface brought an interesting UI solution.

See below: when you open the Account Profile window (ths Lorenzo Barbieri for his help 🙂 ) the blue button represent the state “I am Following Lorenzo”.

When I move the mouse over the button, the button itself changes his style and starts representing the action: I want to Unfollow Lorenzo (well, actually I don’t want but it’s an example 🙂 ).

What do you think? Brilliant idea or confusing idea?