Supercharge your Framer prototype with Firebase, pt.1

Marc Krenn
Framer
Published in
6 min readJun 1, 2016

--

This is a follow-up series to

’s Using Parse to power up your Framer prototypes and Give your Framer prototypes a better memory. Both articles are, by the way, warmly recommended as an intro to this post.

One thing that will immediately catch your eye over at

’s articles is the sad news that

Unfortunately as of Jan. 28th, 2016, Parse is no longer accepting new users and the service will sunset on Jan 28th, 2017.

The King is dead

With the well-beloved Parse now slowly sailing into the sunset, the
Google-owned Firebase stepped in quite aggressively, and I’d say successfully so, trying to secure Parse’s former spot as the go-to
Backend-as-a-Service.

These services, in case you’re wondering, offer app developers a range of backend features, often including push notifications, user authentication and, most importantly, a database to store app data on.

“But why would I, a designer and Prototyper, even care about such services?”

After all, we’re working on frontend stuff, things people directly interact with, right? Why would you ever need a BaaS for that? Well, …

At the end of this article, you’ll look at least 10% more like these guys. j/k, don’t worry #teamgilfoyle #tabs | © HBO

My quest to become a true(?) Full Stack Prototyper

To make my point, please allow me to tell you a short story. Almost to this day a year ago, I was asked to prototype some sort of messaging app, think Successful Messaging App X meets Successful Messaging App Y, to — bluntly put — see if it’s fun and therefore worth developing.

So I did my usual prototyping thing: Started off with some wireframing, followed by designing a rough mockup of a visual interface and finally made some of its elements interactive by using Framer. You know the drill.

In the end, the prototype would let you input text, enclose some other stuff by using some custom interactions and to “send” the message. I was pretty happy with the result and at the time and we internally thought that it did a solid job of capturing the concept and the overall spirit of the app. So we moved ahead and presented the prototype to our client.

At that meeting, we then all collectively agreed that, while some of the unique interactions were kinda fun, they were not fun enough to justify putting some serious money behind it. Long story short, we shot it down and decided to move resources to other, more interesting projects of that client.

Here’s the kicker, though: The prototype we presented really shouldn’t have been used to make that decision, as it didn’t actually include the core interaction of any messaging app: Communication, you know, sending and receiving messages with real context. Now, while you could “send” your fake message, no matter how long you’ve waited, Jane Doe would never ever respond. And needless to say, in that regard it was as much fun as talking to a wall. It’s like judging the performance of a race car by its look.

Can you believe this monstrosity won a race? | © Lothar Spurzem

So, maybe it had the potential to become the next Snapchat (unlikely) or
Yo (more likely; by the way, do you even remember Yo?), but we just weren’t able to see “it”, as the prototype simply didn’t allow us to properly try and field test it. And isn’t that what we’re actually paid for?

Yup, I’m personally guilty of this potential $20bn prototyping fuck-up by making wrong decisions in regards of of scope and execution and for keeping my mouth shut about it like a true coward. The point I’m trying to make is:

As a Prototyper, you can’t “just fake” or flat out ignore the core interaction, just because it’s out of your comfort zone.

But that’s exactly what I did. In my defense, though, I didn’t know any better at the time. Getting a prototype to actually send and receive messages seemed almost impossible to do, especially considering the very limited resources that were allocated to this prototype. And to be honest, the possibility of making it (kinda) work for real didn’t even cross my mind back then.

Sure, somewhere in the back of my head I knew Parse (and later Firebase) would allow me to do exactly that, but the sheer volume of its documentation alone scared me off — after all, it was tailored to Full Stack Programmers, not Prototypers. What I, and I know for a fact I wasn’t the only one, was looking for, was a backend solution that was lightweight, easier to use and more in line with Framer’s lingo and logic.

For some reason though, little to no progress was made in that area since

’s original articles. Considering all the great possibilities of such a prototyping-friendly backend solution, I thought that was a real pity, so — despite my modest programming skills — I decided to something about it myself.

Prototype the “impossible”, delight — with the power of data

Fast forward a year and all it takes to include communication between multiple devices is a five minutes setup and about
two lines of “database” code, using my freshly released Firebase module:

Framer + Firebase is a really strong combination, allowing you to do stuff you haven’t even dreamed of before, like the actually working messaging prototype I’ve blabbered about above, or the world’s first(?) bubble popping MMO, as seen below:

Check out the Demo Projects. This one’s live at http://share.framerjs.com/xo1udhs8onpt/

But it’s also great to “just” delight your testers or clients by adding some unexpected gems to your prototypes, like persistent Like-counts, user-data and session states. Small, interactive bits that make your prototype appear more like the real deal, effectively blurring the line between a prototype and the finished app:

  • Working on a crowd-geotagging app?
    Use the Firebase module to load, save and sync map pins between all your testers, in realtime.
  • That social network thingy you’re working on?
    How about making that sign-up, login and onboarding work for real? And while you’re at it, why not let your testers actually post and share their content? (Yes, even base64-encoded images!)

Or use the module for something else entirely, like:

  • Remote control
    Let a prototype control another prototype, running on a different device or form factor (think phone ↔ TV companion apps).
  • Behavior analytics
    Track user interactions for quick and precise behavior analytics, answering burning questions like “How long did it take our testers on find that new button?”.
  • Reusable assets
    Save and load project assets (e.g. brand colors, spring values, layer properties, etc.) to Firebase and use them across multiple prototypes. No out-of-the-blue rebranding will make your prototypes look dated again.

And I’m sure that’s not even the proverbial tip of the iceberg of what you could use this module for.

Intrigued?

Then hop over to Github and give it a spin! Can’t wait to see how you’ll use Firebase to supercharge your Framer prototype® 😜

Thanks for making it all the way down here! I’d really appreciate your feedback on this article and the module. Also, please don’t hesitate to get in touch with me in case you’re stuck at some point — I’ll be happy to help.

Special thanks to

, , , , and for their early feedback on the Module and this article. You guys rock!

If you have suggestions for topics you’d like me to include in Part II, I’d love to hear them.

You can reach me via Twitter, Facebook or Slack.

Throwing in another Demo Project for good measure: http://share.framerjs.com/52oq0ivmama0/

PS: Coming up next is a Particle Module, with the rather ambitious goal of bridging physical- and On-Screen-prototyping (think IoT, car dashboards, etc.) and a Facebook Graph module, which allows users to log in and retrieve personal data from — you guessed it — Facebook.

PSS: I’m currently looking for internship opportunities with companies serious about prototyping.

Featured Image / Thumbnail

--

--

Marc Krenn
Framer
Writer for

UX- & industrial-designer, prototyper. Not necessarily in that order.