Hacking… What is the first thing that comes to mind when you hear the work hacking? Well, most of you will probably think about getting illegal access to a secured system. I’m not talking about that kind of hacking!
Hacking is the beautiful art of using something in a way it was not intended by the creator of it. A great example are SMS text messages for mobile phones. These were originally developed to as a way for mobile operators to send service messages to there clients. Then somebody found out how to use it so send messages to somebody else. This was not intended by the creators of SMS. But it did become the main use for the that particular service!
For who that are not aware… I’ve been to Fosdem this year and I followed a session called ‘hackability‘ by Tristan Nitot and Paul Rouget. This session talked about how a product is produced and how users will sometime “hack” the application for there own use. One of their inspirations came from the comic character ‘Gaston Lagaffe‘. Gaston always uses things different than they are supposed to be used and his boss gets mad about it. That is actually what happens very often with hacked software. The creator of the software will get pissed off when his software is not used as intended. The message Mozilla would like to tell us is that it is actually a good thing and the key to open source!
Mozilla was my trigger to write about this. But Lifehacker.com has been posting stuff for years how to use things in a different way… As an example they posted ‘Craft a Temporary Light Tent Out of Paper and Binder Clips‘ for people who need a cheap and quick solution for a light tent.
To give just a non technical example. Use a clothes-pin and glue it to a piece of flat wood (A4 size). Now you have a cheap clip board for paper. This is already a hack as the clothes-pin was intended for keep clothes on their place on the washing lines. That same clothes-pin could also be used to attach a decoration or a name-tag to someone’s clothes…
I think the best example technical is what happened this week. Google launched a new feature for Gmail called Buzz. It is a sharing service to close the gap between Gmail and Google Wave. Basically it is a feature to share stuff with your Google contacts. What they forgot to build was an actual button to start sharing something! Well, a hacker fixed that! A hacker created a button that used the existing sharing API for Google reader to share a link with the new Buzz service. This is not at all what Google intended but is a great addition to the service!
Why is this important?
Well, why would you like to let people hack into your application? Simple! User input… Users always tend to use software different than the developer intended it to be used. Well, what if the user could make their own changes and adapt the application to their wishes? So… people will be thinking and developing for you!? Actually, yes! BUT you need to work with them to take that back into your product!
There is still a lot of resistance! Product owners tend to not take it well when people run their own way with their products… This is for me a disturbing thing! What the product owner is actually saying is that only he has the correct answer and that is almost never the case! Interaction with users is important, Every product developer (technical or not) should now that! You are almost never creating the product exclusively for yourself and the wishes of your users should dictate your direction. Excluding user experimentation with your product will only harm that!
What to take away from it!
- Accept the fact that other people have imagination too and that you might be wrong with your ideas about your product.
- Your product is being hacked? GOOD! Use it as input for your next feature.
- Make it possible to hack! Design your product in such a way that a user can do more with it that you intended it for.
- Encourage! Be open and invite people to hack your product, supply them with knowledge about your product and show them the way back to you!