Please Log In or Register - it's FREE!

3 Pages V   1 2 3 >  
Reply to this topicStart new topic
 [APP] EverApp V0.2 - Application persistence under WM6.x
Rating 5 V
zman919
post Aug 9 2009, 22:04
Post #1


Newbie
Group Icon

Group: Posters
Posts: 40
Favorited Topics: 2
Joined: 30th April 2009
Member No.: 533,823



EverApp

EverApp allows WM6.x users to make individual applications immune from Windows Mobile memory management. Apps managed by EverApp will remain open and accessible regardless of memory conditions.


CURRENT VERSION
0.2 Beta - http://www.megaupload.com/?d=05DATYR8

Alternates:
http://www.4shared.com/file/126862488/ea7a...taller_V02.html


FREQUENTLY ASKED QUESTIONS


Q: Why was EverApp created?

EverApp was created to solve a problem plaguing many users under WM6.5 (though it is potentially beneficial for any WM6.x user). The memory management routines under WM6.5 seem particularly aggressive, and many users experience situations where they can only keep one or two applications open simultaneously before WM begins shutting down background apps.


Q: Why is this a problem?

In a perfect world, every WM app would be written properly. That is, it *should* save its state when shutting down and restore it when starting up. In this way, the fact that an application gets shut down by the operating system is almost transparent to the user. In situations where the application performs some function that needs to run continuously (like an MP3 player, for example), the application *should* employ a UI thread and a processing thread so that killing the UI thread doesn't stop the player.

Unfortunately we don't live in a perfect world, and lots of useful applications out there don't play well with Windows Mobile memory management. Blame the app, or blame Windows Mobile. Regardless, in situations where the application stops functioning as desired when shut down by WM memory management, EverApp can help sidestep the problem.


Q: How does it work?

EverApp continually monitors the list of running apps. When it detects that a protected application has been sent to the background, EverApp temporarily re-assigns that application's window to a special, hidden window owned by EverApp. This special window is immune to shutdown by WM memory management. Likewise, applications assigned as children of this window are also immune to shutdown.

