On Firebase

A personal musing

Divan Visagie
From The Couch
Published in
4 min readJun 8, 2017

--

I had heard the name Firebase mentioned quite a few times in the past but never really took much notice of it. However this year, for some reason I decided to watch a Google I/O talk on it, and another…and another. This thing looked pretty useful, so I thought: “Hey, why not give it a try”

It didn’t take long before I decided that this tool was definitely one that I would adopt into my own personal toolbox, it’s quick and easy and it helps solve a problem I have been having.

Quite often I find myself in a situation where I want to build an app to achieve some small task, an idea that comes out of a conversation, frustration, or sitting staring at the coffee machine for too long, and I have a theory about ideas; You should action them as quickly as possible.

Ideas should be tested to see if they are viable , but you shouldn’t waste any unnecessary time, most of my ideas in the past have never been tested though. The problem is that as soon as I start thinking about the database architecture, and how I am going to handle authentication, I lose motivation quite quickly. I know how to do all this, but it’s mundane and time consuming and I have a day job. So I make excuses to use new technologies that I don’t understand and have to ramp up on, and soon enough I have built the scaffolding for a skyscraper when all I really wanted was a shed. This usually ends up as an abandoned project.

The other issue is that when experimenting with new client technologies, you really don’t want to be setting up a back-end. You want to dive right in to the shiny new tech and achieve something as quickly as possible.

Firebase solves this for me. I can immediately spin up the free tier and start tinkering with a new idea almost exclusively on the front end. And this I did.

In a single Saturday I was able to write a working app with authentication and database storage, this was the Saturday following the Friday evening Google I/O 2017 binge. So that means I went from not knowing anything to a functional app in a day, not bad at all! It allowed me to spend my time tinkering with how I wanted the front end to look in Polymer 2 (First time I used v2) and not worry about how I was storing data.

This is what the app looked like at the end of Saturday. It’s a joke tracker by the way, because TODO apps as examples are too mainstream.

I had authentication, add and delete working at this point (no edit because I want to be cool like Twitter and pretend my app is too complicated for edit). The most time consuming part was actually figuring out how to make Firebase database rules that only allowed deletion by the user that created the item. I probably lost more time than I should have on that due to my headfirst style of trying things before reading the manual.

Since then I have made improvements to the UI exclusively and have not even once changed any of the structure inside Firebase. I also developed a better taste in shades of green.

I still add little features from time to time, but what I am happy about is just how presentable this little project is for the amount of time I have spent on it. It really stands out as something that looks complete in the weekend project graveyard that is my GitHub account, and the link works, and goes to a real hosted place!

What’s more is if I ever do something a bit more meaty than a joke tracker, and people actually want to use it, then I can very easily step up a tier, if not , at least it’s a project with a link that actually works.

This does not mean that I will no longer tinker with back-end tech on the weekends like I have always done, but it really helps me separate idea experimentation from technology experimentation. And that’s the reason I have added Firebase to my toolbox.

--

--

Divan Visagie
From The Couch

I write about tech and anything else I find interesting