One simple quote from the movie No Strings Attached got stuck in my head:
I’m warning you, if you take one step closer, I’m never letting you go.
And I wondered how this quote would find its way into the software world. And there are indeed some analogies you can make to this quote. It often happened to me to find out that I’m really fond of some application. Or that I use some sites regularly, just because they make fun, their a pleasure to use. That’s also true with, for instance, programming languages. Or even development methods or patterns.
If you find something to be that compelling, that you can’t stop using it, than you get into addiction. And you might not want to let it go anymore. It’s like me with Google Chrome. Or with Total Commander Ultima Prima. Or maybe like the first time I ever used Google. It instantly felt that this is something useful, and so cleverly implemented, that I will continue using it, that I will not let it go. Like maybe Mikogo.
WPF and MVVM: I’m thinking, yes there are some small improvements that could be added to the WPF framework to better allow the implementation of MVVM, but overall, I’m just a step away of sticking with it for a long time from now for developing desktop applications.
So there are situations in a developers life when you just want to stick to something. There are so many possibilities out there (languages, frameworks, tools, methodologies, …) that personally I often wish I could say: this is what I need, I’ll stick with it forever. But then some missing command or some missing functionality, or just bad performance make me say: Hmm, I’ll have to look for other options too. And then I continue investigating and testing other stuff, and sometimes I find something better, sometimes I don’t. This search for something better is frustrating and exhausting. I just wish, software in generally would be even more perfect.
But that makes me think: what does it take for something to be so great, that it’s actually not a step away from what you wish for, but a step further than what you might expect.
One step away from my expectations would make me say: Yeah, it’s ok. One step closer, and I’m never letting you go.
Meeting my expectations would make me say: YES, this is for me! I’ll keep using it.
One step further than my expectations would make me say: WOW!