NetBeans chat window tweaking... and thinking afterwards
By Petr Dvorak on May 23, 2009
If there is not enough time to implement a feature, the main focus is put on the functionality, not on the UI. Logical but sometimes sad reasoning. And this was exactly the case with the IM feature in the NetBeans IDE.
As Kenai.com introduced the IM feature just before the NetBeans code freeze, we had very little time for testing it and also for making the chat window look nice - we needed it functional (achieved - thanks to great work of Honza Becicka), not sexy.
However, I was not willing to accept this trade-off. I believe that if you want people to use some new feature, it must be attractive, or at least attractive enough. So I decided to contribute in the NetBeans ("kenai.collab" module) and I tweaked the chat window a bit. Last changes were made literally in the last-second, on the day of the "code freeze"...
I made mainly following changes:
- Added background colors to the messages ("pseudo-unique" for every user)
- Messages from one user are grouped if there is less than 2 minutes between them
- Added smileys
- URL recognition
See the "before-after" picture:
Thanks to the guys from the NetCat 6.7
It is worth to say that the feature was tested by some members of the NetCat 6.7 team and it was perceived as "cool". We have received a great feedback and gathered a lot of valuable information. Many clever suggestions were made too.
Luckily, there were almost no issues found and if some, they were either resolved or not too serious (issues that were found are already reported and they will be dealt with).
There was a thing that I liked about the IM testing with the NetCat guys. I was fixing some chat issues "on-the-fly", immediately as they were reported in the chat itself. I received a comment, I looked up the wrong code, pasted it in the chat window so that the problem's cause is exhibited to the public audience, NetCat member said "Oh, I see! :-)" and I fixed the code... This can make development very efficient!
Now just a little thinking... Maybe this might be a new way how the NetBeans development could be handled. Every NetBeans component would be a project on Kenai.com (or maybe on a private deployment of the same system?) and thus we would have everything we already have plus every component would have a chatroom where issues could be discussed and immediately resolved with the developer of the component.
How do you like this idea?