The protected application continues running in the background (it won't appear on most task switchers, but is visibile in the process list). When the application is requested (activated) by the user through the EverApp UI, EverApp fully restores the hidden application.


Q: Can/Should I use it for *any* application?

No. You should avoid it using on applications which already gracefully handle shutdowns themselves, and/or already use background processes to manage their own persistence (for example, iGo and Pocket Player). Applications that don't serve a valuable function just sitting in the background (app launchers, for example) don't generally need to be protected. It also may not work well on applications that do extraordinary things with their windows. Please post results so that we can continue to expand the list of known problem-apps below.


Q: This sounds promising, but won't keeping too many apps running cause stability issues?


Possibly, yes. There's a reason WM tries to shut down applications as you open new ones. Trying to manage 2 or 3 critical applications through EverApp should be fine. Trying to run a dozen might cause WM to actually run out of memory and crash/shutdown. It's important to pick just those apps that are valuable to keep running full-time and don't already manage themselves properly.


Q: What are the operating system requirements?

.NET Compact Framework 3.5
Windows Mobile 6.x


Q: What handhelds will this work on?

It was developed and tested on an Omnia i910. However, it should function properly on any WM6.x device. Please post success and failure stories to the thread so we can keep track and address hardware issues that may crop up.


Q: What enhancements are planned?

Autostart the service on WM startup
[Done] Command-line interface (so you can activate an app without having to use the EverApp UI)
Better visual indication in the Protected Apps list of what is currently not running/running/protected
Inclusion of non-protected apps in the app list (making EverApp a general task manager as well).


Q: How does it impact battery life?

The monitoring EverApp does is pretty lightweight. All testing thus far has shown no noticeable impact on battery life.


Q: What applications should I avoid using EverApp for (these apps already manage themselves properly and/or make complex use of their windows that causes problems for EverApp)?

EverApp, S2U2, Conduit Pocket Player, iGo8
(more to follow...)


Q: I'm going to flash my phone and I want to preserve EverApp's configuration. How can I do that?

Copy everapp.xml from your EverApp application folder (\program files\everapp or wherever you installed to) and put it someplace safe. After flashing, re-install EverApp. Before starting EverApp, copy everapp.xml back in to the new EverApp application folder.


Q: How can you have a "Frequently" Asked Questions list when the app is brand new?


Magic. smile.gif


CHANGE LOG


V0.2 Beta
  • EverApp now functions as an App Launcher. Activating a non-running app will launch it.
  • EverAppCmd included, which allows activation of apps without having to use the UI.
  • Added "Manage Duplicates" for individual applications. When enabled, EverApp will detect if a second instance of a protected app is launched, kill it, and bring the original protected app into the foreground.
V0.1 Beta
  • Initial release


QUICK DOCS

Install the attached CAB as you would any other CAB.
Launch EverApp from the Start menu.

Main UI

This presents a list of protected applications. Initially this will be completely blank, so don't be alarmed if the application looks a little empty.

Soft Button Menu Options

Main->Add
Allows you to add executables to EverApp's list of protected applications. Note that the application does NOT have to currently be running to be Added.

Main->Remove
Remove the currently selected application from the list of protected apps.

Main->Run/Stop Service
Toggles the EverApp monitoring service. This service needs to be running for applications to be monitored and protected.

Main->About & Exit
Fairly self-explanatory. (Note that exiting the UI will leave the EverApp service running once it has been started, so you can go ahead and close the UI without worrying about interrupting monitoring and protection).

Activate
This will unhide the selected application (assuming it is currently being protected by EverApp). You can also double-click the app in the list or press/hold and select Activate from the popup menu.

Protected App List context menu (press and hold an app)

Add
Same as Main->Add

Remove
Same as Main->Remove

Manage Duplicates
When enabled, EverApp will detect if a second instance of a protected app is launched, kill it, and bring the original protected app into the foreground.

EACmdLine.exe

This allows the creation of shortcuts that can be used to activate protected apps. This is useful if you want to bind activation of a protected app to a hardware key. The format for the shortcut should be:

\full\path\to\EACmdLine.exe show "\full\path\to\target"


This post has been edited by zman919: Aug 22 2009, 13:22
Go to the top of the page
 
+Quote Post
zman919
post Aug 9 2009, 22:05
Post #2


Newbie
Group Icon

Group: Posters
Posts: 40
Favorited Topics: 2
Joined: 30th April 2009
Member No.: 533,823



- Reserved for future use -
Go to the top of the page
 
+Quote Post
sector
post Aug 9 2009, 22:36
Post #3


Hardcore
Group Icon

Group: Moderator Team
Posts: 2,311
Favorited Topics: 163
Joined: 18th September 2005
Member No.: 150,032

Device(s): Samsung Omnia



Thank you for this smile.gif. Will report after long testing procedures.


--------------------
If you like my work buy me a beer :) !

WM 6.5/6.1 roms, Themes, Taskbar etc... :D
Go to the top of the page
 
+Quote Post
JaGuR
post Aug 9 2009, 22:42
Post #4


Newbie
Group Icon

Group: Posters
Posts: 46
Joined: 1st August 2009
Member No.: 570,782

Device(s): Omnia i900



Great Work biggrin.gif

Your efforts are truely Appreciated !!
Go to the top of the page
 
+Quote Post
JaGuR
post Aug 9 2009, 23:07
Post #5


Newbie
Group Icon

Group: Posters
Posts: 46
Joined: 1st August 2009
Member No.: 570,782

Device(s): Omnia i900



QUOTE(JaGuR @ Aug 9 2009, 22:42) *
Great Work biggrin.gif

Your efforts are truely Appreciated !!



OK, couple of quick questions,

Do we need to re-start EverApp every time we do a soft reset ?

and also

Do we need to add EverApp to the list to not be closed down ?

Cheers


This post has been edited by JaGuR: Aug 9 2009, 23:20
Go to the top of the page
 
+Quote Post
zman919
post Aug 10 2009, 01:48
Post #6


