I've read about how to implement Undo in web applications. There are several drawbacks to this light-weight approach on the client-side.
Does anyone know how Google implements "Undo" in their apps, e.g. GMail? Is it a client-side implementation like Aza Raskin's solution? Is it some kind of "Delete" record in a DB that gets removed again? Or something entirely different?