What does the future hold for VFP?


This is perhaps one of the most asked questions lately. Most of the time when I’m asked this question it is in regards to SednaX, but today I’d like to talk about the contract work I recently started on Sedna. The Microsoft Visual FoxPro Team is allowing me to talk about things that would ordinarily be kept behind closed doors. In fact, when I asked them what I was allowed to talk about, their response was pretty surprising. Basically they feel that the more that we discuss, preview, and show before the eventual release of Sedna, the better (they obviously weren’t just blowing smoke when they began touting the concept of transparency – I must admit that before this I had my doubts).


Windows Vista


The bulk of my work is being done on what some would call a Vista toolkit, but really it’s just the Visual FoxPro Team and I working on some really cool and useful stuff for Visual FoxPro using new features and APIs that are being unveiled by Microsoft as they move towards Windows Vista. As Microsoft is back porting a lot of this new stuff, some of these proposed Sedna components would work on Windows XP and maybe even Windows 2000 as well. In the coming months you can expect to see lots of things both here on my blog and also in the CTPs that will be released for Sedna. Most are things that have never been done, or were never possible before, in Visual FoxPro. Not excited now? You will be… OH, you will be! 🙂


Let’s take a look at a few things that I’ve worked on that are being considered for possible inclusion in Sedna…


Windows Presentation Foundation (WPF) – XAML (codename was Avalon)


Below is a screen shot of XAML controls running inside a Visual FoxPro form. When the buttons are clicked they actually fire Visual FoxPro methods. While this example is just showing some simple drop-shadowed buttons, pretty much anything that WPF is capable of doing with XAML could be done. So if you wanted something more complex, like a 3D model that would spin around, you could have it. Think of a database application for products where the user could rotate an image of the product a full 360 degrees.



 


XML Paper Specification (XPS)


Sometimes referred to as the Office 12 document format, XPS is going to be huge in the coming years in my opinion. Given the open nature of the XPS format (basically a bunch of XML documents inside a zip file), there will be a lot of 3rd party products that will be coming out supporting XPS. So how about the ability to create XPS documents from Visual FoxPro reports? Here’s a screen shot of one of the solution sample reports in XPS format. It is being shown in the XPS viewer that Microsoft has created for IE 7, but Microsoft will also be providing a standalone viewer as well. In XPS format, the report’s text is fully searchable and the document can even be digitally signed. Also, the rendered quality of an XPS document is super crisp and clear.



 


Task Dialogs


Say goodbye to the simple and somewhat tired looking Windows message box and hello to Task Dialogs! Task dialogs are message boxes on steroids, and just one of the new common controls provided by Microsoft in Windows Vista. What the screen shot below doesn’t show is some of the other features that come with task dialogs, such as enhanced button types, progressbars, additional icons, callback functions, additional control areas… the list goes on and on. In addition to being very useful, task dialogs can help give a Visual FoxPro application one of those little touches that makes it look and feel more professional.



 


Speech API (SAPI)


Sorry, no screen shot for this one, but SAPI has really been improved in Windows Vista. Imagine users using Visual FoxPro applications to do dictation (saved directly into a memo file as data), or run queries… “Bring up customer, last name Smith”, “Show me the February sales report”, “Upload progress report to headquarters”. Sounds a bit futuristic perhaps, but given the new Speech engine in Windows Vista, all of this and more is possible. I haven’t worked out what all the uses might be for this in Visual FoxPro applications, but talking into a microphone and seeing the sentences appear in an editbox on a Visual FoxPro form is still pretty neat. And, when thought of in conjunction with the growing popularity of internet telephony (VoIP), I have to think there is some use for speech recognition in the Visual FoxPro applications of the future.


More to come


That’s all for this blog entry, but certainly not all that is being worked on. I’ll be back with more later. I just thought that some of you would enjoy seeing these, and maybe it would generate some excitement and useful discussion here or out on the Visual FoxPro forums. As for SednaX… more is on the way there too. I promise.