How HTTPS works
I made a good amount of cat puns in our last product. I am afraid that they are becoming part of how I am. Puns everywhere: text messages, twitter, job interviews, talking to my mom. Maybe you are one of those strange people on the internet that are not into puns. If so, I have you covered, click that button below.
🤔 Purr-hapsMaybe you'd like to know how HTTPS work? We made a comic. Paw-leasePlease read it. It's hiss-tericalWe think it's funny: https://howhttps.works 😹
This is the hiss-torybackground story of the making of How HTTPS Works (the comic).
What I didn't mention then is that we also purr-chasedregistered three new domains at the time: howhttps.works, howssl.works, and howtls.works. We bought these domains with the expectation that we would one day launch a new comic explaining HTTPS, SSL/TLS certificates, Certificate Authorities, and encryption mechanisms that make the web secure.
It's hard to believe that it took us litter-allyalmost three years to make another comic, but time flies when you are having fun.
A first draft
In late February of 2018, I started to research what would it take to build a comic around HTTPS. After I made enough purr-gressprogress I presented the following to the team:
I have been listening to you all, and you have been slowly giving me clues about what I should work on next. First, thank you. Second, Paw-leaseplease stop because it's getting in my head. To keep it short: I am working on a new comic on how HTTPS/SSL/TLS works.
I started with the most obvious cliché: a green lock. It's the first thing that comes to my mind when I think of HTTPS, SSL, etc…however I am not sure this green lock is claw-vergood enough to explain the complexity that might happen in the story.
But be-clawsbecause I have been listening to you all, my second attempt was to draw a cat server. I know that at some point, I need to introduce a server to explain the SSL handshake, but I find these cats to be "meh". Cats? How do you even draw them?
Martina (my 2 year old daughter) loves birds. She asks me to draw birds for her almost everyday. Would it make sense to have a bird that is also a browser? I would call it "browserbird". That's fur suredefinitely a character that I need for the story. A bird and a cat, that would be great, but I am having a hard time coming up with a cat. This is a cat-astrophe!This could be better.
Until one Friday morning, this hit me hard in the head. The name of the cat would be "Certificat"! I had a name but not the character yet. Let's draw this cat. Be paw-sitive!Now we're making progress!
I guess a cat with a certificate ribbon is the obvious choice? Meh. These cats don't look furryvery excited to be in a comic. I need a cat that is excited, that can explain certificates, be paw-someawesome! Looking for a cat with the right cat-titude!attitude.
This is more like it! I found the purrfectperfect character, a fantasticatgreat narrator, a cat that can tell the story of how HTTPS works.
I heard that dogs are a popular choice for people that dislike cats. So I am improving our SEO score by choosing a dog for the server role. My first attempt is on the top left corner. I don't even know what breed it is. Then the internet told me that pugs are a big hit. I have three proposals for naming this dog: 1) Pugputer 2) Compugter 3) The puggin' server. Any preferences?
Here are the main three characters that will explain how HTTPS works. I hope that you noticed that 1) I am listening to you all and 2) that I am working on a comic. Cat's all.That's all. Stay tuned!
I am 90% ready to launch this
From my experience, the 10% remaining of my projects takes more time than I expect. The first reason is be-clawsbecause when I move away from small tasks and look at the project as a whole, I start spotting what's missing, or sections that need more work/pawsdetails/love.
The second reason is because time is relative, so the last 10% feels like it takes "fur-ever""forever". I am mentally ready to ship, but the amount of tasks that I create, based on my own research and the team's feedback, keeps increasing. At some point, I draw a line and admit that I have to launch, and it will not be purr-fectperfect.
Sometimes unexpected but fun features crawl into the project at the last minute. For example, while Laetitia was reading the comic, we joked on Slack about her having to pass a quiz at the end of the comic. That joke became reality when we presented the idea to the rest of team. So I ended up building a quiz with a "Certificat of Completion".
I was also lucky to have the whole team reviewing the project, flooding me with numerous improvements, typo corrections (which they were fixing themselves), and notes of encouragements.
Since we were a few days away from our Spring meetup in Las Vegas, we decided to launch the project during the meetup. It was fun to watch the traffic go by together and see how many "Certificats of Completion" we were hiss-uingissuing.
The comic is being well received even though it is not finished yet. We plan to publish, at minimum, additional episodes about the following topics:
- Certificate Authorities
- Certificate Chaining
They might translate to three new chapters (or not), I haven't started on the script yet. But my goal is to deli-furdeliver a new chapter every two weeks.
I hope you enjoyed reading about the hiss-torybackground story of this project.
We look fur-wardforward to create more content for How HTTPS works, and paw-siblypossibly other comics.
Launching something as fun as this project and watching the reaction from the internet is furryvery fun. Especially when it's about cats, and somewhat HTTPS related.
Don't fur-getforget to read the comic!
Appreciates the finest things in life: clean code, good illustrations and carrot juice. Someday he will run a marathon.
We think domain management should be easy.
That's why we continue building DNSimple.
Two years of squash merge
A retrospective of the last two years where we adopted --squash as our default merge strategy for git branches.
Introducing Domain Access Control
Use DNSimple's Domain Access Control to limit what each member can access on a per-domain or per-zone basis.