|Screebl Makes its Debut!|
Screebl, a utility for optimizing a user's experience when performing passive tasks, made its debut today on the Google Android Marketplace. The application controls power saving features based on phone orientation. Overall, this software has what I think are some very innovative approaches to improving user experience. I was impressed enough with myself that I spent the time and money to get a provisional patent on the concept. To describe the ideas behind Screebl in a bit more detail, I'll start at the beginning. Bear with me, it's kinda cool stuff, and it really has improved my life as a smart phone user.
One of the biggest challenges for modern mobile computing devices is power. I'm not talking about CPU power, or graphics capabilities, I'm talking about plain old battery juice. Today's batteries are woefully behind our computing capabilities in advanced mobile devices. This reality has led device manufacturers and software developers to employ power-saving features wherever and whenever possible.
Many of the power-conservation capabilities that have evolved over time are triggered off of activity indicators. Users touching the screen, moving the mouse, or using the keypad are used as cues for an intent to continue interacting with a device. As long as one of these cues has been observed recently, the device remains fully functional. Once a certain period of inactivity has elapsed, most modern devices will suspend some subset of their systems to conserve power.
This approach to power conservation has, for the most part, become second nature to those of us that use mobile devices regularly. Unlocking a suspended cell phone to make a call is generally an easy and intuitive thing to do.
As smart phones become more popular, however, there is an ever-increasing number of activities that we perform on these powerful mobile platforms. We're not just talking to Aunt Betsy anymore, we're reading email, twittering, browsing Wikipedia, playing games, and turning left on Main Street when the GPS tells us too.
A few months ago I purchased a T-Mobile G1. I was very excited about the capabilities of the phone, and immediately enabled the GPS, turned on WiFi, and cranked up the brightness on the beautiful display. About 2 hours later I was scraping the bottom of the lithium-ion barrel. I quickly realized that if I wanted to be able to make phone calls on my G1, I was going to need to conserve. It didn't take me long to swing to the other side of the mW/H spectrum by turning off every system that I didn't need at the moment, dimming my screen, and setting my inactivity timeout to 15 seconds. That improved things a lot, and I could easily make it through an average day without tethering.
But things were far from perfect. I quickly found myself being very annoyed at how often passive activities were interupted by suspension of the phone. I use the term "passive activity" to describe interacting with a device in a way that doesn't involve generating the typical indicators of activity. For example, reading a long email, looking intently at a Victoria's Secret promotional advertisement, or showing your wife the latest picture of her tagged on Facebook. Most of these operations don't provide the typical cues to the phone to let it know that I'm doing something. I found myself periodically touching the screen to keep it from blanking, which was annoying because half of the time I would end up inadvertantly clicking on a hyperlink that I had no intention of following.
Sound familiar? Well, I hated the problem enough to spend time trying to fix it. I obsess on these kinds of things. And, truth be told, I think that I actually nailed it.
My solution was pretty simple, really. I noticed that almost without exception, I held the phone in the same orientation when performing a passive task. For example when reading an email, I generally have the phone in landscape, at an angle, with the right edge higher than the left edge.
Fortunately, the Android platform running on the HTC T-Mobile G1 had all of the necessary tools to develop my idea. Most notably, Android allows processes to run in the background, and also allows those processes to monitor certain hardware sensors such as the accelerometers. Accelerometers are capable of detecting the orientation of the phone based on acceleration due to gravity.
It didn't take me long to slap together a prototype application, and I very quickly became dependant on the utility. I spent the next few weeks polishing up the ideas, and making the software configurable. Which leads us to today, the debut of Screebl. For detailed information on using and configuring Screebl, please see here.
I hope that you enjoy the software, and please don't hesitate to submit suggestions for improvements!