I have an idea for evolving the portableapps architecture. Possibly other people have had the same idea, I don't know, so I will say. The idea is to break each launcher into two separate modules - a launch and a cleanup modules - then to make the cleanup module hand off its duties to a _single_ cleanup "service" that is always running in the background. This way a cleanup module shouldn't need to keep running while its launched application is running, so the number of concurrent processes in a portableapps environment is reduced (halved almost). The "service" would start with the portableapps menu (it could be a part of it), it would need to be failsafe, and it should know how to carry out cleanup instructions that are handed off by each cleanup module.
I don't know if all this is technically feasible - frankly I've only developed a couple of very simple portableapps launcher - it's just an idea for 2008.
Happy new year eveyone!
Graphic comparison - current vs. enhanced architecture
CURRENT ARCHITECTURE (running processes):
-----------------------------------------
PortableAppsMenu.exe (menu)
App1Portable.exe (always running)
|_ App1.exe
App2Portable.exe (always running)
|_ App2.exe
ENHANCED ARCHITECTURE (running processes - launching phase):
---------------------------------------------------------
PortableAppsMenu.exe (menu)
|_ CleanupService (handoff cleanup instructions)
|_ App1.exe
App2Portable.exe (launching phase) [2]--> (handoff cleanup instructions)
|_ App2.exe
ENHANCED ARCHITECTURE (after launch phase):
---------------------------------------------------------
PortableAppsMenu.exe (menu)
|_ CleanupService (monitors for termination of App1 and App2)
App1.exe
App2.exe
To me. Because some people don't have the Portable Apps setup. That's make more random executables. It seems better to have each individual launcher handle its own app cleanup, unless I'm missing something important.
I think its better to have every App handle its own stuff. This way, they can be used without PAM are completely self contained. And having a Launcher run doesn't produce that much of CPU usage so I don't think that would matter either.
"What about Love?" - "Overrated. Biochemically no different than eating large quantities of chocolate." - Al Pacino in The Devils Advocate