# Thursday, July 28, 2005

A Call to Action
While bemoaning its state, speculating as to an uncertain future or even impending doom, whining about the lack of product marketing from Microsoft, tearing down the IDE, and focusing, to the point of exhaustion, on the deficiencies in the product known as Visual FoxPro might improve a developer's mental health for the moment (letting off steam can be a good thing), it does little to address the problems at hand. I am infinitely surprised at the tendency of otherwise solution oriented, brilliant individuals to waste their time on a myriad of ineffectual methods when it comes to pushing Visual FoxPro forward and beyond. I am equally surprised to see so much in-depth problem analysis result in little more than “so much in-depth problem analysis“.

To Be Clear
Now, just so we're clear... I'm not saying that there isn't a basis for some of the fears or complaints surrounding/leveled against Visual FoxPro. Neither am I saying that one should not voice their disapproval when real-world problems exist and criticism is warranted. My contention is merely that, once the problems have been suitably identified, one could/should do more than throw words at them. This is especially true when it comes to Visual FoxPro.

What Can Be Done
These problems beg the question, “What can be done?”. Not long after the question is spoken, the defeatists throw their hands up in the air and answer, “Nothing!”. This answer is usually followed by some identification of the parties directly responsible for the developer's inability to do anything; more often than not, Microsoft is included in the list. However, the reaction to this question is quite different in the minds of scores of other Visual FoxPro developers. Visions begin to whirl around in the ether, slowly solidifying into concrete ideas of what could/should be. This mindset, coupled with an enterprising, can-do spirit, is directly responsible for more than a few of the solutions to problems past, and it is my firm contention that the future of Visual FoxPro has a lot more to do with the Visual FoxPro Community's action, or lack thereof, than anything the folks in Redmond may be up to. So, here is my list of solutions, that are either being done or could be done.

Marketing:
Harness all the energy that is currently going into pointing out the deficiencies in this area (for the 1 millionth time), and direct it into more weblogs and websites with good Visual FoxPro related content. If you don't have a weblog, but have some insights, code, or Visual FoxPro related solutions you'd like to share... get one. Start blogging about the advantages of Visual FoxPro and solutions created with it. There are countless places on the internet to sign-up for, and start, your very own weblog for free. Here are a few resources:
http://weblogs.foxite.com/
http://www.blogger.com/start
http://www.myblogsite.com/index.shtml

If you already have a webserver and would like to create your own blog, then give dasBlog or .Text a look. This blog runs on the dasBlog engine, and many of the blogs listed in my Blogroll are using .Text. (Blogroll is over there ---->)

Also, there are some really good forums/boards on the internet that you should consider becoming an active member of. These forums/boards spread the good word and help countless Visual FoxPro developers across the globe. One of the best kinds of marketing for a product is support, and the Visual FoxPro Community supports its product like no other. Here are a few forums I recommend:
www.universalthread.com
www.tek-tips.com
http://fox.wikis.com
www.foxite.com
http://forums.microsoft.com/msdn/ShowForum.aspx?ForumID=60
http://community.compuserve.com/n/pfx/forum.aspx?webtag=ws-msdevapps

Have you created a great Visual FoxPro 9 application? Then write a case study on it, and have it included on the Microsoft site for all to see. There have been repeated calls for Visual FoxPro case studies by Ken Levy and other members of the Visual FoxPro Community. I had the pleasure of editing one recently, and it was a rewarding experience.

If you're a decent writer, then crank out some articles for the industry rags (such as FoxTalk 2.0 and FoxPro Advisor) or write a book.

The action of creating, supporting, and ultimately cultivating Visual FoxPro internet resources has a direct impact on the visibility of Visual FoxPro and its perceived value. Unfortunately, the same cannot be said for the countless campaigns and posts cajoling or criticizing Microsoft.

Language Improvements:
Submit ideas to one of the many Visual FoxPro wish lists that are certainly seen by the MS Fox Team. Here is one such list: http://fox.wikis.com/wc.dll?Wiki~VFPVersion10WishList.

If you have a penchant for C/C++, then create an FLL containing the new functions and thrust it into the Public Domain for use by Visual FoxPro developers everywhere. If you don't have any ideas on what might make a good FLL function for Visual Foxpro, check the wish lists.

If all else fails, then create ingenious Visual FoxPro functions and procedures in Visual FoxPro that can be reused by developers in their applications. All of these actions have had and will continue to have a direct, positive impact on Visual FoxPro.

