TL;DR: we built a DNSimple Slack app and it's a total blast!
Either to troll your coworkers or to get some work done, we hope the DNSimple Slack app to become your weapon of choice in your team's Slack channel.
All was not :champagne: and :tada:, we did run into quite a few bumps during the development of this app. Lessons learned… and shared! Jump below to read the back story.
Onward with the feature breakdown:
Can I register a domain right from a Slack Channel?
It can happen in two parts – depending how confident you are that your (soon to be) domain will be available:
/dnsimple checkto check if a domain is available.
/dnsimple registerto register a domain.
Disclaimer: We are not responsible for coworkers who might go on a domain registration binge.
Can I edit DNS records too?
/dnsimple add recordto add a record to a domain.
/dnsimple list recordsto list the records of a domain.
Can I manage my account?
Here is the list of commands that we currently support:
/dnsimple list contactsto list the contacts in your account.
/dnsimple list domainsto list the domains in your account.
/dnsimple show domainto show information for a single domain in your account.
Can I use it to prank my coworkers?
Ok then… Is there anything it can't do?
YES… You can't toss a coin to avoid a heated argument with a coworker but it's ok, there's already a Slack app for that. You can't call for outrageous Kanye quotes either. Anyways, there's already an app for that. You can't get weird in order to get your caffeine fix. Sorry.
Seriously though, the DNSimple Slack app does have its limitations. We tried to keep it simple and fun to use. Hit us up for feature requests!
"The reward is the journey" as they say. Ours was quite bumpy, but extremely rewarding. There were lots of lessons learned during the development of the Slack app. For those of you who enjoy these kind of write-ups, here's how the DNSimple Slack App came to be…
Once upon a time on a beach, far, far away
Back in February, I was hit hard by the winter blues – a syndrome that typically hits Canadians & Scandinavians halfway through winter, when we realize that freezing our :peach: off is overrated, and that sun light is essential to one's sanity. Having had enough of the grueling Canadian winter, I thought it would be of great relief to hop across the pond to go work with a couple of European DNSimplers in the south of Spain.
The freedom of choosing where I work from is something that is at the heart of DNSimple's culture as a globally distributed team. The fact that such escapes are even possible still blows my mind. #RemoteWorkingFTW
So there I was, in the mediterranean town of El Mojón, with Sebastian and Javier, two of the three Spaniards on the team.
We used the first typical Spanish lunch, enjoying a tasty paella and a couple cañas by the beach, to discuss our plans for the week. We immediately agreed on taking this "family" reunion as an opportunity to work together on a side-project.
Building a proper Slack app came forth as it had been on all of our minds for a while.
It seemed like the perfect project. We were excited by the tempation to build the first domain management Slack App Directory, but even moreso, it was the thought of registering hilarious domains directly from our team's Slack channel that made us do it.
Our goal was straightforward: the DNSimple Slack app should make it quick and fun to register a domain and to update an account right from a team's Slack channel.
Naively, we thought we could build and launch the said project within a week… Well, that didn't happen.
Poor planning, silos and the art of generating a hot mess
After a week at DNSimple Spain HQ – well, on Sebastian's beach house – we had the basics of the app working, but we were far from being ready to submit it for review to Slack.
That's where things started to divert from our original plan…
First off, the timeline for the project was totally off. Normally, this wouldn't have been an issue since we typically don't work with deadlines at DNSimple – things are ready when they are ready.
In this case, however, it mattered because we chose to write the app in a private repository where only the three of us could contribute. And this, my friend, is called working in "silos"… and 'working in silos' is bad. In all fairness, we were under the impression that this would provide each of us with somewhat greater freedom to experiment with new ways of doing things without being under scrutiny of the rest of the team. We were wrong.
We quickly got ourselves in an awkward situation by having the rest of the team on the outside – asking questions – and us three on the inside, wondering how to get this thing done. The further we went, the worse it got, as new API endpoints had to be created and we began to desperatly need outside help.
At week 3, the Slack app had grown into the proverbial elephant in the room. By then, we – on the inside – were all back home and submerged with our other tasks and the development seemed to have come to a halt.
It was clear that we had waited too long to bring the repository public to our team. We finally opened it up and things began to take off again. It took us an additional month to complete the app.
Bottom line, side projects are fun, provided that they are built following the modus operandi of your team. In hindsight, we could have saved ourselves many headaches by going public with our idea much sooner.
Happy Slackin'! Oh, and don't forget to read the comic that we made for this launch!
Add DNSimple to your Slack channel