This is a reposting of an article I originally wrote on my Developing for Dynamics GP blog.
One of the major changes to the Microsoft Dynamics GP user interface occurred with the release of version 10.0. This change was from the MDI (Multiple Document Interface) to the SDI (Single Document Interface).
Version 9.0 had a single application window in which multiple child (document) windows could be opened. This single application window would show as a single entry in the Windows Start Bar.
Version 10.0 has a main application window, however now all the child windows open as independent windows which show on the Windows Start Bar. Each single window (document) has its own interface.
Here is a explanation of SDI and MDI from an MSDN article:
SDI applications allow only one open document frame window at a time. MDI applications allow multiple document frame windows to be open in the same instance of an application. An MDI application has a window within which multiple MDI child windows, which are frame windows themselves, can be opened, each containing a separate document. In some applications, the child windows can be of different types, such as chart windows and spreadsheet windows. In that case, the menu bar can change as MDI child windows of different types are activated.
Now that we understand the differences between MDI and SDI, the big question is why was this change made.
There are a few reasons that I can think of that explain this change:
With the user interface design being made to match the look and feel of Microsoft Office, the behaviour we have in v10.0 is more like the way in which Microsoft Outlook works. ie. A main window which opens child windows when needed.
Also, for functionality like workflow to be able to extend child windows (such as Sales Transaction Entry) we needed to expose the child windows to the outside world, so they could be surrounded with a .Net wrapper. This wrapper is exposed as a Form Factory which can be accessed by a .Net developer.
Part of the enhancements for v10.0 was to extend the functionality of the homepage, such as the series area pages and the lists. For this to be useful, we needed to make sure the application background was not covered up with child windows. Note: The homepage is no longer optional as it was in previous versions.
By allowing the child windows to be outside of the main application window, it provides a better use of the available screen real estate by being able to access the entire desktop. You can even use multiple displays.
Love it or hate it, this change is here to stay. Let us know your thoughts.
This article was originally posted on the Developing for Dynamics GP Blog and has been reposted on http://www.winthropdc.com/blog.