Newbie
Group Icon

Group: Posters
Posts: 40
Favorited Topics: 2
Joined: 30th April 2009
Member No.: 533,823



QUOTE(JaGuR @ Aug 9 2009, 23:07) *
OK, couple of quick questions,

Do we need to re-start EverApp every time we do a soft reset ?

Cheers


Until I add Autostart functionality, yes -- you'll need to run EverApp and select "Start Service" on each reboot. (Alternatively, you can add EAService.exe to the startup folder).


QUOTE
Do we need to add EverApp to the list to not be closed down ?


Nope. EverApp is really two applications -- a UI component ("EverApp"), and a service-oriented app ("EAService"). It's EAService that runs in the background and does all the heavy lifting (ie, monitoring and management). It's immune to shutdown since it doesn't have a visible window. You don't need to add EverApp as a monitored app.


This post has been edited by zman919: Aug 10 2009, 01:56
Go to the top of the page
 
+Quote Post
JaGuR
post Aug 10 2009, 02:15
Post #7


Newbie
Group Icon

Group: Posters
Posts: 46
Joined: 1st August 2009
Member No.: 570,782

Device(s): Omnia i900



QUOTE(zman919 @ Aug 10 2009, 01:48) *
Until I add Autostart functionality, yes -- you'll need to run EverApp and select "Start Service" on each reboot. (Alternatively, you can add EAService.exe to the startup folder).




Nope. EverApp is really two applications -- a UI component ("EverApp"), and a service-oriented app ("EAService"). It's EAService that runs in the background and does all the heavy lifting (ie, monitoring and management). It's immune to shutdown since it doesn't have a visible window. You don't need to add EverApp as a monitored app.



Thanks,

Not sure if this is a bug, but when I added s2u2 and ilock to the imune list, s2u2 stopped working ?

I just removed them from the imune list, and s2u2 started behaving normally again, and to be honset I don't think it suffers from shutdown anyways.


This post has been edited by JaGuR: Aug 10 2009, 02:18
Go to the top of the page
 
+Quote Post
zman919
post Aug 10 2009, 02:23
Post #8


Newbie
Group Icon

Group: Posters
Posts: 40
Favorited Topics: 2
Joined: 30th April 2009
Member No.: 533,823



QUOTE(JaGuR @ Aug 10 2009, 02:15) *
Thanks,

Not sure if this is a bug, but when I added s2u2 and ilock to the imune list, s2u2 stopped working ?

I just removed them from the imune list, and s2u2 started behaving normally again, and to be honest I don't think it suffers from shutdown anyways.


Which brings up a good point -- applications that don't suffer from shutdown problems (ie, apps that already handle shutdowns properly and/or maintain background processes) shouldn't be added to EverApp. It's really geared more towards "traditional" apps. (For example, my baseline test app was Google Maps)
Go to the top of the page
 
+Quote Post
lorin.bute
post Aug 10 2009, 07:09
Post #9


Regular
Group Icon

Group: Posters
Posts: 82
Joined: 5th January 2009
From: Romania
Member No.: 476,372

Device(s): Samsung Omnia



Thank you!!!!

It works for what it need.


--------------------
HTC Touch Pro 2 T7373
ROM: Stock 1.19.401.1 (51489) WM 6.1 WWE
Radio: 3.46.25.26U
Storage: 16GB HCSD
Go to the top of the page
 
+Quote Post
Bouvrie
post Aug 10 2009, 07:29
Post #10


Regular
Group Icon

Group: Posters
Posts: 56
Joined: 18th May 2007
Member No.: 257,717

Device(s): HTC 3300



Thank you for this release! I can't wait to try and flash WM 6.5 again and give this baby a test run. Basically the closing applications is the biggest problem I have with WM6.5, this could help resolve it. smile.gif
Go to the top of the page
 
+Quote Post
JaGuR
post Aug 10 2009, 09:27
Post #11


Newbie
Group Icon

Group: Posters
Posts: 46
Joined: 1st August 2009
Member No.: 570,782

