Listening to Developers - Why Does it Matter so Much?
By Roman Strobl on VIII 26, 2006
Ever since I started to work on larger software projects I realized that one of the most important elements of success of any software project is listening to its users. When companies don't listen to users they end up creating software which nobody cares about (even though their software might be brilliant).
I know quite a few developers - and I'm sure you know them too - who consider themselves as great developers. They think they are creating amazing software, but unfortunately it's amazing only in their little world. Making software which is comfortable to use and provides appealing features for masses is really hard, because most of the time you are building software for a different person than you are.
Sadly, the most brilliant people have often ackward ideas about good UIs. One example: I know a guy who is an amazing developer, but he decided that the web application for management of customer data must contain an SQL interface. So that the customer can do SQL queries directly from the webpage! What a poweful idea! Really great except that users of this web application don't know SQL and really don't want to learn it (they are happy they could learn to operate the keyboard and the mouse).
You might find that example amusing, but I see things like that happening all the time (even here at Sun). At NetBeans our situation is a bit easier, because we are creating software for developers. So there's a probability that what we like ourselves might be likeable by other developers, but not all the time. There are so many different types of developers - some prefer command line-like approach, some prefer visual development and some even like Visual Basic (I am not sure if these can still be called developers though :).
So even if your audience are developers you have a hard job deciding how should the software look like and which features should it contain. Instead of predicting what your users might like, the best thing to do is to ask. But to really get an idea of what users want you need to talk to many many of them.
Where am I heading with this? I strongly believe that the main reason of success of NetBeans and significant growth of developer community in past 2 years are conversations. NetBeans developers daily read and respond to many e-mail threads, communicate via blogs, various forums, talk with developers live at developer events, etc. Thanks to this we develop features people from our community actually care about and thus are happy to use the software (I remember a recent thread where a developer wrote he feels like NetBeans was \*his own\* software, although he never contributed code to it).
So listening to users really matters, but in my opinion Sun hasn't always been listening enough to the developers. It has changed a lot in past few years. Take the dialog around opensourcing of java as one example, opensolaris and glassfish as other examples. You can join our communities and see how the discussions look like.
One of the things I never really undestood (and I have to explain to our customers) is why does Sun provide three Java IDE's - NetBeans, Java Studio Creator and Java Studio Enterprise. It made good sense when the other two IDE's costed money, but nowadays all of them are available for free.
A lot of our users told us that they want to use features from Creator or Java Studio Enterprise in NetBeans. And we listened - right now you have packs available for NetBeans - Mobility Pack, Enterprise Pack, C/C++ Pack. The last piece is still missing and that's the functionality from Java Studio Creator. Those who read my blog or listen to the podcast know that this is under way (although getting it in there is very hard and the first release of the pack will be far from complete):
P.S. And yes, we hear you when you tell us we have some work in the editing productivity area... more news on this particular topic later.