SimpleWebRTC Logo

The original SimpleWebRTC was one of the first Javascript libraries for WebRTC out there; the first public version was released more than five years ago. It offered a simple API that allowed JavaScript developers to prototype stuff quickly without having to understand the intricacies of the WebRTC APIs. “You can build cool stuff with WebRTC in five minutes” was true. Taking it to production at scale remains a bit more difficult.

Under the hood, SimpleWebRTC consisted of a bunch of Javascript modules that let you access the camera, microphone, screen content, a wrapper for the RTCPeerConnection API, and something to keep track of your peers and do all of the signaling. It came with a very simple NodeJS signaling server called signalmaster. Socket.io was used for signaling.

This simplicity came at a cost. SimpleWebRTC was designed for a single use-case: multiparty video chat using direct peer-to-peer connection between the participants. For the more complex problems we had to solve, we needed something better. Which is why we rewrote SimpleWebRTC almost from scratch, taking into account what we had learned in the last five years.

Continue reading »

Software is about people wallpaper

One thing I've noticed since starting to work for &yet is how much pride everyone takes in the company; the employee love for &yet is prominently on display, and it seems like everyone is repping at least one piece of &yet swag at all times.

Our very own Kate took some time out of her busy schedule earlier this year and turned some of Amy's work into some awesomely fun wallpapers for all of us at &yet to enjoy. We have been absolutely loving them, and we figured it's about time to release them for everyone!

From Software is for People to the &yet yeti, please enjoy Kate’s awesome wallpaper collection.

Continue reading »

When evaluating programmers, it’s very easy to see the value of someone writing a lot of new code. Do not, however, fall into the trap of only valuing developers that write quickly. A healthy project has a mix of developers in terms of values, strengths, and weaknesses.

One productive way to categorize programmers is starters and finishers.

A starter creates a vision for new code and writes the initial version, prototype, or skeleton. Starters usually lack motivation for bringing the project to the next level, making it easier for others to work on the code, or generally polishing. That isn’t to say that they can’t do it — it just costs them much more mental energy than a finisher, so they often don’t.

A finisher, conversely, takes an existing vision, fills in the details, and turns it into something more practical. That might be implementing a spec (and suggesting revisions), rewriting a prototype, filling in a skeleton or tracer, making a project production ready, or making a project easier for new contributors to on-board. Finishers struggle with a blank sheet of paper in the same way that starters struggle to improve the work of others.

Continue reading »

Very soon we’ll be shipping a brand new version of SimpleWebRTC, and everything about it is different.

What’s different?

The biggest feature of the soon-to-be-released version of SimpleWebRTC is that it will just be a bunch of flexible React components.

These components will make it so that anyone with a basic understanding of React can build advanced WebRTC applications. No need to understand anything about how connections are set up, no need to set up signaling or STUN/TURN servers, and it gets even better than that.

Continue reading »

Earlier this year, we teamed up with our friends at npm to design some shirts for Pride. When they asked us about working with them on the project, we said, “Yes, please!” and then had an idea to do something of our own.

We believe being People First means standing with the LGBTQI+ community during Pride month (and every other month). In 2015 one of our designers, Amy Lynn Taylor, made a version of our logo with the Pride colors to show our support for Marriage Equality. We really like the design and, in true &yet fashion, thought it was time to put it on a shirt!

These Ampersand Pride shirts are now available with 100% of the proceeds going to The Trevor Project, an amazing organization that provides crisis intervention and suicide prevention for LGBTQI+ youth.

Two design options!

Continue reading »

To the thousands of people who made Talky calls on February 14, 2017, Talky didn’t seem much different. There were some icon and button color changes, but nothing to write home about. However, it was a very big day in our world.

For the past couple of years, we've been transitioning Talky from AmpersandJS to React. The reason for the transition is an article on its own, but to put it simply, I only need one word. Components, heard of 'em?

During the rewrite, we moved the core functionality of Talky into its own library of super slick React components which... [SPOILER ALERT] we'll very soon be making available to anyone who wants to build an app using them. This very simple webrtc react library enables us to build robust video chat features in very little time at all, and we're excited to say we'll be sharing it with the world in the coming months. 🎉

While Talky on the web was receiving consistent upgrades, our Talky iOS application hadn't been updated in quite some time, and it really needed an overhaul to take advantage of some backend upgrades. When trying to figure out what to do about our iOS application we had two options:

Continue reading »

On the last page of Matt Nelson's seminal work "#WeRateDogs: The Most Hilarious and Adorable Pups You've Ever Seen", you'll find a definition for the word "zoom":

zoom /zoom/ noun

  1. A very speedy move done by a dog. Incredibly hard to document, but universally recognized as a thing that happens. Appears to break laws of physics, but only because when your dog does something average, you think it is the greatest thing ever.

Most dog owners (and even owners of some ambitious cats) are familiar with these "zooms", also referred to as "zoomies". For those of you who aren't, let me point you in the direction of this instructional video from my dog, Jpeg.

A few months after I joined &yet, I wanted to give our flagship product Talky a case of the zoomies. Here's how I did it.

Continue reading »

One of the weird and wonderful perks of being in the tech industry is the sheer volume of events available for everyone to attend, whether your interest is broad or tunnel-vision specific. We’ve thrown our fair share of events (RealtimeConf, RedisConf, &yetconf, to name a few) and others on our team have been organizers of events around the globe.

Recently, our teammate Lynn Fisher suggested we discuss what makes a conference meaningful.

What are some examples of great conferences you’ve been to who executed things well?

Lynn Fisher, Designer, Developer
I went to An Event Apart in 2010 and it made a huge impact on my work. That event runs like a well-oiled machine and consistently has excellent speakers and content.

Continue reading »

A Talky rocket flying amongst the clouds

In the DevOps world, Kubernetes is kind of a big deal. Since 2014, when development first began, Kubernetes has become the preeminent container orchestration tool for running containerized applications on the web. When I joined &yet in 2016, I was new to the world of DevOps, but since then I’ve had the opportunity to use Kubernetes on four different cloud platforms: Packet, Amazon Web Services (AWS), Microsoft Azure, and Google Cloud. That experience has demonstrated the consistent power of Kubernetes across different platforms and the freedom it give teams to change providers as cloud technology evolves.

One of my major realizations about working in DevOps is that technology is moving FAST. It has been less than six month since the Cloud Native Computing Foundation launched their certified Kubernetes program and Microsoft, Amazon, and Google have all launched managed Kubernetes solutions in the interim. (If you’re interested to know the origin of the “k8s” abbrev check out this Medium post by @rothgar.) I’ve deployed the services that power Talky across multiple providers and wanted to share that experience with you! The choice to use k8s as our primary orchestration tool has given our team the ability to maximize the strengths of different cloud providers and choose the best provider for a given endeavor.

Kubernetes is a versatile tool designed by some great folks* and backed by a thriving open-source community. Unfortunately, there is a fairly substantial learning curve for most folks picking up k8s for the first time. In this post, I won’t go into the k8s architecture or how to get started with it, since there are many great videos on that topic freely available. If you learn best by doing, check out Kubernetes By Example by the OpenShift Team, or for a deeper dive try Kubernetes The Hard Way by Kelsey Hightower.

Continue reading »

Blog Archives: