[Galaxy S II Themes and Apps] Chainfire:
I'm going to try to answer various questions in a single post here, I hope I get them all and keep them understandable.

- First, understand that I made this more as a gimmick, and didn't really think people would find it very useful, that's why it's rather playful in layout, name, etc ;)

- Indeed, you have to make sure the device keeps charging. The program only runs when the phone is in the charger. If you remove the plug, the phone will truly shut down. If you were to lose power (temporary power outage for example) it will however restart itself and continue with the previously selected settings. However, should a power outage occur at the moment the device is scheduled to restart (either due to charge percentage or time-based), it will not do so (that may be fixed, though).

- Themes, graphics, etc: Nothing is currently truly rendered, there is no special font renderer etc. There is no theming support built-in (though I have considered it for the future). However, everything works with PNGs you can modify yourself, they are located in /system/nomoarpowah. Don't like the balloons? You could take logo.png and rebootnow.png from that folder and replace them with your own. Want the text gray? Modify the font-*.png files, etc. It's work, but if you want to do it now before I build other possibilities for it, you can certainly do so. I would however advise to keep the dimensions of those PNG files exactly the same, and be sure to save the replacement files without an alpha channel. While most of the positioning is dynamic based on the image dimensions, there are some values hardcoded, so if you change the dimensions things may get weird.

- Further functionality, playing sounds (alarm), changing brightness, etc. What you need to realise is that the program that runs while charging is bare-bones Linux program. There is no Android framework (or any other) which means that absolutely everything is manually coded. The only thing I have to work with is a half-loaded Linux kernel. Putting graphics on the screen is just writing to a certain memory location. This is also the reason I have not made that screen more advanced, because it is a LOT of work to create something simple as for example a screen to manually select a wake-up time. And by a LOT I mean thousands upon thousands of lines of code, excluding the graphics. Playing a sound as alarm? I'd have to build an MP3 decoder and player. Changing the brightness has the same issue, with the added complication that some Samsung-built services are still running in the background that manage the actual charging, button presses and screen control - a service I do not want to replace as it is likely device-specific and unknown what it does exactly (its not open source). What if I miss one of the functions? However, since most of the devices this runs on are AMOLED anyways, and there really is no backlight, reducing the brightness of the actual images rendered has exactly the same effect as reducing a generic brightness setting would have (this is not true for LCD).

None of these things are impossible to do. But many of them do require a (comparatively) ridiculous amount of work to get done. What takes 3 minutes to build in an Android app can easily take 3 days in an app such as this. Now, if there is massive demand (which would then also translate to Market sales), I might well implement some of them, or all of them. Making a framework for non-Android boot has been on my list for some time, and it's something I have done before on other platforms, so I have experience in the what and how of it, but it's still quite a lengthy operation. (If only every day had 72 hours!)

I hope that clears some stuff up :)