Macworld San Francisco 1999
Volume Number: 15 (1999)
Issue Number: 3
Column Tag: Conference Report
Macworld San Francisco, 1999
by Michael Rutman, VPN Guru
Expo Developer Tools Roundup
The entire computer industry depends on developer tools. Without developer tools, there's no software, and without software, it doesn't matter as much what color your iMac is :-). The tools market is also a reliable indicator of where the industry is headed. When interest in developer tools is high, more programmers and developers are trying to build the next great application. Some will succeed, some won't, but it's a safe bet that there will be more software available down the line than when interest in developer tools is lower. So, while most people at MACWORLD San Francisco were focused on Apple's new candy-colored computers, I took a lot of notes about what's new in developer tools. Read on for the details.
Best New Tool
DCon is a logging utility that every developer should take a look at. Logging utilities don't sound exciting, but DCon might just be the exception. Normally, when a programmer is tracking down a bug, he has to drop into the debugger and trace through his code, checking variables as he goes. If the bug is sporadic, this can be simply painful. On other platforms, programmers can printf() to the command line, and finally on the Macintosh, so can we. Macintosh programming includes development at interrupt time, and writing extensions that need logging before a window can be brought up, but DCon works in those situations - it's thread safe and interrupt safe.
Installing DCon is trivial; just drag an extension into your system folder. To use DCon in your application, make sure the library to your project, add the DCon.h header, and use the calls dopen and dprintf for logging. Adding DCon to one of my active projects took less than 5 minutes. <http://www.cache-computing.com>.
The Compilers
Metrowerks introduced CodeWarrior Professional for Java and CodeWarrior Academic for Java, products that became generally available from Metrowerks and its resellers shortly after Macworld. The products are Java-only versions of Metrowerks' CodeWarrior integrated development tools that support development for C, C++, Java and Pascal. Metrowerks announced that the academic version of the Macintosh-hosted Java tools will be included on the Apple Developer Connection (ADC) Student Program CD. Students visiting Metrowerks' booth were excited about the availability of an academic version of CodeWarrior for Java. Later this spring a new release of these tools will include easy-to-use rapid application development (RAD) tools for building graphical user interfaces. The RAD tools will include drag-and-drop editing, live component configuration, and source code generation.
Many new programmers rallied around the demo of me Metrowerks CodeWarrior Discover Programming for the Macintosh, a product for those who have little or even no programming experience. CodeWarrior Discover Programming contains the same Integrated Development Environment (IDE) found in CodeWarrior Professional, and includes online books, online tutorials, and megabytes of sample code to help get you started. <http://www.Metrowerks.com>.
REAL Software demonstrated the current release of REALbasic as well as previewing an upcoming version 2 release (scheduled for March). While version 2 contains a long list of enhancements, the two most important features (both of which were demonstrated at The Macworld Expo) are the Windows compiler and database connectivity. You'll soon be able to create a Windows executable version of your REALbasic app by doing nothing more than selecting Windows as the target at compile time. REAL Software also demonstrated the database features of version 2 which include a single-user, relational database engine and and connectivity to other database engines such as Oracle, 4th Dimension and any ODBC compliant database engines. <http://www.realsoftware.com>.
More New Tools
Uni Software Plus debuted their new VOODOO server. Uni is the manufacturer of the standalone VOODOO version control system and they've leveraged off of that product to create an easy to use client-server architecture for large development projects. The VOODOO Server uses VOODOO clients (including a CodeWarrior VCS plug-in) to offer reliable and robust version control functionality without a lot of the bureaucratic overhead that usually accompanies version control. Using a server should make for more stable databases, and better performance with multiple users. <http://www.unisoft.co.at>.
Whether you're a one man team or part of huge development group, bug tracking software is essential to a long term project. I've been using a Seapine's TestTrack for over a year, but after playing around with BugLink 1.1 at the show, I bought a copy of BugLink. Normally, once I settle into a program, I don't change systems easily. But, despite being happy with TestTrack, I feel that the effort of learning a new system is well worth the advantages BugLink offers. Some of the features in BugLink make me think that there is a full database behind it. Bug report lists are done as queries, and they are easy to set up. The tracking software is very fast, and completely non-modal. That means, you can have two windows up at once, so you can compare bugs. I was also pleased to see I could have multiple lists of bugs with different criteria, and have bugs matching different criteria in each window. BugLink, as well as being multi-platform, gives the user the feel of a good, quality Macintosh product. <http://www.pandawave.com>.
Resorcerer 2.2 has been out for a while, but not everybody has upgraded. You can download a free upgrade for the 2.0 product, and it's worth getting for the Appearance Manager support alone. Resorcerer, of course, is the commercial alternative to Apple's free resource editor ResEdit. Recently, ResEdit has fallen behind on Apple's technologies, and today, there are resources that can only be edited with Resorcerer. This is making it a must have product (even if the high price does put it out of range of students and hobbyists). <http://www.mathemaesthetics.com>.
Another tool I find indispensable is the code editor BBEdit (by Bare Bones Software). BBEdit, for years, has been the only reasonable way to search and compare files on the Macintosh. A year ago, Metrowerks was an acceptable editor, but BBEdit was required to do anything beyond one file at a time. Today, even though the Metrowerks' IDE has seen a lot of advanced, BBEdit is still one of the best tools for editing code. <http://www.barebones.com>.
Networking Tools
More and more, Macintosh developers need ways to connect to other computers. In addition to networking Macintoshes together, developers need to access other platforms. Fortunately, there are new tools for both these needs.
For developers of networking tools, the must have product is AG Group's EtherPeek. The price is out of range for all but the serious network developer. EtherPeek snoops network traffic, which means it grabs every packet on the network and displays them. Filtering incoming packets is easy, though I would like the ability to filter packets already received. In addition to basic snooping, EtherPeek has decoders for standard packet types, and adding decoders is easy. EtherPeek also lets developers send packets. <http://www.aggroup.com>.
There are three solutions for communicating between Macintoshes and Windows machines. DAVE allows Macintoshes to mount any Windows volume <http://www.thursby.com>. COPSTalk lets Windows machines mount any AppleShare for FileShare volumes <http://www.copstalk.com>. NetWare lets Macintoshes mount IPX volumes. <http://www.prosoft.com>. Each of these products has been revved for The Macworld Expo, so if you need this kind of connectivity, please check out their web sites.
For connecting to the Internet, Sustainable Softworks http://www.sustworks.com has an Internet router running on a Macintosh that is quite impressive. While there are other routers that run on the Macintosh, IPNetRouter is amazing in how far they have gone. One of the drawbacks to the growth of the Internet is stinginess with IP numbers. Many ISP's now charge for anyone using more than one IP address. With IPNetRouter, you can have multiple machines masquerading as the one running the router software. I have seen other solutions, and this one seems the most complete to me. In addition, there is IPNetMonitor which has a lot of diagnosis tools for the Internet.
Tools for the Rest of Us
Not everyone wants to program in C or Java. Many projects are better suited for other environments, and there were a few at the show. The three that caught my eye were 4D, ReportMill, and AgentSheets.
4D is an established product, but one I haven't explored before. This year, I sat down and ACI US showed me just how useful and productive 4D V6 is. 4D V6 is a rapid application development (RAD) tool and also a relational database management system (RDBMS). Products such as FileMaker are useful for some purposes, but to get real power, you need a true RDBMS environment and development suite. Unfortunately, most relational database products are mind-numbingly complex - 4D V6 shows that there is no need for complexity.
ReportMill is a WebObjects program for creating dynamic reports on the web. ReportMill leverages off of WebObjects to create pdf files on the fly. An example they were showing involved a user selecting topics from a catalog, then receiving a catalog custom-made for their use. Unlike other similar solutions, this catalog is a pdf file. HTML formatted results are nice, but pdf's give a whole new level of control over what the output looks like, and how it prints. Nothing is worse than a page looking great on one browser, but not another. <http://www.reportmill.com>.
AgentSheets is a nice modeling environment, but I believe it is much more powerful than they are advertising it to be. Basically, every element on the screen is a programmable agent. One of the examples demonstrated was a small city with roads, cars, stoplights, and a train. Each element on the screen has a simple program for movement. The language used is graphical, and easy to understand. Furthermore, once everything is done, it can be converted to a Java applet and uploaded to a web site. Not only does it provide a good learning environment for new coders, its power makes this a useful tool for professionals with the need for model. <http://www.agentsheets.com>.
As every developer knows, sometimes we crash, sometimes we crash a lot. And, as every developer realizes, crashing does bad things to a Macintosh. There are all kinds of repair utilities, but I've only seen one that seems to check everything, and that's TechTool Pro 2. TechTools does things right. They ship on a bootable disk, which should not even be worth mentioning, but too many disks I would expect to be bootable are not. TechTools has 3 modes, simple, standard, and expert. The simple mode is simple enough, just select a volume, and click "Check". It will then run through a comprehensive test. The Expert mode is very nice, and easy to navigate. There are a LOT of tests, but the manual is very well written and gives extra information for the curious. Normally, I feel that if I need a manual, the software is poorly written, but this is not the case here. The product is easy to use without the manual, but the manual is an enjoyable read while your computer is being fixed. Fortunately for me, but unfortunately for the review, none of my disks needed fixing, so I can't vouch for how well it fixes things, but as TechTools has been around for a while, I am confident that it is a quality product. The other tests, such as hardware, connection, and system tests, were simple to run, and the results were quite interesting. There are 31 categories of tests, making this the most complete solution I've seen so far.
Another new release was AppMaker 11. AppMaker is a framework and tool for rapid development. It's a mature environment, and constant updating, has made this a good place to start any new projects. The latest release includes better support for the Appearance Manager, CodeWarrior, and more flexible panels lists. Bowers Development previewed a tool for importing PowerPlant objects into MFC. For anyone who has ever tried this manually, this is a major bonus. <http://members.aol.com/bowersdev/>.
There are two major installers for the Macintosh, MindVision's VISE, and Aladdin's InstallerMaker. For years, InstallerMaker has leveraged off Alladin's StuffIt engine to be the dominant installer for Macintosh applications. Aladdin did not have a new release for this Macworld, but expects to have a new version out sometime in March or April. <http://www.aladdinsys.com>.
The new release of MindVision's VISE now features web support, including the ability to update over the Internet only downloading the parts needed. Another new feature I like is the updated configuration tools. VISE has added more functionality to their already existing packages (subprojects inside of a main installation package) making it more powerful and flexible. <http://www.mindvision.com>.
But Wait, Isn't There More?
These are the products I saw at the show. Macworld is a huge show and there were certainly some tools I missed, but I hope this gives you an idea of what's new tools are now (or soon to be) available for the Macintosh developer. See you at the next show!
Michael Rutman now works at Network TeleSystems as a Macintosh Developer. In the past, he has been an independent contractor working on a variety of projects, and chairman of MacHack. To contact Michael Rutman send mail to moose@manicmoose.com.