Google   web blog

Tuesday, August 29, 2006

Make Simple Things Simple


When we develop software we’re always tempted to create cool, jazzy things. Jazziness is quite often a very important factor when a design decision is being made. Not only are developers afflicted with that “sickness”, it lays deep in our souls. No one wants to develop simple boring things. Everyone wants to invent the internet yet another time.

When I look at many of applications I use, they fall into the “wanna be cool” category. Just to make things clear I don’t have anything against that category unless coolness is the only advantage I receive when using the software. What more, if a program is useful and cool... that’s a perfect combo. Unfortunately usefulness is usually sacrificed on the Altar of Coolness.

That’s why I really love very simple applications, which make exactly what they were invented for. Plain simple applications with no “iguana swinging on the liana” in UI (that become a substitute for completely unnecessary but jazzy features in one of projects I worked on). It’s really hard to find applications, which were designed and developed just to meet a requirements list (with no fireworks at all), but to do it well.

That’s why I like 16bugs. It’s just yet another bug tracker. It’s really simple software – neither sophisticated features nor cool-but-never-used functions can be found there. Just very basic functionalities every bug tracker should have. The secret is that 16bugs guys focused on making simple things simple.

Hey, bug tracking software? Nothing new here. Everything has been invited already. Where’s their differentiator then? Simplicity + usability. They don’t pretend it’s a full-blown workflow system. They don’t pretend it would suit well for a big project. They don’t pretend they have hi-tech bug tracking system covering a million of features.

Instead, they made their interface (almost) as intuitive as possible. They optimized use-cases for a small project with only few people engaged. They thought how new users would work with their software and tried to help them. They developed only basic features, but tried to do it well. They remembered that their users would outgrow the service, so they gave (apart from paid upgrades) possibility to go out (export of bug database to an xml file). They just know their place.

16bugs is not trying to be another cool application. It’s just trying to be another useful application. It isn’t polished. To be honest its user interface looks a bit crappy. Functionality is limited. So what? 16bugs is intuitive, has adequate range of features and is quite easy to implement (because no implementation needed). It’s a good example what kind of application you should look for if you don’t have sophisticated requirements and you don’t want to waste much time to implement some non-core systems.

Restrain temptation to be cool and make just plain old good work instead. Don’t complicate. Make simple thing simple. It pays off.

0 comments: