It's morphin' time!

header image

Part of building a great product is ensuring your bug count remains as close to zero as possible. Most organizations have a bug tracker of some kind, where folks submit bug reports, ideally with steps to reproduce the bug.

And, if your organization is like ours, the first thing you attempt is to reproduce the issue on your machine.

At Bloc, we discovered early that reproducing bug conditions was actually pretty tedious, especially if it was reported by a user, and presumably not an administrator or developer. So we built a little feature that let us "become" a user temporarily, in order to spot-check and confirm whether or not the reported issue was real.

We call it morphing. It is, without a doubt, the most used feature at BlocHQ. It's very common to overhear the phrase "try morphing into Bob".

Since we use it so often, we thought it would be nice to share this little piece of useful functionality with the rest of the developer community. So today we're open sourcing the morphing library for rails.

Here's how we use it.

On a user's profile page, for admin-eyes-only, we link to the morph feature:

image of morphing button

(Thanks to Christian and his friend Wednesday for allowing us to feature them)

If you have permission, clicking that "morph" link will present you with the following persistent banner:

morphing banner

This is a constant reminder that you are, indeed, morphed into another user, so that you don't accidentally perform a destructive action of some kind.

Read about how to use morphing on the github page. Bug reports, feature requests, and pull requests welcome!