Possibilities - Letter From Phil 3/93

Contact:   eSoft, Inc. (Makers of TBBS)
           15200 E. Girard Ave., Suite 3000
           Aurora, CO  80014
           (303) 699-6565      Voice
           (303) 699-6872      Fax
           (303) 699-8222      BBS
           support@esoft.com   E-Mail

LETTER FROM PHIL 3/93
---------------------

*** From March 1993 Possibilities Newsletter ***
*** Copyright 1993 by eSoft, Inc.  All Rights Reserved ***

Letter from Phil
by Phil Becker

Whew!  It's been a very busy time here at eSoft the past few months.  Since 
November we have released a new version of our TDBS data base system, the QSO 
interface for QWK off-line readers, TIMS 1.1 (the most amazing multiline 
FidoNet mailer program anywhere) and we are near the release of InterChange 
(you can read about it on Page 7).  When I take a few minutes to reflect on
what TBBS has become in the twelve years since I first started to write it, I 
understand why I'm feeling a bit overwhelmed by it all at times. 

I just finished painting my office at home (I know ... why am I wasting time 
painting when I should be writing code).  In the process I had to move the 
many shelves of listings of every version of TBBS that has been released.  As 
I moved them I noticed that the listings for TBBS 1.1 and all of its support 
utility programs are contained in only one three-inch binder.  The listings 
for TBBS 1.2 take two three-inch binders, while version 1.3 took three 
binders, etc.  This is the size I still sort of think TBBS is unless I stop 
and check it out.  But the truth is really quite different.  Today it takes 
nine of those same three-inch binders to hold just the TBBS 2.2 listings, 
while CEDIT, MEDIT, SDL, ULEDIT, and all the other support programs take 
another eleven.  So the code that is addressing the same perceived functions 
that fit in that original single binder now occupy twenty of the same size 
binders. 

But along with TBBS itself getting more power, there are the option modules.  
The TDBS option module source code occupies another twelve binders, TIMS 1.1 
occupies another three, QSO and SYSOM are currently only three binders 
combined.  So what began as a single three-inch binder (with about 200,000 
lines of code) has become nearly 40 of the same size binders and several 
million lines of code! 

This realization caused me to think about our tech support efforts here at 
eSoft.  My goal is always to have every TBBS installation run forever and 
never have a problem that is caused by a software bug.  But the reality is 
that if I achieve a 0.001% failure rate there will still be over 800 bugs in 
this much code. 

Since I was this far into "counting things",  I decided to see how well we've 
really done -- both originally (i.e. releasing bug free code) and also in 
repairing those problems you find.  All of the current eSoft products have 
been released within the last 15 months.  In that time we have repaired 
(according to the MODFIXES file we release with UPDATE.BIN fixes) 187 
problems.  If I assume there are another 50 or so problems that either haven't 
been encountered by anyone yet, or which we haven't figured out how to fix 
yet, then that is 237 problems out of all that code.  That is a release 
reliability rate of 99.9997% (meaning that there are fewer than 3 errors per 1 
million lines of released eSoft code). 

But even one error can be devastating if it affects your TBBS installation.  
So the equally important in the reliability equation is "how fast is a problem 
fixed, once it is found?"  As I write this there have been 283 working days 
since the release of the oldest of the current eSoft products.  In that time 
187 problems have been identified, had fixes developed and tested for them, 
and those fixes have been released to you in the form of the current 
UPDATE.BIN file.  That represents one problem fix released every 1.5 working 
days, sustained over a period of more than a year! (You can see that fixing 
problems in product as large as TBBS is a full time job -- even when it is 
released with 99.9997% reliability)! 

Our UPDATE method of releasing fixes also means you get the fixes rapidly, at 
the lowest cost.  With most companies there would have been several 2.2a, 
2.2b, etc. releases (probably only available if you complained of a problem).  
Instead you can quickly install all fixes for all eSoft software in minutes 
and know all problems we have fixed, you have fixed. 

The rapid growth in software complexity is the number one problem faced by all 
software companies today.  Nearly all recent software from nearly all sources 
is initially released loaded with bugs as a direct result.  Nothing feels 
worse than software that locks up.  When the software is used remotely, 24 
hours a day, seven days a week by many people (none of whom can just reboot 
the computer and continue) it is an intolerable frustration. 

One of the things I am proudest of with TBBS is that most of my customers can 
leave their systems unattended for weeks at a time with no fear of software 
induced crashes.  As TBBS has grown from a few hundred thousand lines of code 
to tens of millions of lines of code, it has been my primary goal to keep TBBS 
the most reliable BBS software available anywhere. 

In the past I have met this goal by being slow to release new code and 
conducting long term testing programs.  With the growing demand for new 
capability in TBBS, I can no longer afford to use this "brute force" 
reliability testing methodology because TBBS won't evolve rapidly enough to 
meet your needs if I do. 

1992 was a year of testing new methods we could use to release more code, 
faster, without sacrificing reliability.  It's had its moments, but overall it 
sure looks like we're finding faster methods that work.  Ask others if they 
can document that their code is 99.9997% error free.  I'm happy to be able to 
tell you that your TBBS is that good at release, and gets better every 1.5 
days! 

As I sit in my freshly painted office I realize that the reason I do all of 
this is because it just keeps being new all over again.  My biggest personal 
joy in life is learning new things about the world I live in.  Developing TBBS 
and watching it grow has been nearly as much of an education as raising my 
kids has been!  And watching all of you use TBBS to do things that just 
wouldn't be feasible without it is the ultimate reward for me. 

My goal now is to extend TBBS into new areas while retaining the simplicity 
and reliability that has made TBBS what it is.  At last year's ONE BBSCON I 
visited with hundreds of you and learned an incredible amount about what you 
need from TBBS to grow your applications.  Now that I've proved we can 
generate more code in a shorter period of time without losing that 
reliability, I am making plans for TBBS to respond to those needs much sooner 
than I had originally thought possible.  It will be a very interesting 1993 
for TBBS.  Thanks to all of you who use TBBS for making it possible for me 
live this dream every day... 

- END -
PS0393-1
Rev. 3/93

Copyright (C) 1994 eSoft, Inc., All Rights Reserved.  Permission granted
to distribute this file in its entirety, without modification, to any
interested party.  Any other use requires the written permission of
eSoft, Inc.

IMPORTANT:  The information herein is subject to change without notice.
Please call or write to confirm factual information of importance to you
or your organization.