Device(s): Omnia i900



EAService crashed when running iGO8, got an error pop up saying it had crashed and it would beed to be started again.

Not sure if iGO8 is one of those programs that need to be in the immune list, so I removed it anyways wink.gif
Go to the top of the page
 
+Quote Post
naynada
post Aug 10 2009, 10:14
Post #12


Regular
Group Icon

Group: Posters
Posts: 73
Joined: 16th December 2008
Member No.: 466,036

Device(s): Omnia i900



Well, well.

IMPRESSIVE! Looks like ZE MAN has done it! You da man! =P

Yep, it definitely seems to be keeping apps alive. Objective complete ^^

=========================================================================

A few observations/notes:

1.
I can confirm that protected apps will not appear with wkTask.

Whilst for now we'd have to use the EverApp UI as a pseudo-taskmanager/switcher - zman, do you think it'd be possible to access protected processes normally in future releases? Or is that simply not possible? ohmy.gif

2.
As a consequence of point 1 (maybe?) -

If the app is protected, but is opened again (via shortcut or whatever), a new process instance of the app is opened alongside the protected process. (Confirmed with dotfred taskmanager) Maybe in future releases, the protected process could be opened instead?

For example, I have S2P protected. I opened S2P, played music. Minimized S2P. Then opened S2P again, playing music. Two streams of music played at the same time lol ><"

Also, on the topic of S2P, if it's playing then gets minimized/protected, it doesn't progress to the next track...
Minor point - album art won't show on S2U2. I think we can live with that though tongue.gif

I note however, that Nitrogen 1.1 does not have this issue - tracks will proceed as per normal.

3.
In future releases, perhaps some way of backing up the list of designated protected apps could be implemented smile.gif Not that important for now I spose.


================================================================================
==========

I'll keep testing and looking out for things to work on wink.gif


Funny "About" quote, btw biggrin.gif

Also - just noticed: in the about dialogue box, it says "Developed by zman818". But your Modaco account is zman919? LOL

Don't ask me how I noticed that... sleep.gif


Again, excellent work zman! =]

QUOTE(JaGuR @ Aug 10 2009, 19:27) *
EAService crashed when running iGO8, got an error pop up saying it had crashed and it would beed to be started again.

Not sure if iGO8 is one of those programs that need to be in the immune list, so I removed it anyways wink.gif


Hehe, yeah, I think zman may have previously said that iGO has its own persisting memory management. So no need to add it smile.gif


This post has been edited by naynada: Aug 10 2009, 10:23
Go to the top of the page
 
+Quote Post
Mothamoz
post Aug 10 2009, 10:41
Post #13


Regular
Group Icon

Group: Posters
Posts: 98
Joined: 2nd May 2009
From: The Netherlands
Member No.: 534,534

Device(s): Samsung Omnia i900



wow this sounds good, waiting to hear from sector's test results.


--------------------


My summary of a normal day:

Eat some pizza, play with my samsung omnia,
play some Xbox, watch some TV, go to bed.
Go to the top of the page
 
+Quote Post
zman919
post Aug 10 2009, 12:17
Post #14


Newbie
Group Icon

Group: Posters
Posts: 40
Favorited Topics: 2
Joined: 30th April 2009
Member No.: 533,823



<ignore me>


This post has been edited by zman919: Aug 10 2009, 12:22
Go to the top of the page
 
+Quote Post
zman919
post Aug 10 2009, 12:21
Post #15


Newbie
Group Icon

Group: Posters
Posts: 40
Favorited Topics: 2
Joined: 30th April 2009
Member No.: 533,823



QUOTE
Whilst for now we'd have to use the EverApp UI as a pseudo-taskmanager/switcher - zman, do you think it'd be possible to access protected processes normally in future releases? Or is that simply not possible?

Unfortunately I can't guarantee the ability to access protected apps through any specific task manager. Some task managers (such as FdcTaskManager) don't see protected apps, while others (such as Showcase) do. It has to do with how the particular task manager analyzes currently running processes. Since the *only* thing I'm doing to the protected apps is the whole key to the protection, I don't think I have much wiggle room to get them to appear in all task managers, but it's something I'll be looking into.

