We are developing a financial reporting system, which is able to display many, I mean MANY, different reports from different angles. For example, the reports for position, deal, market risk, for individual financial instrument. And they can be static (like a paper report), or real-time refreshing, or user-configurable (for example, on top of the paper report there are some controls to specify the reporting parameters). All of these reports in my opinion, are loosely related with each other, which means our user might want to open many and look at them at the same time, and jump from one to another like randomly.
Our legacy software(more than 10 years old) is done in a Multiple Document Interface (MDI) layout, and now we want to develop a new client which is using WPF. When we explored the tools we have, we discovered that WPF doesn't support MDI in its own library. Furthermore, people keep saying that MDI is considered as bad-UI practice in modern software. But I really can't think of a good alternative to it (I have to admit that I am a software developer not an UI designer).
People suggest to use multiple Single Document Interface (SDI) windows, like what MS Word looks like. But I think it has some drawbacks to our application:
1) I think multiple-SDI layout suits better in the scenario where multiple documents have exactly the same layout and functionality (like Word). But in our software, the reports are so different that if we arrange them as many top-level windows, the user wouldn't even feel that they belong to the same application.
2) our user often open more than 10, sometimes even 20 reports at the same time in our old software. I personally don't like to see the a 20 items long list to be shown when I put my mouse onto the Word icon in the task bar. Plus, they are loosely, but still, related to each other. The user might want to jump from one report to another one.
Another often-mentioned layout is tab layout like Visual Studio. I like the idea of have some items/control in some specific maybe static places, like the output and break point windows in the bottom of visual studio, and properties windows on the side. I think we can move some of our reports into such areas. But the main area, the tab area in visual studio, is still not suitable for our main reports in my opinion:
1) in visual studio the user is more likely to work on one document, when it is finished or needed, move to another one. The user can't look at different documents at the same time as what our user sometimes do.
2) the navigation in Visual Studio is still weak in my opinion. I personally like to user our software in such way that I open multiple reports and put them into different areas inside the container. So I can easily switch between them.
3) one report taking the whole display area might not be no necessary for some reports. In another word, the sizes of reports vary. But there are only few of them which can take the whole display area.
If somebody could widen my horizon, enlighten me of some other layouts which might serve better in our scenario, it would be really appreciated.