Her older brother Chris is relatively ambivalent to her existence (not as cool as a Power Ranger I guess) and her mother is hard at work providing the round-the-clock love and care little Scarlett needs (programming is very easy by comparison I assure you). As for me, Scarlett is the apple of my eye and has changed me in a number of ways (softened me). That having been said, Scarlett and I both agree that I need to send one of her dirty diapers to the Microsoft executives responsible for the decision to halt Microsoft’s active development of Visual FoxPro’s core.
The Infamous Foxpro Announcement
So, what is my take? Well, if you read this Redmond Developer News article back in April you already have some idea of my reaction. For those of you wanting a little more detail, here is the full text of my answers to Stuart Johnston back on March 16th, 2007 (3 days after the announcement by YAG):
Stuart: “What does the latest news mean for VFP developers? Sedna, in particular? And the announcement there will not be a VFP 10? How do you feel about it?”
Craig: “The announcement YAG made regarding VFP 9.0 being the last version confirmed what most in the community (those with their ear to the ground or with the ability to read between the lines) already suspected. While an official MS announcement discontinuing active development of one of their products is always noteworthy, this announcement was non-news for the most part. My personal reaction upon reading the announcement was, “whatever”.
Microsoft’s Sedna project provides many new and improved add-ons for Visual Foxpro developed using Visual FoxPro, Windows Script, and VB.NET. Sedna will provide value to developers using VFP 9.0. However, its true value is in showing the VFP Community how Visual FoxPro can be successfully improved and extended without having to modify the VFP runtimes. The ability to effectively extend Visual FoxPro, coupled with the release of VFP 9.0 SP2 (which will provide improved Vista compatibility and enhanced reporting capabilities), is all the VFP Community really needs to take Visual FoxPro where it needs to go in the next decade.”
Stuart: “Do projects like VFPx bode well for VFP’s survival? I.e., could it become a phenomenon like OpenOffice?”
Craig: “Community-based, open-source projects like VFPx are the only way to ensure an extended future for Visual FoxPro. Now, while it would be gracious and very generous of Microsoft to release the Visual FoxPro source to the VFP Community, that’s never going to happen. Given Visual FoxPro’s unrivaled speed and data handling capabilities, it is far too valuable/dangerous to Microsoft’s overall plans and a number of their current flagship products. Luckily, Visual FoxPro is very extensible. Visual FoxPro has an API that can be accessed via C/C++ (allowing for the creation of FLLs that can be used to extend the language set). It has two of the most liberal EULAs ever issued by Microsoft governing the modification and distribution of the source provided in Visual FoxPro’s XSource and FFC. And, Visual FoxPro is COM-aware, so it can be extended using .NET assemblies through COM interoperability.
Those are just a few examples of how Visual FoxPro can be extended. It would take several more pages to recount all of the ways that Visual FoxPro can be enhanced without direct assistance from Microsoft.”
Stuart: “Any overall perspective you would care to provide?”
Craig:“Since FoxPro was purchased by Microsoft in 1992, it has remained a unique and surprising gem in Microsoft’s product line. For over two decades FoxPro has remained king when it comes to creating data-centric applications. In my opinion, there’s nothing in the present or on that distant, ever-shifting horizon that will change this. While others have thrashed about with DAO, RDO, ADO, ADO.NET, and now DLINQ in a futile attempt to achieve a small portion of what FoxPro developers have been taking for granted for over two decades, FoxPro developers have been about the business of creating robust, extremely fast, data-centric applications that meet the needs of the customers they serve. I am proficient in a number of languages and technologies, but when it comes to data-centric applications Visual FoxPro invariably gets the nod. Ultimately, the consumer makes the decision whether a product has reached its end or not, and I’m betting that in the absence of a viable alternative Visual FoxPro developers will be in the black for a long time to come.”
Having had more time to reflect, I have to say that I still feel the same way today as I did when I answered those questions. Why? Because Visual FoxPro is a superior product for a significant portion of the market I serve. I realize that Microsoft’s announcement has weight, a negative impact, and holds sway over those who choose to make decisions based on it. However, my decisions are mostly made based on ability (software and otherwise) and Visual FoxPro is quite simply able to do things that nothing else on the planet can touch. I’ll have more to say and present on Visual FoxPro’s datacentric capabilities and overall performance compared to some of the competition in a later blog entry.
Now, I know that many of you have been waiting for updates to the FLLs that I’ve created (most noteably vfpexmapi.fll and vfpvfpencryption.fll). I just finished posting an update to the Visual FoxPro Extended MAPI FLL (more to come as well) and will be posting an update to vfpencryption.fll in the near future. Please know that I appreciate your patience while I ramp this entire thing (FLLs, blogs, conferences, articles, forum participation etc.) back up to its former craziness.
What I’ve Been Working On
Since I last posted I’ve been working on several .NET projects (desktop and mobile), a few websites, and no less than 12 Visual FoxPro projects. In short, I’ve been swamped. Maybe if Microsoft’s decision had had a little more impact then I wouldn’t be writing this blog entry not having been to bed yet from the day before.
My newest pet project is a full Remote API (RAPI) class library for Visual FoxPro. I’ve enlisted the help of Bo Durban and I hope to submit it for possible approval as a VFPX project in the near future. For those of you that might not be familiar with RAPI, it basically allows you to do remote procedure calls from a PC to a mobile device. Mobile devices have been an interest of mine for some time. One of my recent projects was rewriting a mobile application with the .NET Compact Framework. The application works with a Visual FoxPro desktop application, so I decided that I would explore some of the mobile application technologies more in-depth starting with RAPI.
I’ve also been coming up to speed on the Visual Studio Development Kit and how to create and deploy add-ons for Visual Studio. I’ll post some stuff about this in the future.
What’s Coming Up?
I’ll broach this subject in my next blog post as it deserves it’s own entry. For now just know that I am glad to be blogging again and I really appreciated the support the community gave me while my wife and I were busy having a baby and I was buried in work (special thanks to Rick Schummer, Doug Hennig, Marcia Akins, Craig Bailey and Bo Durban). The Fox Community Rocks!