What I definitely will be adding is the ability to unhide a protected app through a command line, so in theory you could link the command line call to a button and instantly unhide a specific app.

QUOTE
If the app is protected, but is opened again (via shortcut or whatever), a new process instance of the app is opened alongside the protected process. (Confirmed with dotfred taskmanager) Maybe in future releases, the protected process could be opened instead?

Interesting. I didn't see that during my testing, but obviously I didn't test with every app possible. I assumed WM was smart enough to limit every app to a single instance, but that may have been a poor assumption on my part. Instead, each application probably does (or doesn't) take into consideration a pre-existing process itself. I should be able to bake some duplicate-process detection/management into EverApp. Thanks.

QUOTE
Also, on the topic of S2P, if it's playing then gets minimized/protected, it doesn't progress to the next track...

That's really weird. I can't understand S2P would care about having its window visible in order to progress to the next track. I can install it into my dev environment later this week and see if anything jumps out at me. Thanks.

QUOTE
Also - just noticed: in the about dialogue box, it says "Developed by zman818". But your Modaco account is zman919? LOL

Yup -- typically I'm zman818, but either someone beat me to the punch here, or (more likely) I registered a while ago and forgot which spam-pot email account I registered through. smile.gif

Thanks for your observations! Much appreciated.

Z

QUOTE
In future releases, perhaps some way of backing up the list of designated protected apps could be implemented smile.gif Not that important for now I spose.


The config is housed in \path_to_installation\everapp.xml if you want to save it somewhere else. Re-installations won't nuke your existing config, though.


This post has been edited by zman919: Aug 10 2009, 12:24
Go to the top of the page
 
+Quote Post
zman919
post Aug 10 2009, 12:27
Post #16


Newbie
Group Icon

Group: Posters
Posts: 40
Favorited Topics: 2
Joined: 30th April 2009
Member No.: 533,823



QUOTE(JaGuR @ Aug 10 2009, 09:27) *
EAService crashed when running iGO8, got an error pop up saying it had crashed and it would beed to be started again.

Not sure if iGO8 is one of those programs that need to be in the immune list, so I removed it anyways wink.gif


Yup -- iGo8 manages itself. Thanks for that. FAQ updated.
Go to the top of the page
 
+Quote Post
naynada
post Aug 10 2009, 12:38
Post #17


Regular
Group Icon

Group: Posters
Posts: 73
Joined: 16th December 2008
Member No.: 466,036

Device(s): Omnia i900



QUOTE(zman919 @ Aug 10 2009, 22:21) *
Unfortunately I can't guarantee the ability to access protected apps through any specific task manager. Some task managers (such as FdcTaskManager) don't see protected apps, while others (such as Showcase) do.


Oh awesome. Off I go to get Showcase then... =]


QUOTE(zman919)
The config is housed in \path_to_installation\everapp.xml if you want to save it somewhere else. Re-installations won't nuke your existing config, though.

oh oops I should've checked that...

Thanks! biggrin.gif
Go to the top of the page
 
+Quote Post
zagzag99
post Aug 10 2009, 14:22
Post #18


Regular
Group Icon

Group: Posters
Posts: 145
Joined: 1st November 2008
Member No.: 444,280



Very promising app.

I tried it with FingerPoint. What it does is keep the process indeed but it hides it from view.
So it's not possible to return to FingerPoint other than through EverApp.

It would be neat if EverApp had a command line execution. So that we can make a Hard/Soft Button that will run a commandline like:
EverAppCmd -show FingerPoint.exe

And EverAppCmd will either switch to the already existing FingerPoint.exe or it will Launch it for the first time, based on the location of FingerPoint.exe that it will store when I add program.

Go to the top of the page
 
+Quote Post
zman919
post Aug 10 2009, 14:46
Post #19


Newbie
Group Icon

Group: Posters
Posts: 40
Favorited Topics: 2
Joined: 30th April 2009
Member No.: 533,823



