The public release of the IBuySpy Workshop (see Figure 1-4) created such a surge in forum activity that it was all I could do to keep up with the feedback; especially because this all occurred during the Christmas holidays. I had a family vacation booked for the first two weeks of January, and I left for Mexico on January 2, 2003 (one week after the initial IBuySpy Workshop release). At the time, the timing of this family vacation seemed poor as the groundswell of interest in the IBuySpy Workshop seemed like it could really use my dedicated focus. However, in hindsight the timing could not have been better, because it proved that the community could support itself — a critical element in any open source project. When I returned home from vacation, I was amazed at the massive response the release achieved. The IBuySpy Portal Forum became dominated with posts about the IBuySpy Workshop and my Inbox was full of messages thanking me for my efforts and requesting me to provide support and enhancements. This certainly validated my decision to release the application as an open source project but also emphasized the fact that I had started a locomotive down the tracks and it was going to take some significant engineering to keep it on the rails.
Over the next few months, I frantically attempted to incorporate all community suggestions into the application while at the same time keep up with the plethora of community support questions. Because I was working a day job that prevented effort on the open source project, most of my evenings were consumed with work on the IBuySpy Workshop, which definitely caused some strain on my marriage and family life. Four hours of sleep per night is not conducive to a healthy lifestyle but, like I said, the train was rolling and I had a feeling the project was destined for bigger things.
Supporting a user base through upgrades is fundamental in any software product. This is especially true in open source projects where the application can evolve quickly based on community feedback and technical advancements. The popular open source expression is that "no user should be left on an evolutionary dead-end." As luck would have it, I had designed a reliable upgrade mechanism in the original sports management application that I included in the IBuySpy Workshop code base. This feature enabled users of the application to easily migrate from one release version to the next — a critical factor in keeping the community engaged and committed to the evolution of the product.
In February 2003, the IBuySpy Portal Forum had become so congested with IBuySpy Workshop threads that it started to become difficult for the two communities to co-exist peacefully. At this point, I sent an e-mail to the anonymous alias posted at the bottom of the forums page on the www.asp.net site with a request to create a dedicated forum for the IBuySpy Workshop. Because the product functionality and source code of the two applications diverged so significantly, my intent was to try and keep the forum posts for the two applications separated, providing both communities the means to support their membership. I certainly did not have high hopes that my e-mail request was even going to be read — let alone granted. But to my surprise, I received a positive response from none other than Rob Howard (an ASP.NET icon), which proved to be a great introduction to a long-term partnership with Microsoft. Rob created the forum and even went a step further and added a link to the Source Download page of the www.asp.net site, an event that would ultimately drive a huge amount of traffic to the emerging IBuySpy Workshop community.
There are a number of reasons why the IBuySpy Workshop became so immediately popular when it was released in early 2003. The obvious reason is because the base application contained a huge number of enhancements over the IBuySpy Portal application, and people could immediately leverage them to build more powerful web sites. From a community perspective, the open source project provided a central management authority that was dedicated to the ongoing growth and support of the application framework, a factor that was definitely lacking in the original IBuySpy Portal community. This concept of open source on the Microsoft platform attracted many developers; some with pure philosophical intentions, and others who viewed the application as a vehicle to further their own revenue-generating interests. Yet another factor, which I think is often overlooked, relates to the programming language on which the project was based. With the release of the .NET Framework 1.0, Microsoft spent a lot of energy promoting the benefits of the new C# programming language. The C# language was intended to provide a migration path for C++ developers as well as a means to entice Java developers working on other platforms to switch. This left the Visual Basic and ASP 3.0 developer communities feeling neglected and somewhat unappreciated. The IBuySpy Workshop, with its core framework in VB.NET, provided an essential community ecosystem where legacy VB developers could interact, learn, and share.