spreadsheet with file drawer

Document-Stores, Key-Stores, and Relational databases all have different use cases that they work best for, but there is quite a bit of overlap. What if we were to have the advantages of all of these databases in one hybrid database?

Postgresql can store and query JSON, and now has a PUT/UPSERT equivalent with INSERT ... ON CONFLICT ... DO UPDATE so we can easily use Postgresql as a Document-Store like CouchDB as well as being able to take advantage of normalized tables with the same data.

In this blog post, I'll walk you through some postgres wizardry to treat 3rd ...

Continue reading »

Docker and OS X

Docker is an amazing product. In a very short amount of time it's drastically changed (for the better) how we at &yet deploy our applications. With everything containerized, it becomes very easy to run an arbitrary number of apps on a small cluster of servers.

However, there's one big challenge with adopting Docker for our developers: it doesn't natively work on OS X.

There have been several solutions for this, such as boot2docker and docker-machine. These tools create and manage a virtual machine for you that runs the Docker daemon. This allows you to configure the Docker ...

Continue reading »

At the end of 2015, we teamed up with AT&T to write a blog series on UX and WebRTC. We’re excited about the future of communication on the web and hope these posts will help teams get started in creating enjoyable user experiences with WebRTC. Check them out!

WebRTC and UX
Post #1: Getting started with UX and WebRTC
An introduction to WebRTC featuring reasons to include it in your application, a handful of questions to consider during the initial stages of planning, and the importance of consistency and seamless implementation.

WebRTC and UX
Post #2: UX considerations for initiating and joining calls
The ...

Continue reading »

Node.js is a platform for running JavaScript (ECMAScript) that is powered by Google Chrome’s JavaScript engine, V8. V8 pushed JavaScript forward in terms of speed when it was first released, but hasn’t been keeping up with the accelerated pace of the ECMAScript Standard. We’ll likely see a new release of the spec every year, but V8 is lagging far behind Mozilla’s SpiderMonkey and Microsoft’s Chakra in terms of support for ECMAScript 2015 (aka ES6).

Node.js developers that have been eager for ES2015 features that V8 doesn't yet support have turned to Babel ...

Continue reading »

Nathan Fritz and Sally Mohr will be presenting at the Node Community Convention on January 26-28th in San Francisco, CA.

The Node Community Convention's focus is to provide the learning space for best practices and new techniques to maximize the use of node.js, case studies from developers and companies who are changing the web, and a networking space to build the personal and professional relationships you need.

Nathan and Sally will be speaking on Convincing the Decision Makers to Use Node.

We are excited to see you in SF! Come say hi if you'll be there.

You ...

Continue reading »

tl;dr: with adapter.js you can write WebRTC code that is spec-compliant and works in all supported browsers. That is the web we want.

We have come a long way since WebRTC was first enabled by default in Nightly back in February 2013 after interoperability had been achieved earlier that month. Since then a lot has happened.

One of the bigger updates to the specifications was the addition of a Promise-based version of the API instead of callback-based API in December 2014. Firefox has supported the Promise-based versions of the getUserMedia and the RTCPeerConnection APIs for quite a while ...

Continue reading »

Back in June, Apple introduced bitcode as a part of their app thinning strategy, which allows them to implement some optimizations in the future without developers having to resubmit their apps. Unfortunately, bitcode must be enabled for the whole app, including third-party libraries. This is a problem if you use WebRTC as it does not currently have a build option to enable bitcode.

Because the Talky iOS app uses WebRTC, I decided to investigate what it would take to enable bitcode when building WebRTC. For this post, I assume that you're building a Release build of WebRTC with the ...

Continue reading »

Today I'm pleased to announce the release of a new feature of our video conferencing service, Talky.io. It's called Real-time Text (or RTT for short), and it lets other people in your Talky room see what you are typing into the room chat, as you type. Here's a screen capture of RTT in action:

RTT is not enabled by default as most people are inclined to hide typos or half-finished thoughts, but you can opt-in by ticking the "Send as I type" box beneath the chat input.

So why add RTT to Talky? Because at &yet ...

Continue reading »

A piece of recurring feedback we’ve received is that the Talky web interface isn’t great for smaller screens, especially for those on Android mobile devices. There is a Talky iOS app, but there isn’t one yet for Android, and the web interface was designed for wider (desktop-sized) screens.

With the latest release, we’ve taken that feedback and designed a better experience for small screens. Our primary goal was freeing up screen space for the video streams. We changed the wide sidebar to a much shorter top navigation, but keeping the primary controls readily available. To gain ...

Continue reading »

We’ve talked before about the revolutionary importance of WebRTC, because it brings the principles of the open web to voice, video, screensharing, and other applications that were traditionally closed off to fast innovation. This revolution has been led not by old-style telcos but by web and mobile companies, especially the developers of the Google Chrome and Mozilla Firefox browsers.

Until recently, both Microsoft and Apple have been standing on the sidelines as this revolution unfolded. Thankfully that’s starting to change, as Microsoft adds these capabilities to its upcoming Edge browser. (Apple, however, is still late to the party ...

Continue reading »