Another project idea that crossed my mind was getting back into doing Android programming. Android continues to be gaining in market share, and I happen to have an Android phone I could test on. Writing Android apps is a potentially marketable skill, and one that would potentially lend itself to part-time contract work, should I wish to look for that sort of work. A project in this arena would both refresh my memory, expand my knowledge, and give me a portfolio to show for my skills. “Oh, yes, I could write an app for you. You want to know I’m capable? Well, have a look at some of the stuff I’ve done before”
I have been pondering what sort of app I’d want to write. A game? Maybe a game timer? The last time I visited my sister we were playing Taboo, and the sand timer wasn’t cutting it…the timer-watcher would forget to keep watching. So my dad ended up pulling out his iphone and setting a stopwatch alarm on there to time the remaining rounds. Would a dedicated android app potentially be more useful or work better? There seem to be chess timers out there, various other sorts of game timers, and the like. You can even download an app that IS Taboo in non-box form. Each one was riddled with its own sorts of issues, that one looks to specialized, not easy to use for just replacing the timer from this or that game, not pretty to look at, not intuitive, etc. Things have been written, but nothing that would be as simple as I’d like, while adding more useful functionality than just using the stopwatch. Like I might want the game-time for popular games pre-populated so I don’t have to remember whether boggle uses a 3 minute timer or a 1 minute timer. I might want optional “loud ticking” or some other auditory warning when time is running out. I want to just click a button or two when I launch the app so I can get going quick. 3 minute timer, go. Easy to pause. Without a lot of fuss out of the box, making it take less time to set up than a general stopwatch program. If you could make the user-interface dead-simple and easy to use, AND aesthetically pleasing, there might be an app worth the trouble of making.
Trying to solve an actual problem on my phone revealed another potential project. My phone’s been having frequent sudden drops in amount of battery available. It’s also had some problems with wake-lock freezing the phone, and some dead-zones due to some geographical features of where I’m trying to use my phone. So I’ve been trying to passively monitor why my phone’s battery is going from lots of juice to “charge me RIGHT now”. Android has a built in battery monitor graph, but you can’t zoom in on the graph, which seems to be a big problem because I see this big drop that happened four hours ago and I can’t zoom in to see what time that was…was that when someone called or texted? Or around the time of day I pulled the battery? Was the screen on? Was I using the phone? Did I receive a voice call? And for that matter, why is my phone being awake so much when I’m not using it? Is there something eating my battery that needs to be uninstalled Some of these things you can tell from the built in battery monitor, some you can’t directly. I looked at 3rd party apps, and there was one that had a semi-decent historical graph which showed voice calls in addition to what android shows by default, but I didn’t like some of the other things it came with, like doing it’s own logging (wasting battery) and monitoring other apps for hogging the battery (again, wasting more battery). So I keep finding myself wanting better battery use graph that allows zooming. When you start showing 8 hours on a 2″ wide screen, you start to not see a lot of detail. I’d want something that just looks at existing system logs if they’re exposed (they must be somehow because one of the apps I downloaded appears to be replicating the battery use module slightly better) and gives clues as to what was going on then, so I can trace it to whether that unexpected drop was not so unexpected after all, or whether I need to look into whether something is using too much battery that shouldn’t be for unnecessary updates, mis-configured etc.