NewTool, an Alternative Programming Environment for Smalltalk. by Dan Walkowski, walkowsk@cs.uiuc.edu With constructive criticism from: Ralph Johnson Bill Walker Bill Voss Carl McConnell and others. What is this thing, anyway? ----- NewTool is an alternative Browser. It looks substantially different, has more of the features at the top level, and has several nice characteristics: *All NewTool windows update instantly and automatically to reflect the current state of the system, whether the change was made from a CodeTool, a debugger, or a filein. *Screen real estate is used more efficiently. Windows are tiled automatically, and instead of each window wasting 1/3 of it's area as a navigation mechanism, there is only one that controls all windows. Why did you write this thing, Dan? ----- On a recent visit to UBILAB in Zurich, I was given a demo of Sniff, a C++ browser/debugger/editor by it's original author, Walter Bischifoberger. It is extremely well done, with lots of well-thought-out features. I had been dissatisfied with the current ObjectWorks Smalltalk browser for some time, and this was the final straw. I can't claim that NewTool is even half as nice as Sniff, but I think it's better than the original Browser. Is it reliable? Can I use it for my daily programming? ----- I've used it to write itself, and I have several beta-testers who have flushed out most of the bugs. I now use it exclusively, so you can be sure that if any nasty bugs are found, I'll fix them. Also remember that this is Smalltalk we're discussing here, so if there's some feature that's missing, you can add it yourself too. The Challenge ----- I think I have made a significant improvement on the original Browser. What do you think? Every Smalltalk programmer I know has some gripes with the Browser, and yet so few do anything about them. I'm throwing down the gauntlet with NewTool. Let's have a contest of sorts. If you think NewTool isn't quite right, or isn't even close to your ideal browser, then fix it! Let's combine all of our best ideas and develop the best programming tools around. Then we all win. My own wish list ----- If you use NewTool a bit, what you'll realize is that I tried to reduce the six or so different Browsers in the original image down to only one CodeTool with lots of features. This saves screen real estate, and as long as I don't try to cram too much into one window, I think it's faster and easier to use too. There's one Browser I didn't get a chance to eliminate: the MethodListBrowser. What I'd like to do (maybe someone else can pick up where I left off?) is create one general 'Subset' Navigator, which shows some subset of the classes and methods in the image. This window could then be used for senders, implementors, class finds, etc. It would also have to have a history button and a navigate button, and would have to update dynamically as the system changes. Epilogue ----- Please feel free to contact me, at the above email address, if you're interested in discussing NewTool or tools in general.