Angry Birds is our new household obsession. J- plays it on her iPod Touch. W- plays it on his Nokia N8. Me, I caved in and installed it on my Android phone. It’s a physics-based puzzle game with amusingly Rube Goldberg-ish levels. I tell myself that playing contributes to social bonds with W- and J-.
The game is set up as a long series of puzzles much like the screen above. When you finish a puzzle by destroying all the green pigs, you see one to three stars depending on your score, and you can either replay the level or move on to the next one.
Angry Birds is easy to learn and very engaging. I’m often tempted to check out the next puzzle even when I really should be going to bed. I tried using Tea Timer to give myself five-minute limits, but that took too many taps to set up.
Solution: Use Tasker to automatically set up a five-minute time limit for Angry Birds. That way, the timing is built in. I created a quick task that started whenever I launched Angry Birds, waited five minutes, and then returned me to the home screen. It’s enough to snap me out of the timesuck haze and remind me what I should be doing.
Instead of returning to the home screen, you might want to have Tasker bring up your task list, your calendar, or a note from your saner and more productive self.
I really like Tasker. =) It takes some getting used to, but it’s powerful. It’s like being able to defadvice Android applications. defadvice is an Emacs-ism that lets you specify code that runs before, after, or around other code, and it’s one of the reasons why Emacs is amazingly programmable. In addition to context-sensitive settings (like the way I automatically turn WiFi when I leave the house), Tasker lets me specify actions and settings that are active before, after, or around other things on my Android. I wish my apps exposed more functionality to Tasker.
Here’s the XML version, if you want to import it. tasker_angry_birds.prf.xml
<class cl="TaskerData" sr=""> <class cl="Task" sr="task21"> <id>21</id> <class cl="Action" sr="act1"> <class cl="IntArg" sr="arg0"> </class> <code>25</code> </class> <class cl="Action" sr="act0"> <class cl="IntArg" sr="arg4"> </class> <class cl="IntArg" sr="arg3"> </class> <class cl="IntArg" sr="arg2"> <val>5</val> </class> <class cl="IntArg" sr="arg1"> </class> <class cl="IntArg" sr="arg0"> </class> <code>30</code> </class> </class> <class cl="Profile" sr="prof15"> <nme>Angry birds</nme> <id>9999</id> <class cl="AppContext" sr="con0" ve="2"> <label0>Angry Birds</label0> <cls0>com.rovio.ka3d.App</cls0> <pkg0>com.rovio.angrybirds</pkg0> </class> <mid0>21</mid0> </class> <tv>1.0.13m</tv> </class>