![]() |
|
From: M Reed Brooks
Date: August 3, 2000 Re: ShadowIRC open sourced To The Macintosh Community: I am writing this statement in hopes of passing on the 'philosophy' of ShadowIRC to people who wish to code more, now that Mr. Bafford has open-sourced it. I have known John Bafford, who uses the IRC nickname DShadow on IRC, for many years. Both John and I are channel operators in an IRC channel devoted to the Macintosh. While still a high school student, John performed the amazing feat, to me at least, of coding a Macintosh-based IRC robot, mainly in answer to the bragging of Mac-haters on IRC that Macs did not even have a bot program. John is that kind of person. While most of us sit around and gripe and dream, he goes out and does it! A few years later, when John was in college, after one of the many discussions about the various IRC clients we had been having in the IRC channel, John announced that he intended to write a Macintosh based IRC client. I knew even before he began that ShadowIRC was going to become a great IRC client. One of the main complaints about ircle, the primary Macintosh IRC client then and now, was that it was getting too large, and that it was slow. Of course, many of us, myself included, like the fact that ircle has many windows and buttons (I call them bells and whistles). But many people felt that it would be great to have a new sleek, fast, very basic IRC client. At this point I would like to mention that I have had the honor of knowing the authors of all three major macintosh IRC clients, and have had the honor of being asked to look at early versions of all three clients in various stages of their development. I have always tried to give my honest opinions when asked to do this, and have always strongly encouraged them in their work. I consider all three authors my friends, and consider myself honored by these friendships. Within weeks John had his first beta circulating among the regulars of our IRC channel. From the very beginning, it already had the hallmark 'look' and 'feel' that has remained with ShadowIRC throughout its development. John had very specfic ideas about how he wanted ShadowIRC to be from the very beginning. First, he wanted to keep the client free of "bells and whistles." The ShadowIRC client was going to be a 'backbone." His intention was to create a very fast, compact client that could be added onto via plug-in modules. In this way, people could add on whatever they wished, thereby maximizing the overall speed and minimizing the overall size. With these ideas in mind, he decided that the plug-ins would be coded in C rather than a scripting language. This would keep plug-ins from overwhelming the client itself with their size and slowness. I, for one, did not like this, as I have never bothered to learn to code C. Also, it meant that plug-in development would be reduced to owners of C compilers. It was my fear that by reducing the field of possible authors so much, the development of ShadowIRC would be greatly slowed. At the same time, I completely understood his insistance on this subject. Eventually, as John added certain minimal features into the client itself, such as simple hotkey command coding, I came to be drawn to ShadowIRC more and more. It has always been my personal opinion that the Macintosh community benefits from diversity. A few years after John began ShadowIRC, a third active client appeared: Snak. Now Mac users have three main choices in IRC clients, and I find this to be excellent. Each client has its pluses and its minuses, but to me the important thing is that the Macintosh Community has choice! That is the important thing. I do not judge one 'better' than the other, just different. Up until now, Mac coders have had no currently active IRC client code to work with, learn from, and add to. Now they do! By doing this, Mr. John Bafford is not only doing a service to Macintosh users throughout the world, he is giving young aspiring coders a look at a robust piece of code to look at and learn from. It is my hope that the coding community will attempt to remain true to the guiding principles John Bafford has laid down, namely speed and smallness, as they write code for future ShadowIRCs. I strongly urge coders to not only improve ShadowIRC itself, but to write plug-ins in C that work seamlessly and quickly with ShadowIRC to do all sorts of amazing things. I can think of several possible projects for coders, but will only mention two. I have to laugh about this first suggestion, as it is something I have bugged John about for years, and I am hoping he will laugh when he sees me suggesting it (Don't shoot me John!). He has always nixed the idea due to the sheer size of the undertaking (remember, he was a college student and lacked time), plus the fact that scripting languages are inherently slow. But now that its open source, I am going to plug it one more time, since he asked me to help him with this press release. First off, I am not a coder, so I really have no idea how it would be done, but here it is. Someone with a LOT of time and energy could make it possible for ShadowIRC to use AppleScripted routines, as ircle does. Applescript has significantly increased in speed since the birth of ShadowIRC. The second suggestion is to have a telnet client plug-in, that gives the user a ShadowIRC window that is actually a telnet session. If it could handle SSH, that would be even better! Oh heck, as I mentioned earlier, I like bells and whistles. How about a plug-in for sound events? How about a plug-in that give you all sorts of windows and bells and whistles for file transferring? How about a plug-in that will let two ShadowIRC clients do a audio and video DCC session? Heck, how about video conferencing? See, that is just it. With the source available, you coders can create just about anything that uses a net connection. The possibilities are endless. If you create a strong, compact, and fast backbone ShadowIRC client, you can hang anything you want onto it! So get to coding, everybody! I volunteer to test the new stuff. That is my first love, new toys! I am also certain that many of the users on the #macintosh channel on the Undernet would love to help any developers test out new versions of the client and any new plug-ins. In closing, I would like to thank John Bafford for his unselfish attitude, his willingness to spend time with others, helping them to learn, and for his friendship. If the Macintosh community had just one hundred John Baffords, the landscape of Macintosh coding would be a very different place. It is my hope that this unselfish act by John will bring some more new bright stars of Macintosh coding to prominence in the near future. Sincerely, M Reed Brooks
|
|
Send comments and questions to webmaster@shadowirc.com. |
|