I have used the CB IDE for a little while now and would like to share my thoughts on it from the user's perspective. I am not sure if you are interested in users' feedback. If not, please discard my message.
Note also that I am not a GUI/graphics guy. I am more of a Vim+Makefile+Grep kinda guy (a dinosaur by today's standards). Since you guys are experts in GUIs and graphics I apologize in advance if my views are incorrect from the perspective of the modern GUI design. Before going forward, I would also like to emphasize that I appreciate the great work you've done (and still doing) on the IDE. And my comments are not intended to be viewed as criticism but rather suggestions for you to consider and possibly throw away if they do not make sense.
What has attracted me most to your IDE:(1) Visual debugger.
(2) Nice and familiar layout and menus. I have worked with VC++ before and your IDE looked 50% familiar the moment I started it up. This is a very attractive trait from the user's perspective to feel familiar with the tool the first time they see it. I am not sure if that was the intent but it is great.
(3) Makefile handling. This is very important to me not to be locked into the IDE's internal files.
Some other features that I am definitely interested:(4) The ability to run CB from the command line. This is needed for overnight regression tests.
(5) Generation of makefiles from CB's project files. My understanding is that this feature is not available at the moment. There may be lots of reasons why you would not want to enable it. I will not go into the discussion of pros and cons. However, from my perspective it would be a strong feature even if the output makefiles are not fully compatible with every single Linux distro.
(6) The IDE does not allow to open 2 different files side by side, please see the screenshot attached at the bottom of this message. Notice that on a 16:9 widescreen monitor 1/2 of the space is dead space. The dead space can nicely fit another 80-character file. It is often convenient to have the class header and the implementation file open side by side and modified at the same time. Since IDE does not support it I will use another test editor but it is a bit strange to use IDE that way. Another possible use for the side by side view is running a diff on different versions of the same file.
(7) Bookmarks work only on the same file. The problem is that you often need to jump from a function call to its definition located in a different file. In the current implementation bookmarks do not allow this.
General thoughts:(8 ) Feature creep. At first, I had installed and worked the latest CB version 8.02 that comes with Ubuntu Lucid. Now I installed the latest CB version 10.05 and noticed the new menu items for Doxygen and Valgrind. While these tools are useful, wouldn't it be more intuitive to put them in Tools menu (which is now nearly empty)? Please, see the red ellipses highlighting the top menu items in the screenshot. The same idea applies to wxSmith item. I am afraid as you go along adding new features and integrating new tools (e.g. a version control system) the CB environment will bloat into something resembling the heavy-weight KDevelop IDE. Not only will it require substantial maintenance effort from your team, the IDE will be dependent on quirks of multiple external tools, will age as those tools age, and porting to new Linux versions will get slower and slower. I am not sure how to address this problem but I would not want to use bloated IDEs like KDevelop and Eclipse. Is it possible to create some sort of a common interface to various command line tools (gprof, valgrind, doxygen, cvs/svn/git, diff, etc) to make sure that they are easy to UNplug when they are not needed?
Thanks!