Most descriptions of the Wave platform focus on its technical details. While they try to stay abstract and high-level, they will usually explain how we are creating a new way of connecting devices directly to each other without using the internet, or how we're combining wireless communication devices to create a heterogeneous "mesh" network, or sometimes even the actual possible configurations devices may be in to form a mesh. It can be easy to get lost in the uses and implementations and opportunities that Wave can be used or, so day-to-day we focus on what it is, which is easier to think and talk about.

Lately, however, I have started using a much less specific term when describing my work to friends and family: the "magic network."

The Wave platform is very complex piece of software, designed to enable the integration of ever more technologies and networking techniques to make mesh networks larger, faster, more reliable, and available on an ever-increasing group of devices. If I'm being very honest there are parts of it where the fine details are lost on me, and my co-workers are starting to reach that state as the number of contributors and features climbs.

Throughout development, though, the team at Left has been working hard to keep all of the complexity as hidden away as possible, cloaking all the implementation details and performance optimizations into an easy-to-use package. We focus on keeping the work required for a developer to use our technology minimal, and keeping the need for intervention from the end user to as close to zero as possible.

Making Wave, for most intents and purposes, magic.

Some day soon, everyday smartphone users will be able to install apps that simply connect to each other, whether it's two people, a household, a university, a city. They could be doing lightweight activities like sending messages or editing documents, or heavy network actions like sharing videos and downloading apps without having to worry about prohibitively expensive data caps, or even being connected to a cell tower. These users may never know what "Wave" is, or that they're a part of some "mesh network" - to them, it can be magic.

Part of my job as a developer on the Wave project is to make an experience for other developers that is just as magical. When you are developing an app, it is very difficult to structure your code in a way that makes sense and is easy for you to work with. It is made even harder when the tools you are using force you to work in particular ways, or to add a lot of extra junk to your code. The job of the Wave framework is to make it easy for developers to connect their users then stay out of the way, balancing the desire to provide lots of functionality while avoiding the headache of unneccessary complexity.

This is my favourite part of working on the Wave platform at Left. I enjoy the challenge of creating new, groundbreaking technology, while making it a seamless experience for both other developers and their end users. In a way, developing magic.

Frazer Seymour
Mobile Mesh Developer