Integrated Design Environment Improvements:
Create Visual FoxPro components that increase developer production and otherwise add value to the Visual FoxPro IDE. There is an immense amount of untapped potential in this area. More than a few of the components we use every day in Visual FoxPro are the result of hardworking Visual FoxPro developers that lived and breathed this solution. For a few examples see the following: http://fox.wikis.com/wc.dll?Wiki~VFPComponentAuthors.

On a personal note, after having read about Craig Berntson's idea for a Solution Manager, I've been giving this idea a lot of thought. I think something like the Solution Explorer in VS would serve Visual FoxPro developers well. Envision, for starters, the ability to access multiple projects with heirarchical drill-downs for programs/forms/classes, and having multiple design windows and program files open in seperate tabs, and the ability to expand/collapse function and procedure calls while editing them.

However, I digress. The point is, that the action of creating Visual FoxPro components for Visual FoxPro has a direct impact on the IDE and increases Visual FoxPro's overall usefulness.

Improved Interop, Integration and Extensibility
The MS Fox Team announced that Sedna will be highly focused on this area. But, this is no reason to rest on our laurels until 2007. Toss around ideas and make suggestions for Sedna on the Universal Thread in the Sedna category. The Microsoft Fox Team has committed to monitoring that category and if only a couple great ideas from there get implemented, it will have been well worth it.

Create code and solutions that developers can use with .NET, Microsoft products such as Office, and even ways in which Visual FoxPro can consume and publish XML. These are all really big areas of interest to programmers the world over, and showing that Visual FoxPro is an excellent choice for these types of solutions is an action that will reap untold benefits for the product as a whole. Visual FoxPro is more than capable, and this is a huge, virtually untapped area.

This action results in Visual FoxPro being seen and used as a development environment for solutions well outside the box. An increase in features and abilities garnered from outside sources is always a good thing. What is Visual FoxPro good for? A lot more than one might expect.

Improve Visual FoxPro Applications
Visual FoxPro is given a black-eye daily by poorly thought out and implemented solutions, applications that look like they are from the early 1990's, and convoluted code that performs sub-standard. If you're going to develop in Visual FoxPro, then do the language proud. Learn how to code and develop applications in an efficient and professional manner, avail yourself of the improvements in each successive version of Visual Foxpro, and take advantage of proven development/coding methodologies. While you're at it, you might try a little spit and polish on those user interfaces.

If you're still having a hard time adjusting from the world of FP to the world of VFP, or if you've recently come over from another language, then buy a few books and make heavy use of the aforementioned online resources related to Visual FoxPro. Remember, the @Say is dead and there's no excuse for creating yet another dated looking switch-board application running on spaghetti code that accesses a horribly denormalized database.

This action not only does Visual Foxpro a favor, but your customers as well.

Purchase or Upgrade to Visual FoxPro 9
A no brainer. Unless you are strictly prohibited due to finances or job restrictions, you need to upgrade to Visual FoxPro 9 as soon as feasibly possible. There's no greater argument you can make to Microsoft for continued Visual FoxPro support than a few of your hard earned dollars spent on this worthwhile product. Sign a petition, post as many pleas to, or disparaging remarks about, Microsoft as you want, but in the end, only this action ensures that Microsoft will extend the Visual FoxPro Roadmap come 2007.

Anything Else that Actually Makes a Difference
Here's where I admit that I don't have all the answers, but I know someone, somewhere does. If you've got an idea that could improve Visual FoxPro, then you owe it to yourself, the product, and the Visual FoxPro Community to take your best shot. If the bulk of the Visual FoxPro Community members can move towards a state of Action instead of the FUD (Fear, Uncertainty, and Doubt) Reaction, Visual FoxPro and the developers that rely on it (not to mention the customers that depend on it) will prosper. As a community, we can do more in 1 year than Microsoft could do in 10 to improve the state of our beloved product. That's my two cents anyways.

UPDATE: 07-27-2005 Fixed grammatical errors and improved some sentence structure that was bothering me

Thursday, July 28, 2005 2:19:05 AM (GMT Daylight Time, UTC+01:00)  #    Comments [19]

 

Archive

<February 2010>
SunMonTueWedThuFriSat
31123456
78910111213
14151617181920
21222324252627
28123456
78910111213