A while back while I was taking about forms, I got a number of questions from readers out there in web land who wanted to know more detailed answers to some questions. I haven't been ignoring you, I promise, but we've been super busy getting Office 2007 beta 2 technical refresh ready for public consumption. Now that the B2TR bits are basically done, I've got a few free minutes to get back to answering questions and blogging in general.
Previously I was discussing some of the new forms technologies in Outlook we've dubbed 'form regions'. Form regions are designed to make it easier to do the kinds of UI customizations most developers have been trying to accomplish without the overhead involved in redesigning an entire Outlook form and worrying about how to publish it to Outlook. While I was on that subject, I got a number of questions, which I will now answer.
[Note, some of these questions have been edited to be more concise (or to actually be questions)]
Q: Is there a future for the Outlook view control (OVC)? If there is, include it with Outlook and make it easier to work with.
Well, the short answer here is that the control is of course still shipping in Outlook 2007. However, we did not make any significant investments to the OVC for this release. The OVC has been included as part of the Outlook installation since Outlook XP (for Outlook 2000 it was a web download). We are evaluating the needs of our platform and how we can improve the OVC, so if you have any scenarios you are trying to accomplish today where the OVC is falling short, please let us know.
Q: Have the form controls been improved?
Totally. We realized very early on in the 2007 release that our forms were starting to look dated and we needed to clean up their appearance. As part of the form region effort we created new Outlook controls (Olk* in the type library) that are more modern versions of the form controls previously available for custom forms. We also created a bunch of new controls that provide functionality available in Outlook, like the business card preview, date/time pickers, info bar, category, and page controls. These new controls when used on form regions enable a form designer/developer to really replicate the look and feel of the Outlook interface without needing to clone the interface in your own custom controls.
Q: Is the IDE for form script any better?
While we haven't improved or changed the script editor component that is used for 'legacy' custom forms, form regions are built using a whole new model. Instead of writing code inside Outlook that is embedded as part of the form, form regions rely on an add-in to provide the business logic behind a form region. This means that you can use your favorite programming language and IDE as long as they support building a COM add-in. With form regions you can use whatever language you prefer to back your form. You can read more about how to make this happen in my MSDN article "Building an Outlook 2007 Form Region with a Managed Add-In". We're also working closely with the Visual Studio Tools for Office (VSTO) team to further improve the story for the Orcas release, but details of what may be available in this release are still TBD.
Q: How do you envision people debugging code on forms?
Script debugging has been a painful process for forms developers. Fortunately, since Outlook 2007 form regions no longer use script, but instead use an add-in, the debugging experience is much improved. You can debug a form region in exactly the same way you would debug an Outlook COM add-in, using Visual Studio or another IDE. Just attach to Outlook (or just run your project if you are using a VSTO-based add-in), insert breakpoints, watches, etc, and wait for an error to occur. If you're using Visual Studio 2005 and managed code for your add-in, you can even do edit-and-continue, just like with other managed code.
Q: Do you see people continuing to use Public folders?
I think it should be clear that public folders will continue to play a role in the short term future. However, if you look at the direction Exchange 12 is moving, you'll see public folders are now an optional component to the Exchange system. For Outlook 2007 we've converted a lot of features that used to rely on public folders over to using web services or found other mechanisms for replacing the functionality of public folders. Custom solutions that depend on public folders will need to start being migrated over to other technologies as well, because public folders are a legacy technology that are on the way out. Using SharePoint may be one good way of migrating a solution, but other alternatives as also available. One of the reasons we developed the form region technology was to allow organizations to have form solutions that didn't depend on the Organizational Forms Library (which uses public folders) and still be able to relatively easily deploy forms across an organization.
Was work put into improving custom forms management/deployment?
Outlook 2007 maintains the functionality provided by Outlook 2003 for custom forms management and deployment via Outlook. However, our form regions are designed to work differently. Instead of using a forms library that needs to managed inside Outlook, form regions are registered via the Windows registry and XML-based manifest files. For deployment, form regions are designed to use any installer technology you might use for an Outlook add-in, such as Windows Installer (MSI) or ClickOnce deployment. Since form regions are tied closely with add-ins, they do not live in the forms cache and are not subject to the issues around forms cache corrupt that occasionally caused issues for our custom forms in the past.
OWA/Mobile. Design once, run everywhere is a definite necessity, will this story be improved?
For Outlook 2007 this story remains unchanged. There are some big issues to face, like how a form that looks good for a desktop client can be useful on a mobile device with a much smaller screen or as a web form. There are also issues around the replication of properties between desktop Outlook and mobile devices. However, I believe these are solvable problems, and for the next release of Outlook I hope we can spend some time in this space and improve the story over what we currently offer.
Q: Is WYSIWYG forms printing supported in Outlook 2007?
Outlook 2007 still maintains the status quo for printing support of custom forms. However, there are a few third party solutions available for Outlook 2003 that provides this support, and it's definitely something that a form developer can implement using a few Windows APIs. I hope for the next release that we can address this concern and improve the support for printing custom forms.
Q: Progress and Excitement. Do you think there is a REAL commitment within the Outlook team for extensibility?
There is a very real commitment on the Outlook team for extensibility. For Outlook 2007 we've actually doubled the number of classes defined in the Outlook type library, flushing out a huge range of new functionality that previously wasn't available. For the next release we're already looking into how we can continue to expand on what we've done in this release and make the platform easier to work with and friendly for developers, and also allow developers to do more with Outlook. For Outlook 2007 we've had two program managers and a team of developers and testers working to improve the object model, so we are definitely committed to improving extensibility. Randy Byrne and I are also working on a new Outlook programmability book which we hope to have available close shortly after Office 2007 is available.
Q: Other questions relating to Exchange extensibility.
Unfortunately I'm rather disconnected from what is going on over in Exchange extensibility. I'll have to follow up in another post on these questions. In the mean time, readers may want to direct those questions to the Exchange team blog, "You had me at EHLO".
That's it for the questions I have right now. I've got a few other blog topics I hope to get to shortly, but as usual my time is scarce. I hope to be more prolific with my posts in the near future, especially as the beta 2 technical refresh becomes available. In the mean time, I hope you have a great Labor Day weekend!