Reinventing the wheel is overrated, so we were always intending to build Balu on a “back end as a service”. These services are great. They are hosting services with lots of trimmings. They mean you don’t need to fiddle around with databases; they come with analytics out of the box; user authentication is just two lines of code. Months of effort saved.
We decided to go with Parse.com.
It seemed like a safe bet – owned by Facebook, and used by some big players. And then there was the tagline…
“Building apps isn’t easy, but we get you pretty close.”
Sounds perfect? It was.
Until Facebook decided to turn it off.
They pull the plug, and Balu dies.
So we’ve spent the last two months learning a lot of new tech, and putting in some serious hard graft, to move Balu off Parse.com. This has been really frustrating for us, because all those hours of work (156, to be precise) could have – should have – gone into taking Balu forwards. Instead, we’ve taken Balu sidewards.
But we’re done now, and the new version will be released very soon.
Chrome will automatically update your browser extension for you – it will happen sometime in mid December. Unfortunately you’ll be forcibly logged out. Sorry, nothing we can do about that. But the next time you’re shopping, Balu will tell you you’re logged out and you can get back in with the same username and password.
Any problems, please get in touch at firstname.lastname@example.org
Some technical stuff about the new environment
To (slightly) redeem themselves, Facebook open-sourced the Parse Server. That means the code that used to run on Parse.com is now available for us to run ourselves, on our own computers, or hosted on a cloud service like AWS (Amazon Web Services) or Heroku.
So that’s what we’ve done.
We’ve migrated the Balu database over to mLab, and set up our own Balu Parse Server and a Balu Parse Dashboard on Heroku. This was a bit painful, but thanks to a wonderful online tech community, who had explored and resolved many issues before we got to them, we struggled through.
So with our new server set up, we turned to our apps…
Thankfully, the Balu Chrome Browser Extension pretty much worked straight away. It talks to Heroku, Heroku talks to mLab. Fine.
But our main web app (an admin tool for adding new ethical brands to Balu) needed to be entirely rebuilt in Node and Express. That’s what took the bulk of the time. Our other web app, the directory on the website, will just about continue to work with minimal changes – but not perfectly. We’re less bothered about this, because it was always a rushed job that needed a proper rebuild. So now that the key stuff is done we’re going to tackle the directory properly.