September 03, 2008

Code Signing in Adobe AIR

Ever wanted to know the ins-and-outs of the Adobe AIR code signing implementation? It's a complicated subject with big implications, but the details aren't necessarily intuitive and are frequently misunderstood. Dr. Dobb's Journal has published an article on code signing in AIR, authored by this blogger.

August 27, 2008

Cloud Computing and Over-Sharing

The New York Times blog Bits has an interesting post today about how it can be a bit too easy to share your documents hosted by the Google cloud. Something to keep in mind for your next user experience design session.

August 06, 2008

MAX 2008 is Gearing Up

Although it might seem far away, MAX 2008 is approaching quickly.

Nominations for the MAX Awards are due August 25th.

The early bird registration discount for the North America conference (Nov 16-19) is available until August 31st.

Information on sessions is available via the Session Locator. Shameless plug: I'll be presenting a talk on high-performance AIR applications on Wednesday.

July 30, 2008

Cleaning Up Sensitive User Data

Applications sometimes store potentially sensitive data. Sometimes the items are obviously so, like store passwords. Sometimes it's less obvious but still sensitive, like your browser history.

I was recently asked how an AIR application could make sure that sensitive data it stores was cleaned up as part of the application uninstall process. That, unfortunately, isn't possible.

Not all is lost, however. Instead of depending on the uninstall process, applications that store sensitive data should include an explicit method (e.g., a menu item) for clearing that data. Your browser, for example, probably already has such an option. Users can use this before they uninstall to make sure that data is cleared out. As a bonus, they can use it without uninstall, too.

How to clean up the data? In general, deleting the files is sufficient. If you're using the EncryptedLocalStore API, use the reset() method to erase it.

Why Uninstallers Don't Clean Up User Files

In my previous post, I described why installers don't do per-user setup. Do the same issues apply at uninstall time?

Yes, only more so. First, as with installation, the user directories may not be accessible to the installer. This can happen, as I've mentioned before, when using Windows roaming profiles.

Even if you could access the user directories you may not get to run any code to do the cleanup, anyway. On Mac OS, for example, the preferred uninstall method is simply dragging the application to the trash. There is no uninstaller to do any work.

Finally, it isn't always clear what you should clean up, anyway. Clearly user documents should not be removed. What about preferences? If the user is done with an application forever—and they're not going to reinstall it—then delete the preferences might be reasonable. But what if the application is going to get reinstalled right away? Or re-installed in a week or a month? Should the user preferences persist across the uninstall/reinstall? It isn't clear.