Friday, May 29, 2009

Giving Visual FoxPro a new lease life

I read an article on the Internet about what can be done by both Microsoft Corporation and Visual FoxPro programmers to give Visual FoxPro a new lease of life! For example, that article suggested doing away with the Fox icon at the top of the Visual FoxPro application window, reengineering parts of the FoxPro application including doing away with the Windows 95 dialog boxes and so on. This article seeks to contribute to the debate, suggesting additional ideas that the author considers to be critical to not only reviving VFP but also in attracting new developers to VFP cause. The author believes that a certification program (now discontinued for the VFP track my Microsoft) along with a ‘Built with VFP Standard’ Logo are critical to putting VFP back on the map.

Introduction

It is no longer news that Microsoft has announced that they will be no VFP10! Microsoft has since announced that aside from support through 2014, they will be no active marketing of VFP and Microsoft’s actions speak louder than words! In the interim, many new products and white papers have surfaced, advising VFP programmers on how to make the transition to the .NET Framework as well as products that promise to let you code your application in VFP while compiling to ‘IL’ – the primary executable language that enables .NET programs run.

Many Visual FoxPro Programmers have asked themselves what this means and what this will entail! I believe that events have already answered this question! Even before Microsoft announced their intention to stop making VFP, eligible members of the VFP community had already started building enhancements to VFP with the primary goal of making VFP competitive with other contemporary programming languages. These efforts crystallized themselves as VFPx and VFPy on Codeplex, eventually forcing Microsoft to publish their own efforts (Sedna) also on CodePlex!

Therefore it was with great interest that I read the many opinions and ideas that VFP Developers have on how to improve VFP. While I will not dispute these ideas, I just want to add to them!

I believe that Microsoft’s strategy to ‘kill’ VFP is simple – if VFP Programmers are give an ultimatum to change to .NET, and marketing, support and further development/enhancement of the VFP product line is discontinued then VFP programmers will have no choice but to change over to VB or C# (i.e the .NET Framework). But as programmers, we must ask critical questions! What are the critical performance benefits of non-.NET Framework applications as opposed to .NET Framework applications? Since the .NET Framework was touted as a platform independent solution, perhaps comparable to Sun Java’s Byte code, on what additional OS’s or platforms apart from Window is the .NET Framework running since inception?

These questions enable VFP Programmers to realize that there is nothing there are missing on the .NET Framework! (Don’t get me wrong! The .NET Framework is a great effort by Microsoft with some truly great features and promises)! This means that since Microsoft has agreed to at least open-source the VFP Environment, it will be up to the VFP community to keep the flame alive, through advertisements. What form might such advertisements take?

What can be done?

One form would be through the publication of new case studies for Visual FoxPro based projects. The Web provides a ready medium for this purpose. Another way will be to produce a new certification exam for Visual FoxPro programmers to replace the Certification exams now dropped my Microsoft Corporation for the VFP product line. To understand why this is important, consider for example, that if you were delivering an Oracle product, it would do you good to be an OCP or ODBA. Similarly, Microsoft retains certification for its other products apart from VFP. The VFP community could therefore setup new certification exams (considering also that in the developing world, this may be the only qualification available to VFP Programmers who are non-degree holders) that VFP Programmers could take. The aim of the certification exam would be to ascertain that a programmer is qualified to undertake and deliver solutions built primary with VFP as the primary development language.

Such certification exams could be structured to deliver credits earned in three levels viz: Certified Visual FoxPro Professional (CVFP), Certified Visual FoxPro Master (CVPM) and Certified Visual FoxPro Enterprise Architect (CVFPA).

The aim of each certification could be of course decided at a later stage, but for example, the Certified Visual FoxPro Professional examination could aim to ensure that a Visual FoxPro programmer can write workable VFP based applications and desktop applications using VFP. The CVPM certification could be used to certify that a VFP Programmer could build full-featured pure fox two-tier client/server applications using VFP as the primary application development environment. The CVFPA certification would test a programmers knowledge on how to use to VFP to build top-notch n-tier distributed web-based or windows based enterprise applications.

These certifications would be designed to give VFP Programmers something to hold onto and also publicized attract new programmers into the VFP fold. The trend we have observed in our part of the world is the importance placed on professional certifications of this type as testimony that the professional does indeed possess the requisite professional skills to deliver a solution based on the stated/proposed technology. We have also observed that most people look upon the availability of certification exams as testimony that the technology is current. Why should this be different in the case of Visual FoxPro? While MSCD on the Visual FoxPro track existed, Microsoft ensured that those for Visual Basic and Visual C++ overshadowed these! Now VFP Programmers can setup something on their own and ensure that it is properly marketed to developers!

