Safari, Firefox, Edge. This is why we love open-source.

Nathan James
GetScatter
Published in
4 min readOct 2, 2018

There’s nothing like a late night PR to get the blood pumping. Pull requests ( PRs ) are when someone who isn’t a core member of a project’s team suggests some code on a project. Usually pull requests aren’t very helpful. Most of the time they are either flat out rejected or just sit there for a while and collect dust because the benefit of merging them makes very little difference and the payoff isn’t worth the work.

Tonight’s PR was different. It comes from Sean over at EOSBet who lavishly lubricated the Scatter ecosystem with a PR that brings a whole new level to blockchain usability.

Scatter is a digital signature provider for the blockchain. Learn more about what we are building here.

Sean contacted me while I was going through the routine of putting my daughter to sleep. Three words. Bath, books, bedtime. Sean had three very different words to share with me though. Safari, Firefox, Edge.

I briefly read through the code he was suggesting while I was giving my daughter a bath. It wasn’t just solid, it was magnificent. It made me tingle a bit. We’d been having an issue recently running Scatter’s local connection through SSL from a previous session together and his PR solved that problem in a very elegant and wide-reaching way. While reading to my daughter I slipped up a few times as my mind was racing and blurted out a few very technical terms. She didn’t seem to mind. Good girl.

She finally went down and instead of laying there for a bit like I usually do I immediately got up and messaged Sean. We still had some things to sort out to prepare things for the next release and really test it out. Sean made some new certificates which could be used in production while I merged his code and worked on the Scatter JavaScript SDK to allow SSL connections from applications. We laughed maniacally, justifiably. This wasn’t just adding secure local connections… it was adding support for three new browsers in the process ( Scatter had only supported Chrome and Brave until now, and Firefox could work but users had to mess with settings ). Completing coverage support for all browsers.

We ran into a few gotchas along the way, and made a couple smart decisions about certificate fetching, renewal and falling back to regular connections for backwards compatibility and when shit inevitably hits the fan. We toyed with the code like masterful craftsmen driven by nothing but our immaculate bravery and willpower.

Less than an hour later, we had done it. It worked. We started testing out browsers.

  • Safari. Check!!
  • Firefox. Check!
  • Edge. Neither of us have that shit but we just won’t let go, we want it all. Sean reluctantly drew the short straw to bite the bullet and 20 minutes later on a fresh windows 10 laptop after pulling down pre-release builds of Scatter... Check!

This wasn’t just an accomplishment for us, it was a full on conquering. Safari has been the bane of blockchain’s existence for as long as signature providers like Scatter have existed. You have to create whole new extensions for them as they don’t support chrome style extensions. They don’t support local sockets. Even with huge companies pleading to them to follow browser standards and allow local connections, they aren’t just reluctant they are flat out dismissive... and here we are, Sean and I… staring at a successful connection to Scatter from an EOS web application running inside of Safari. We took on the dragon with our fiery swords, and slayed the beast where it stood. One single desktop application able to connect to all browsers, including Safari.

Open-source breeds innovation. It allows developers from different walks of life to collaborate in a way that isn’t possible in closed structures. It allows people like Sean to help solve issues entire industries are faced with. Did we stumble across this solution? Possibly. But aren’t you glad we did?

Three new browsers are coming to Scatter with the next update. Enjoy your asses off.

Big shout out to Sean. He’s my personal hero tonight. Don’t forget to check out EOSBet.

— Nathan James ( nsjames )

Scatter is a blockchain signature provider as well as an identity and single-sign-on system. It currently supports both Ethereum and EOS, with more blockchain support already underway.

--

--