Wednesday, May 26, 2010

Screentime Gotchas

Screentime is the de-facto standard for turning flash content into screensavers. It was painful 7 years ago, and it's still painful now.

  • Screentime's AS3 support is broken right now. Specifically, checking existence of files and/or copying files always returns true, regardless of what actually happened. AS2 works fine though.
  • When using stringWrite, on OSX, you must supply the full path to the file being written.
  • Permissions behave a bit weirdly. When including, say, a config file, the Windows installation won't allow you to write to the file, but the OSX version will. You can get around this by supplying a default config, reading from that, and then writing it in the Win version - the newly created file then has all the permissions you'd want.
  • Opening a URL from a Win screensaver creates a security loophole. If the user has checked the "on resume, display the logon screen"(or whatever), the box should basically be locked, but if you open a page in the browser, you're able to browse the machine. Using getSecurityMode() clears this up - it can tell you whether the box is checked or not, and you can behave accordingly.
  • Screentime have drunk some sort of asynchrony cool-aid. I'm pretty sure this is implemented with speed and all that in mind, but having to use registerCallBack() for everything - even detecting the security mode means that I have to chain stuff together, which is brittle.