PureBytes Links
Trading Reference Links
|
I have been trying to stay out of these discussions as they always seems to
end up with "Omega bashing" and "flaming" for those who contribute, but the
recent posts caused me to bumble into the fray. This is a long "opinion
piece" which has nothing to do with trading so if this topic doesn't
interest you, please delete this message now. If you would like some
insight into the process and problems of developing commercial software,
read on.
I was formerly a VP of engineering of a very large software company so I do
understand a little about this business and I can honestly say that in my
opinion, what Omega is providing is a very good product for the money. We
get spoiled by the likes of Microsoft Excel and Word and tend to expect
flawless products and support. This may be economically possible when you
are selling millions of copies of a product, but it is out of the question
for a complex product where you sell only a few thousand copies.
In addition, TradeStation is probably the most difficult kind of product to
sell and support because IT IS PROGRAMMABLE BY THE USER. This creates all
kinds of difficulties. First, the product essentially does nothing unless
you have indicators and systems to use it's capabilities. Sure, some come
with the product, but to really get the benefits, you have to program
indicators and systems that meet your personal needs (or have one of the
solutions provides do it for you.) This means you have to learn the
programming language and how to use it. Omega cannot restrict its sale to
people who understand programming so, by definition, their customers have
all levels of programming skill. Naturally, when our EasyLanguage program
doesn't work, we blame Omega or TradeStation. That's human nature. Although
there are a few quirks that seem strange, almost every time I have found
what I thought was a bug in their system, it was actually a mistake in my
code.
Sure, there are lots of things about TradeStation I would change if I were
building a new one from scratch, but, in general, the design decisions
inherent in the program aren't that bad. It certainly seems a lot easier to
program than does MetaStock and it pretty much can do everything most
people want it to do. It is far easier to use and far quicker to change and
verify program modifications than any general purpose computing system such
as C++ or even Basic.
I am sure Omega would LOVE to change many attributes of the system if they
could, but, in fact, they can't. One problem with a programmable system is
that users learn to program it the way it is and learn to work around most
of its idiosyncrasies. So if Omega did change something, most of the
indicators and systems we have all written would STOP WORKING. All of our
wonderful backtested systems that make money might start losing money,
Wouldn't that be great. Talk about lawsuits! This is called the "installed
base problem". In effect, you are locked into living with your past design
decisions because making changes would break more things than it would fix.
There were discussions on the list a while back about creating a new system
from scratch. I would estimate that it is a 20 to 50 staff-year task. This
is not to write the code, that is the easy part. This includes the staff
required to prepare documentation, set up and do product testing on all the
operating environments customers use, prepare training material, and
support customers. This would cost 4 to 10 million dollars and so to break
even, you would need to sell 2000 to 5000 copies at full price. The problem
is that the market just isn't big enough to justify such an investment.
There are a limited number of people who would buy and learn to program
such a system. And, in the couple of years it would take to build such a
system, Omega and their competitors would have added all kinds of neat new
features that the new product would then have to duplicate to be
competitive AT THE TIME IT WAS RELEASED. Software has this unique attribute
that, each year it has more and more staff-years of effort added to it so
that it becomes a virtual monopoly. Compare Quicken today to the Quicken of
two or three years ago. No potential competitor can ever start from scratch
and catch up. Certainly Bill Gates understands this. Probably Bill Cruz
does also. Fortunately for us, there still are competitors in this industry
ready to enhance their products to keep the pressure on each other.
One thing that I cannot understand is how Omega can allow such an important
and influential forum of its users, (this list), to have such a negative
attitude about the company and the products, particularly, when it would
take so little effort to keep us a lot happier. My previous company helped
sponsor a users group and meetings of users. We would listen to and work on
the top 10 or 20 features that the users, as a group, requested and agreed
upon. Our management would stand up before the meetings and listen to
customer's gripes and suggestions and at least tell the customers why we
couldn't do things they wanted us to do. We found that if our customers
understood the realities of our business, they became allies and helped in
the overall effort.
In this new electronic era, I would think that all it would take is for
Omega to assign someone with authority to read all the messages on this
list and respond officially to the various issues that get raised. Most of
the discussion seems to arise because we, the users never hear anything
from the management of the company. Sure, the competitors would read it too
but the benefits would far outweigh the disadvantages. Surely we all would
like some official word on what they are doing about the year 2000 problem,
when version 5 is likely to be released, what it will cost to upgrade,
which of the new features that we have ask for will be included, and why
some of the others could not be included. There seems to be some movement
in this direction recently. Perhaps things will get better in this regard.
It is simple a matter of economics. I am sure Omega would love to be able
to add all the features we want, but such changes cost money. And all
companies have limited resources. They have to put their people to work on
things that keep revenue coming in, and with the present business model of
software companies, this revenue usually doesn't come from the existing
users. It comes from new customers and new products.
Keep in mind that as the size of the customer base expands, the cost of
supporting them continues to increase. But, typically, they generate very
little new revenue. This is why many software companies are beginning to
provide services for a fee, to help cover the cost of supporting their
installed bases. Omega needs probably $400 to $500 per year from each
TradeStation user to be able to keep up the level of support and to add the
new features we need. Somehow this seems to me like a fairly small price to
pay if it would buy great support for a program that can make us many
thousands of dollars in trading profits. Whether they get it by charging
for support, selling us upgrades, video courses, or whatever, they will
need something like this from us each year to remain a viable company.
Bug free, robust, products are a great goal but not optimum from a business
point of view. True, it has been proven over and over that higher quality
costs a company less over the total product lifetime. But we all know that
the most successful companies don't do it that way. Customers prefer new
features quickly and will work around shortcomings to be able to trade some
new kind of market, design some new kind of microprocessor, add some new
kind of insurance policy to their product family, etc., etc. Software
developers would LOVE to have the time to design and develop really robust
software since they REALLY HATE fixing bugs years after they wrote the
code. They have this saying, "There's never time to do it right but there's
always time to do it over."
But these are the realities of the business today. It has to be "good
enough". Generally:
> Crashes and corrupting data are "must-fix" and "must-retrofit"
problems. (The recent discussion on database corruption from bad
ticks would seem to me to fall into this category.)
> Problems that prevent a customer from doing productive work
("dead-in-the-water") are very high priority. (The year 2000
problem will be in this category within the next year for
lots of users.)
> Problems with usable "work-arounds" are lower priority.
> Most other problems and "new feature" requests are addressed
"whenever you revise that module's code for some other reason".
Remember that if a developer changes even one line of code in a module,
most good software development processes will require that a full
regression test be done before the modified code can be shipped to a
customer. It might take five minutes for the developer to make the change
and two weeks to do all the required testing.
Then, there are the people who want Omega to fix problems on a five or ten
year old version of a program. I am sure that these people do not
understand the complexities of what they are requesting. The source code
for the old version may not even exist anymore and certainly the people who
wrote it will be gone or in some other job by now. Then, even if you wanted
to fix this old code, you would have to reconstruct the same development
system, editors, compilers, hardware configurations and operating system
versions, and test suites, etc., that you used back when the code was
developed. This is usually close to impossible. The military sometimes
insists that this be possible on weapons systems and this is partly why our
defense budgets are so high. To do so you usually have to store away the
complete hardware and software environment you used in the development and
hope that it still works if you ever have to use it again.
Any serious customer using TradeStation or SuperCharts for trading can
certainly afford to upgrade to the latest version to get the capabilities
they need to get to the year 2000 or whatever. Typically, software
companies can afford to support only the most recent and one prior release
(build) of a product. They give you a free trial when you buy it and if you
don't like it, you can send it back. Like all products we buy every day, it
is not perfect. It is what it is and if you like it, you buy it. Bugs are
fixed on the new versions and customers are expected to upgrade to get the
bug fixes and new features. Software, like computers, automobiles, and
VCRs, does "wear out" and have to be replaced over time.
And it is totally inconceivable to me how anyone could think that any
company would not fix the year 2000 problem if they possibly can. They will
all try. To do otherwise would be irresponsible and subject the company and
its management to all kinds of adverse proceedings. Most, including Omega,
will have issued new releases that they THINK has fixed any problems.
But I am sure that when that date rolls around, the world will stop for at
least a while. The problem is that all products now work with many other
products in an interrelated network, passing data around. This makes it
impossible for everybody to test if their solution really works since not
all related products can be tested at the same time. Thus, inevitably some
things will not work and every company, including Omega, will have to
scurry around to fix the loose ends when they break. But they will break
and will eventually be fixed. Hopefully, I am totally in cash (or maybe
gold!) at that point and not planning on a tax refund, or trying to charge
anything on my bank card, or planning to fly anywhere, or .....
A little time spent understanding the processes of our software and data
suppliers should help us understand that, like most all of us, they are
trying to do the best they can under the real constraints that they face.
And like the rest of us, neither TradeStation nor Omega Research are
perfect. Certainly, if I could find a better program for my needs I would
buy it. But I can't so I will continue to use the one I have as cleverly as
I can to get the job done.
And before you ask, I am neither on the Omega payroll nor a solution provider,
only a customer with some background in the software development industry
so I have some understanding of the problems. I have learned over the years
that the best way to get results is to work in partnership with your
suppliers. And I tend to subscribe to that old saying, "He who throws dirt,
loses ground."
Bob Fulks
--
Bob Fulks
bfulks@xxxxxxxxxxxx
|