Of course setting up certification exams would have to come with the full works such as setting up curricular, courseware and approved training materials that students could use to train. Such materials could also form the nucleus of another marketing ploy….marketing VFP as the principal tool to teach Database concepts at educational institutions and making sure people know that VFP educational licenses are available and very affordable.

Yet again another certification and therefore marketing ploy would be to certify VFP product sites as ‘Powered By VFP’ or ‘VFP Enterprise Approved’ or whatever you would want to call it. This would allow organizations that buy solutions built with VFP to be assured that they have received an enterprise solution engineered to the highest standards much as Lucent used to Certify networks sites for their ‘Systimax’ Structured Cabling standard in those days. Of course anyone who has been around would easily know that other cabling standards such as ‘Belkin Structured Cabling’ existed but who was setting the pace and standards and why?

Who would administer such a program?

Efforts such as VFPx and VFPy have already demonstrated the power that a community will can bring to bear. The same spirit can be brought to bear on the ideas contained herein. Perhaps, I will make bold to say that the VFPx Team can be used as a ‘rallying point’ to nominate imminent members of the VFP community with a sound knowledge of the VFP Product technology line to administer a VFP University Product foundation that could then oversee or implement the ideas contained herein, perhaps of course taking care to structure the organization in such a way that it does not violate Microsoft’s trademarks or copyrights but giving a new lease of life to existing VFP programmers while attracting new talent to take-up building solutions with VFP!

Since some of this programmers required to administer this idea would be working professionals working to make a living, the whose thing could be structured still around the idea of VFPx, with a core of professionals coordinating everything, making sure that certifications are properly gazette with both Microsoft and other professional bodies, while allowing VFP community members to contribute their ideas and thoughts on the curricular and other aspects of the organization to ensure that all certifications actually reflect trainings on current industry standard practice.

The VFP University Product Foundation team could:

1. Draw up curricular for VFP Certification examinations and promote such certification examinations world-wide through usual VFP Community site and other amenable technology sites
2. Publish Training materials that could be used for such trainings and certification study programs
3. Ensure that certifications issued are properly accreddited with both Microsoft Corporation and other industry standard bodies (whoever is taking this should know that it is worthwhile).
4. Appoint approved training centers world-wide that could offer such trainings
5. Provide a means for such trainings to be taken online (much as with other CBT offerings online)
6. Certify and rate project sites implemented with Visual FoxPro to ensure that these meet industry standard practice and upon certification, issue an ‘Powered by VFP’ Logo/seal as a mark of quality
7. Set and Publish standards for VFP Programmers
8. Provide a forum for publication of new case-studies for VFP Programmers and ensure that these are also published in other technology forums (not just the usual VFP ones).
9. Promote VFP to educational institutions and foundation to use as a primary tool in demonstrating Database concepts and teaching programming concepts
10. etc

The VFP University Foundation would just be just like Oracle University or Microsoft University! Providing critical lifeline of continuing education on the VFP product line; doing what Microsoft is not now doing for VFP, just as Microsoft University does for other Microsoft products and Oracle does for the Oracle product portfolio!

It takes Money! Where will the Money Come from?

Definitely, administering an initiative of this sort takes money and financial resources to setup web sites, produce and publish training materials, place adverts, print and send certificates, travel, etc but this need not be an obstacle! if programmers pay a fee to take the exam and are required to take a new exam say every two-three years as new features are integrated into the VFP product by voluntary community efforts, funds will be available. Additionally, certifying sites, speaking at community events and son on would be done for a token fee that would bring resources in to not only run the foundation but also to provide a token compensation for the core of people coordinating the activities of the university foundation. A seed fund would definitely need to be raised by voluntary donations to kick-start the whole effort.

What it all boils down to!

All of the ideas itemized above will not of course obviate the need for improvements and modernization of the VFP product nor do we as a community need to take Microsoft’s place to advertize a product that it makes. This means that as long as the product remains largely close-sourced, many of the things will depend not on the community but on Microsoft! For example, taking off those Windows 95 dialogs and replacing them with new dialogs and so on. However, because we are the ones that use this product and some of us have too huge an investment in this product to start re-writing in another language, we have to take some action to ensure that the VFP product line is not just casually swept under the carpet like that…we do not have to accept a faith accompli!

This means that the campaign to get Microsoft to honor its ‘Corporate-community’ responsibility to the many VFP programmers who make a living by writing software with VFP, to open-source all of VFP (not just its environment) must be intensified. Now is as good a time as any for the VFP community to take a definite stance on their beloved venerable development tool of choice!

VFP has a reputation of having a vibrant active, dedicated and loyal user community; something that is the envy of most other products, including Microsoft’s Visual Basic or C#! Now is the time for this community to show its true mettle, taking the VFP Bull by the horns and doing what must be done to keep the product alive! It will require will on our part as a community and we need not be the underdog always! ‘Yes we can’

No comments: