One Application vs many

I’m creating an application that will have a windows like taskbar to open previously opened application windows. One application can have only one window. I’m asking should I implement this with only one ITMill application or should all of these windowses have their own application? If they have their own should there be some parent application to handle child ones or how this should be implemented?

These windowses should keep their state while swithing between them. Also these windowses/applications can be swithed of so all customers won’t have them all enabled.

  • markus


I’d go with one application.

You can create the windows ‘lazyly’ at the time when they are needed, so windows that are not enabled will not use any resources.

Good luck!


Thanks for quick response. I have implemented this hole day and it starting look quite good :slight_smile:

  • markus

Pics! We want screenshots! :smiley: :wink:

Here’s the screenshot what I have done allready. It doesn’t look good but works (but slow).



Upper left corner there is available applications and upper right is applications that are allready been opened. I have a major problem with performance. If there is some quite complex page opened (like in screenshot) when I click some button in top menu it takes so long that IE asks that should it stop script execution. Also Firefox takes really long to open page.

Server won’t cause much processor load but browser use all processor time it can get for about 10 seconds. Hope you have some solution to this because currently application is not usable. Is there some way to tell browser to load hole page instead of changed parts of page?

The UI shown in the screenshot is fairly simple and thus there should not be any visible delays in rendering. Would there be any way us to reproduce the problem in order to debug it?


The problem appeared in situations where there are multiple layouts contained within each other (deep layout hierarchy), and during unregistering of those layouts some components would be unregistered multiple times.

The fix has been commited to trunk in [url=]
changeset [4939]

[/url] and is available in the nightly builds.

Cheers, Jouni