Dec 97 Viewpoint
Volume Number: 13 (1997)
Issue Number: 12
Column Tag: Viewpoint
by Eric Gundrum
A Sense of Community
One thing that separates Mac developers and users from those of other platforms is our sense of community. We tend to seek out each other and band together to discuss our ideas, opinions, and the state of the industry. Macintosh users have created a variety of groups and organizations to help accomplish this. Consider events such as MacHack and the plethora of Macintosh user groups around the world. No other computer platform has such a diverse, yet well connected community of users.
I suspect our sense of community comes from our roots as an excluded platform. Many readers will remember the early days of the Mac when the only way to get one into a business office was through the back door, under cover of darkness. Macintosh users could not call on corporate support staff for assistance or advice about new software. In fact, often Macintosh users were pretty isolated, not having any other Macintosh users around. Macintosh users quickly overcame the limitations of this isolation by locating other Macintosh users and exchanging experiences. Not much time passed before many of these loose associations became formal user groups with regular meetings, special events, newsletters and bulletin boards.
To my knowledge, few such organizations exist in the DOS and Windows communities. I've seen groups of Windows users try to get started, but they never were able to sustain themselves. Other platforms have had some success forming user groups, often with significant sponsorship from the platform vender. However, few such groups have attained the strength of community we Macintosh users take for granted. With so much changing at Apple, the value of our community seems more important than ever.
Sharing Technologies, Sharing Code
The success of the Mac is built upon many powerful and interesting technologies. In fact, these innovative technologies are often a large part of what draws programmers to the Mac, enabling them to create software that would not be practical, or even possible, in any other environment. However, with the recent popularity of the Internet, the world of computing has begun moving so fast that Apple alone cannot provide us with the technologies we need. We can benefit even more by sharing our own technologies with each other.
Rhapsody offers many new opportunities for developers to leverage each other's work. The Rhapsody development environment is designed specifically to make sharing code much easier than it has ever been. In fact, there was once a thriving market of third party libraries among NeXTSTEP developers. They understood the value of not recreating code just because "it's not invented here."
With the recent release of Rhapsody you have undoubtedly begun looking at how your software can be moved to the new platform. As you review your own legacy technologies for Rhapsody, think carefully about which of your technologies represent significant differentiation from your competition, and what is just another implementation of the same thing everyone else has to implement.
What you should find when you examine your technology is that most the value your product gives to a customer is how you have chosen to connect your various technologies together with a useful presentation to the user. That, and one or two core technologies developed from your own specific expertise are what your customers purchase. All the rest of your program is likely support code added to make your program easy to use in a Macintosh environment.
Looking at Rhapsody's toolbox, Yellow Box, you will probably find that much of the code you struggled so long to get just right on the Mac is already built into Yellow Box; things like styled text with rulers, drawing controls and such. However, there are many technological holes in Yellow Box; network protocols is a big one. Some of these holes have been filled by NeXTSTEP developers in the past. Get on-line and find them. Check out their objects and see if you might save money and release your software sooner by licensing them.
Keep in mind that the technology you license doesn't have to be a perfect fit. The dynamic-binding features of the Rhapsody runtime model allow programmers to get in and modify the behavior of existing objects, even without the original source code. You can change a third-party library to work better with your application; you can even change how the Yellow Box objects work.
If you don't find the technology you want already implemented by someone else, then you have another market opportunity: port your Mac code to Rhapsody, making it an independent library, and license it to other developers. If you don't want to be in the business of licensing objects, there will be people who will do it for you. Today, people do this in the Mac community, and if more developers take advantage of the service, more people will offer it.
Even if you don't want to license your objects to everyone who wants them, they still are a valuable asset. As you explore other Rhapsody software, you may find another developer has a technology you would like to use. Through private negotiating you may strike a deal to exchange some technologies, some objects. Both of you come out ahead, and our community gets more software, sooner.
Share your technology with the rest of the community, and they will share with you. As a result, we will build more software, faster and better than developers of any other platform, and we will do so by working together.