A brief history and philosophy of NBFHow it all startedThe history of NBF dates back to somewhere around 1994. At that time a really state-of-the-art PC was something like 486DX33/8M/210M. Visual Basic 3 was just introduced. Most active packet users in Finland were using T4. Those who were fascinated by the point'n'click spell and who didn't need the benefits of multiple channels and the list system were using Winpack. NBF, or wa8ded.exe as it was called then, was an experimental program written with VB3 for just trying out the wa8ded hostmode. It worked fine, except that basic wasted too much precious CPU power to keep up with multiple channels, even if some critical parts were written in pure C. Trying to get around the limitations of the programming language itself, plus the 64k limit, soon became frustrating for a professional programmer used to work with C and similar languages. However, at that time VB3 was the only practical way to get a program with a lot of user interface stuff running with reasonable effort. The experiment had succeeded, but future was uncertain. VB had been pushed to it's limits, getting the GUI run with pure C was out of question and Winpack was getting increasingly popular. There was no sense to just write a similar program. A new beginningDelphi 1, introduced a couple of years later, seemed like a good way to get out of the deadlock. Making a user interface was just as easy as in VB, but basic had changed to a "real language". Object pascal set strict limits on the structure of the program, so it was completely rethought. At this point, everything had to be rewritten, of course. The strict scope limits made the program totally modular, which has come handy many times later, for example when implementing the FlexNet interface. Pascal also made interfacing to C language routines, such as Windows API and compression libraries, much easier. There had been no new versions of T4 for many years. It still had some bugs which popped up every now and then. Also running a dos program under Win95 was a bit irritating as it didn't work properly in the background and slowed the computer down. Still it was practically the only alternative. No other similar program existed and message handling in Winpack had not changed much being still just too primitive. In the beginning of 1998 Reinhold got hands on Delphi 3. The existing pascal code was quickly transferred to the new environment and the development continued with increased motivation. It had gone so far already that the goal finally became to write a real replacement for T4 with more features and less bugs. The first beta version to really replace T4 appeared in summer 1998. In the next few months the program was developing more rapidly than ever. There was a new version at least weekly, often every evening. In January 1999 the Finnish documentation was finally ready and the program was made available to the public. As you can see in the history file, a lot has happened since then, the English translation being the most important for hams outside Finland. Some thoughtsBut what kind of a program was it ment to become? Naturally it should have all the same features as T4. It should be a practical program, for everyday use. And easy to install, with no confusing and meaningless settings. Everything that could be done automatically should be. It should also avoid the most common "Windows bombs" whenever possible: It should not require an installation program which is larger than the program itself, makes changes to Windows registry, writes files to the system directory without prompting the user and so on. A separate database engine for the list system was discarded because it would have done installation much more difficult and it took up a lot of machine resources. It should become a compact program too, small enough to make sending updates on packet possible. And it should run as fast as possible on a normal computer. Reinhold was using just a 133MHz 486 when the 32-bit version was started so this came true without any dedicated effort. The ease of use was important. T4 had shown that mouse was completely unnecessary for a packet program. It is a fact that most people have ten fingers, but the mouse cursor can only point to one position at a time. Keeping the list cursor in the middle of the window is an important part of the ergonomy because the list is used perhaps more than any other part of the program. It's based on the fact that just reacting to a new view takes a couple of seconds. If the cursor was in the bottom of the list as in normal windows applications, it would already be several positions past the interesting message by the time the user had reacted end released the arrow key. An unproportional amount of work was done to make it work well, but it really seems to do just the way it was ment to be, totally eliminating useless scrolling back and forth. EpilogueWe have done our best to think all the new features through and fine tune them for maximum convenience, just like the list. This method consists of Reinhold (OH1NBF) doing the hard work, Jarkko (OH1KZN) bringing in the user perspective, hundreds of hours of discussions on 2 meters and nearly two thousand packet messages back and forth. The side product: close to hundred beta versions so far, each carefully tested. Looking back, it seems to have worked very well. As this is a totally uncommercial effort to create a piece of software to ease the everyday life of as many packet users as possible, any feedback will be greatly appreciated. If you like this program, please give it to your friends too. oh1kzn@sral.fi |