QUOTE(zagzag99 @ Aug 10 2009, 09:22) *
Very promising app.

I tried it with FingerPoint. What it does is keep the process indeed but it hides it from view.
So it's not possible to return to FingerPoint other than through EverApp.

It would be neat if EverApp had a command line execution. So that we can make a Hard/Soft Button that will run a commandline like:
EverAppCmd -show FingerPoint.exe

And EverAppCmd will either switch to the already existing FingerPoint.exe or it will Launch it for the first time, based on the location of FingerPoint.exe that it will store when I add program.


Hi Zag. Thanks.

Question -- is there a driving need to protect FingerPoint with EverApp? From what I've read, FingerPoint is an app launcher. Isn't it easier to simply bind FingerPoint to a hard/softkey itself rather than trying to keep it running full-time under EverApp? Or is there something FingerPoint does that's worth keeping it running full-time that I'm not aware of? Thanks.

And yep -- that's exactly how the EA command line functionality will work.

Z
Go to the top of the page
 
+Quote Post
zman919
post Aug 10 2009, 20:35
Post #20


Newbie
Group Icon

Group: Posters
Posts: 40
Favorited Topics: 2
Joined: 30th April 2009
Member No.: 533,823



Version 0.2 Beta released...

V0.2 Beta
  • EverApp now functions as an App Launcher. Activating a non-running app will launch it.
  • EverAppCmd included, which allows activation of apps without having to use the UI.
  • Added "Manage Duplicates" for individual applications. When enabled, EverApp will detect if a second instance of a protected app is launched, kill it, and bring the original protected app into the foreground.


This post has been edited by zman919: Aug 10 2009, 20:40
Go to the top of the page
 
+Quote Post

3 Pages V   1 2 3 >
Reply to this topicStart new topic

Collapse

Similar Topics

  Topic Replies Topic Starter Views Last Action
No New Posts Topic has attachments*** ShokkA9 WM6.5 G-ROMs *** THE END ***
** SHKv22 23017 DUSK ** SHKv23 23064 BLACK **
2,854 shokka9 315,122 Today, 15:06
Last post by: jmsmartins
No New Posts Topic has attachmentsCustom WM6.5 ROMs for i900 by Ryrzy
05.01.2010 28205/21876/23506/23616 || Normal/Lite/M2D ||
2,504 Ryrzy 407,277 Today, 18:50
Last post by: silikon
No New Posts Topic has attachmentsWM6.5 24001 + 23102 (+21888) Lite Roms - HIDE19
Classic Titanium + Neo + Swedish
1,121 Nicklashidegard 151,455 Today, 15:28
Last post by: Compuse
No New Posts Topic has attachmentsOCK's WM6.5 Roms
07 Feb 2010 |Builds 23529, 28223 & 25001 | TitaniumSense (new!
1,019 ock 93,223 Today, 17:28
Last post by: carry93
No new Topic has attachments[ROM] Guinhills Dutch WM6.5 ROM
28 Jan, new Release
53 Ganhiru 2,626 Today, 15:23
Last post by: teunuitzutphen
No New Posts Is there a way to disable auto-rotation in Messaging app?
1 ravelcop 41 Today, 18:19
Last post by: asus535

2 User(s) are reading this topic (2 Guests and 0 Anonymous Users)
0 Members:

 


RSS hit counter Lo-Fi Version Time is now: 9th February 2010 - 18:54

Please visit our 'Plus Partners' - these companies support MoDaCo through 'MoDaCo Plus' - Click Here for more details!

ActiveKitten | Binaryfish | Conduits | DeveloperOne | eSoft Interactive | FTouchSL | Inesoft | LastPass

Lingvosoft | monocube | OmegaOne | Omnisoft | Opera Software | Resco | SBSH | Splashdata

Sprite Software | Syncdata | Teksoft | Titanium Backup | VITO | WalkingHotSpot | WebIS | z4soft

Would your company like to become a 'Plus Partner'? Click Here to contact us!