Hi all,
Two of my store listings are aimed at developers rather than wearers, and I suspect most of you don’t know they exist, so here’s a quick intro: DevTestClock (a watch face) and DevTestApp (a utility). Both are configurable through the phone app, and DevTestApp’s memory use can also be adjusted on the fly through the buttons.
What they do: each one deliberately holds a chosen amount of memory while it runs, in its screen (GUI) and in its background service (SVC), so it can stand in for a heavier face or a bigger app than whatever you’re testing against. You set a total for each side in KB, including the tool’s own size, and it takes the rest. The screen shows what’s held against each total, and a line changes colour if the watch couldn’t give it all of it. Underneath, FREE and LARGEST are meant to show the watch’s own figures for free memory and the largest free block, the block being what decides whether an app has room to start. Firmware 1.5.0 doesn’t hand those out to apps yet, so for now that line reads HEAP REFUSED; the day it does, the numbers will just appear. A configurable banner that defaults to “DEVELOPMENT”, displays along the bottom and hopefully means you’ll never mistake either one for a real clock.
DevTestClock on its own: “will my app still start from a heavy face?” Set DevTestClock as your watch face, give it a screen total, and launch your app. Keep raising the total until your app no longer opens, and you’ve found your headroom. The face stays in memory while apps start over it, so its size comes straight out of what your app gets.
DevTestApp on its own: “will other people’s apps still start from my face?” If you’re building a face, launch DevTestApp from it and step its totals with UP and DOWN (16 KB a press to start, and hold SELECT to switch between GUI and SVC). The new figure is taken two seconds after your last press. When it won’t open any more, that’s how much room your face leaves everyone else.
Both together: a crowded watch. DevTestClock as the face at one size, DevTestApp’s service left running at another (turn on Keep the service when leaving, and BACK then leaves the screen while the service stays, holding its total), and your own app launched into whatever is left. It’s the closest I’ve found to reproducing “it works on my watch but not on theirs”.
One word of caution: on the 1.5.0 release candidates, an app that started short of memory could restart the watch rather than just refuse to open. I haven’t checked that on 1.5.0 final yet, so don’t push the totals hard in the middle of anything you care about.
Both need firmware 1.5.0. If you find a use I haven’t thought of, or there’s a figure you’d like on screen that isn’t there, or there’s a feature you feel would improve these, let me know here!