Hi! Remember this post introducing amp?

Unsurprisingly, JDD from the lodash project took notice. All things said and done, he made sure that in the 3.0.0 release they addressed all the concerns I mentioned in that post, which is great!


  • Individually published, and semver versioned modules. This was the big one.
  • Shallower dependency trees.
  • Memorable names and not having to remember folder structure. All the functions are now available on npm as lodash.* where * is the function name. So, you can now just npm i lodash.bind for example.

So now what about amp?

Continue reading »

We are excited to announce that in a month’s time, &yet is teaming up with O’Reilly to bring training to Fluent Conf 2015 in San Francisco, California.

On April 20–21, our training team will be leading three cutting edge two-day sessions on native web applications, Node Security, and WebRTC.

Henrik Joreteg and Luke Karrys, creators and core maintainers of Ampersand.js, will be teaching a course on “Building Native Web Applications.” The focus of the course is building a modern, well-structured application from scratch by combining best-of approaches and a carefully curated set of tools including Ampersand.js, React, WebPack, ES6, and Node.js. (Read more about our thoughts in Native Web Apps here.)

Continue reading »

Today, we’re announcing a public beta of the next generation of Talky - &yet’s simple video chat and screensharing app for groups.

And, in a few weeks, we’ll be announcing a Kickstarter. But more on that later—first I want to tell you about what’s new in the Talky beta.

I hesitate to go all Jonny Ive on you, but seriously: the new version of Talky has been reconsidered, reengineered, and redesigned from the ground up. And everything we’ve been building has been open sourced as part of Otalk, our open WebRTC platform.

Here’s the key improvements

Continue reading »

Firefox is starting to roll out Firefox Hello to more users. Hello is a videochat, very much like our own Talky.

In the WebRTChacks analysiѕ, I described it a small button to your browser that generates a call URL which you can share.

A question by the palava.tv team got me thinking:

It would be awesome if the Hello button could launch a palava tv call

What does it take to add such a button to the browser? It turns out to be surprisingly easy. In Firefox, this requires about 15 lines of code. In Chrome, it’s even less. Opera just works by repackaging the Chrome extension.

Continue reading »

&yet is a highly distributed team, with yetis all over North America and Europe. To keep in touch, we use Talky on a daily basis for impromptu discussions among our teammates. Unfortunately, Talky doesn’t quite work for our all-hands meetings because “full-mesh” media sharing only functions well when the number of people in the conference is small. To change that, we are working on an improved version that we’ve tested up to 20 people, internally known as Talky 2.

Last Friday we had another weekly update meeting and Talky 2 would not work - all the videos remained black. Switching from Chrome to Opera resolved the problem for a while, but at some point every participant in the conference had their browser crash. We had to switch back to Hangouts. Which was embarrassing.

Continue reading »

Recently, several members of our team participated in a week-long business simulation called Enterprise Week for a local school district. It was featured in an earlier post here and was also described in one of the December dispatches for our online community &you.

The week culminated with a touching and personal closing talk by former Enterprise Week participant, illustrator and yeti, Jaime Robles. We are very proud to now be able to present Jaime’s talk to you.

Jaime Robles 2014 Pasco School District's Enterprise Program from &yet on Vimeo.

Continue reading »

The web platform has evolved. Browsers are no longer just document renderers, they have become the most capable and ubiquitous application runtimes on the planet.

Right now, the most common term for applications that use the browser as a runtime is “Single Page App”. I’ve even heard people pronounce it like the word “spa”. If you’ve done this, we can probably still be friends :)

Personally, I’ve always disliked the term “single page app” because it fails to describe what my applications are. The fact that the app consists of a single initial HTML page is not what makes it interesting or unique. In fact, often times it’s plain wrong. A well-built “single page app” updates the URL as the user navigates around to different “pages” within the app, keeping their place if they refresh or share that URL. Perhaps at one time the “single pageness” was its defining characteristic, but these days the term makes it sound more like you’re building an application that doesn’t respect the URL and thus breaks the web.

Continue reading »

I’ve been always drawn to bringing structure where it was lacking, systematizing information and defining processes. Not sure if that’s a designer’s trait (along with a particular fondness of symmetry) but it continues to carry through all the work I do. One of the ways I utilise it is by creating standardized approaches for others to follow.

“Best practices”

When writing software we often look for guidelines on how to do it in the most effective and standards-compliant way. We search for patterns we can follow. Standards are obvious signposts leading us to valid code (which is why we call them standards in the first place). The other way of approaching this problem is to look for so-called best practices.

Continue reading »

Node.js doesn’t have the same problems as the platforms that you’re used to—it has entirely new problems!

The landscape is so different, and there are so many libraries, packages, and approaches that it is tough to navigate. There are just too many opinions on the “best approach.” Even the io.js fork of Node (which we’re excited about and hope gets upstreamed to Node soon) is a good example of this unique ecosystem.

Ask 12 Node.js developers which is the best ORM to use, or how structure your HTTP handlers, and you’ll get 15 answers. On these and hundreds of other topics, there is no consensus, and there are numerous approaches and philosophies to choose from. Many a developer has followed their instincts and gut feelings, only to make a mess.

Continue reading »

When launching our Talky videochat service almost two years ago there was one thing missing: the TURN server.

WebRTC creates peer-to-peer connections between browsers to transfer the audio and video data, but sometimes it needs a little help to establish a connection. The TURN server is the thing that helps here: it is deployed on the Internet and relays data for two clients that fail to establish a direct, P2P connection (thus avoiding the dreaded “black video” problem). TURN is generally considered one of the hard topics when people start doing WebRTC and crucial to running a successful service.

Continue reading »