for a while now, i have debated whether or not to post this entry. about six months ago, i wrote most of this article, then decided not to post it. so yeah, i'm wishy-washy on this one. since then, microsoft has put a lot of emphasis on html5 and introduced windows 8 and the metro ui, leaving a lot of existing ms developers wondering about the future of their previous technology choices. with that in mind, i think it's good to look at microsoft's treatment of vfp and how their decision processes work in regard to development tools.
can you believe it has been over four years since microsoft
posted a message to
the community and announced that microsoft would cease development on
visual foxpro? it has been over three
years since microsoft released vfp9
sp2 and sedna,
and over six years since vfp 9.0 was released! while i was saddened that microsoft chose to
cancel vfp, i appreciated the sensitivity the fox team, particularly yag,
showed to the fox community. however, at
the time, i wished microsoft would have been more transparent and given a more
thorough explanation of their reasons for making that decision. yag may have been constrained in what he
could/should say in his position, and i imagine there was some disagreement
with the decision within the fox team, but those are just guesses. regardless, we didn’t get an official
statement from microsoft, other than it was happening, and the fox community
was left to piece together the reasons. that led to comments like “writing on the
wall”, “head in the sand” and conjecture on lack of sales vs. lack of marketing,
etc. ultimately, it comes down to the
fact that vfp was not a “strategic product” for microsoft, but why was that and
what does it mean? answers lead to more
questions, but i think that is worth exploring.
note that this blog entry is just more conjecture/opinion. i don’t have any more facts than you do. i am just putting all the pieces i have on
the table and building a picture. over
the past couple of years, i have debated whether or not to write this, because
it is a negative subject and obvious flame-bait. but i think enough time has passed now and it
could be a good thing. to move forward,
you have to let go of the past, and this has helped me do that. i still use vfp as my primary tool, but this
has helped me “get over” microsoft’s decision.
it may also be helpful in deciding where you want to go in the
future. now, i am in no way defending
microsoft or saying i agree with their decision. i am just trying to understand why they would
make a business decision to discontinue foxpro.
statements here may be “obvious” or “old news”, but i think it is
helpful to pull it all together.
“not a strategic
product”
enough disclaimers, let’s get to the subject at hand. microsoft has stated for some time that
foxpro was not a strategic product for them.
what does that mean? to my mind,
a strategic product is one that microsoft would invest in heavily and recommend
as the primary path for their customers.
ms would build upon the technology and form an entire “strategy” around
it. vb was strategic. com was strategic. .net is strategic. fox was not.
why not? to answer that, i think
you have to look at why microsoft bought fox software in the first place.
why buy fox?
so, why did microsoft buy fox software. i will quote an article jordan powell wrote in
foxtalk when access 1.0 and foxpro 2.5 were about to ship:
microsoft was working
on its access dbms which uses a modern variant of the basic language. it had to
have been embarrassing for microsoft to have such a glaring hole in its product
lineup. they had no dbms, and their partnership with ashton-tate failed to get
microsoft sql server off the ground. some of the marketing types at ms realized
that foxpro was the best version of x-base out there, and had been trying to
talk bill gates into doing something about it. they knew that the x-base
language commanded a huge segment of the market and that a product which used
the x-base language would get them into the dbms market in a big way. they had
the marketing resources to put behind foxpro, and fox had some interesting and
useful technology -- not to mention some very talented people, the kind
microsoft likes.
more recently, ken
levy wrote the following in his blog:
the purchase of fox
software for $173 million in 1992 was very strategic for microsoft, and was the
biggest corporate purchase microsoft had ever made up until that time. borland
had purchased aston-tate’s which included dbase iii and iv, and had paradox.
and growing in popularity at the time was powerbuilder as the king of
client/server tools, with sybase releasing powerbuilder 12 last year ironically
based on the free visual studio shell runtime. microsoft needed three things
from the fox software deal – the fox developer team, the fox technology, and
the customer market share of foxpro/foxbase. microsoft was just starting work
on access and it was more targeting power users, but there was still some
overlap. visual basic was still in its early days.
basically, microsoft wanted a stronger presence in the
database market and they were in severe need of database products, people, and
technology. fox software was a perfect
fit for them. to give you a little more
context, in 1992 the xbase market was still booming, access (cirrus) was still
in development, visual basic 1.0 had been released and vb 2.0 was in
development, and the first release of sql server for windows was not until
1993.
i think if you asked anyone “in the know” at microsoft, they
would tell you that the fox acquisition was a resounding success (unlike other
much more expensive acquisitions that microsoft has recently dumped). they got a solid product, key technology that
made its way into several other products, and valuable people that went on to
take major roles in the company. why
then did foxpro not share that level of success? i do not believe microsoft had malicious
plans to kill foxpro from the beginning, but the landscape had changed, as it
tends to do in technology. the xbase
market declined.
xbase market
decline
foxpro was first and foremost a competitor in the xbase
market. as that market declined, so did
the value of foxpro as a strategic product to microsoft. what led to the decline of a technology that
had been so popular in the 80’s and early 90’s?
technology trends are constantly changing, but here are few key things
that in my opinion diminished the xbase market:
dbase iv: dbase
iv was a buggy disaster, and it was two years before they released version
1.1. borland bought ashton-tate, but
could not undo the damage. dbase for
windows was not released until 1994.
this was good for foxpro, which became the biggest fish in the xbase
pond, but the pond itself began to shrink.
lawsuit: ashton-tate
sued fox software for cloning dbase. the
suit was dropped when borland bought ashton-tate, but it could not have
inspired confidence in the xbase market.
client-server: by
the early 90’s, client-server technology picked up in popularity and developers
were beginning to flock towards database servers and client-server development
tools like powerbuilder and vb. at the
same time, microsoft was trying to enter the server market with windows nt and
sql server, so i’m sure there was strong emphasis on this style of development
from them. i believe there was talk of a
“foxserver” product at fox software, but it never saw the light of day before
the microsoft acquisition.
those are reasons that the xbase market declined, but about
now you’re thinking that vfp is so much more than an xbase tool. i couldn’t agree more. vfp can go toe-to-toe with vb, powerbuilder,
delphi, .net, and others. if foxpro was
supposed to “go quietly into the night”, someone forgot to tell the vfp 3.0
team, because they transformed the fox into a full-fledged oop development
platform ready for the 32-bit world and beyond.
so, why wasn’t the emphasis there from microsoft?
an important point to make about microsoft is that they are
a follower of development trends, not a leader. with a few exceptions (the vb gui designer
comes to mind), microsoft has not been the one to create a development
trend. “embrace and extend” was their
motto, and they have done well with that.
windows was microsoft’s answer to the mac. .net is microsoft chasing java into the
enterprise. they follow current trends
and they do so mercilessly. even now,
microsoft is emphasizing html5, leaving silverlight developers thinking “wait,
i thought we were on the cutting edge?” it
would be out of character for microsoft to promote and strategize around a
product built for a market that was trending downwards. it’s nothing personal against the fox, it’s
just not in their dna.
foxpro market
decline
even with the xbase decline, if foxpro revenue had continued
upward, i wouldn’t be writing this article.
sales declined, and there are several reasons for that:
power users:
going all the way back to dbase you could question whether it was a platform
for power users with development capabilities or a platform for developers that
power users could use. it was both. visual foxpro put it squarely in the
developer category, and access took over as the preferred database for power
users. the result: much fewer licenses
sold.
vb, sql server, .net:
vfp faced a lot of competition from other products within microsoft. with the emphasis always on the latest
trends, many developers felt compelled to move to other technologies.
visual foxpro: that’s
right, vfp itself. while vfp 3.0 was a
massive improvement in development capabilities (and most of us are happy with
that decision), it was also a big leap from foxpro 2.x in terms of learning
curve. it took some developers quite a
while to make the jump, and some never did.
not invented here
syndrome: microsoft took a great
product and made it even better, which makes their treatment of foxpro all the
more frustrating. but fox was still the
stepchild and it was never going to supersede other products developed internally. by the time microsoft purchased fox, they had
already made significant investments in vb, access, and sql server. those would be microsoft’s strategic products
while fox would continue serving the declining xbase market and otherwise fit
between the lines.
why 2007?
people had been foretelling the death of foxpro since
microsoft bought it in 1992. what made
2007 the year when microsoft finally decided to cancel it? had sales declined to the point that
microsoft could no longer justify fox development? did they want to use the fox team in other
parts of microsoft? did big customers
move to something else? were the people
that cared gone or no longer in a position to do anything about it? your guess is as good as mine. we will never know.
there are a couple of ways to look at this: 1) microsoft
always wanted to cancel fox and they finally got their way, or 2) in spite of
fox not being a strategic product, microsoft continue to create new versions
for fox developers. i tend to think of
it as the latter. while there was always
a question of microsoft’s commitment to foxpro, by the release of vfp 5, it had
become clear that it would not be a strategic product. per ken levy’s blog:
in the initial years
after the fox software merger, microsoft put a huge effort and lots of
resources into creating vfp 3.0. there were about 50 people on the fox team
with a big marketing budget. in the following years, both access and vb grew in
market share and also competed in ways with the vfp market (and messaging), and
by the time vfp 5.0 was released, many upper managers wanted microsoft to just
end vfp there. in fact, they did for a short time. i was there, in a meeting
with 40 people, and the formal announcement was made to the fox team that vfp
was dead. it was very early 1996, and that meeting lead to the gartner group
releasing their report that vfp was dead, which had a major impact on future
vfp sales.
most of microsoft’s competitors would have ended it right
there and vfp 5 would have been the last version. so, the real question isn’t “why 2007?”, it’s
“why not 1996?”. ken levy continues:
but the fox team
members along with the community helped convince the developer tools management
to keep vfp evolving while decreasing the resources. in fact, the primary
reason vfp lasted another decade with 4 more versions released was more about
windows sales than vfp sales. there are many windows machines running vfp apps.
when steve ballmer jumps around like monkey boy and yells "developers,
developers, developers", he’s thinking about selling windows and office
more than sales of developer tools.
if vfp 5 had been the last version, then i may have never
had the joy of working with visual foxpro, because i really didn’t make the
jump from foxpro 2.x until version 6.0.
in fact, i’m not sure where i’d be today, as i took my current job back
in 2000 to upgrade a fox 2.x app to vfp.
so, i’m definitely thankful microsoft saw fit to continue development.
that said, microsoft’s handling of vfp support since the
announcement has been appalling. vfp 9
sp2 introduced several bugs. after months
of begging, we were able to get them to fix one key bug, but others remain that
will never be fixed and must be worked around.
microsoft claims that vfp is supported until 2015, but i’m sorry, that’s
not support. to be clear, i’m not
blaming the fox team for this. i’m
blaming microsoft for the fact that there was no fox team and management was
unwilling to provide resources to fix these problems. real support ended when the fox team was
disbanded and assigned to other projects.
so, what now? that’s
the big question fox developers are asking themselves or have already answered. i don’t know about you, but i continue to be extremely
busy with visual foxpro as my primary development tool. i also keep tabs on new technologies as they
are introduced with an eye towards how they could benefit me. maybe that will be the subject of a future
post.