[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Ring] GSoC: Asad Salman

From: Asad Salman
Subject: Re: [Ring] GSoC: Asad Salman
Date: Mon, 24 Jul 2017 15:45:36 +0500

I'm glad my project caught your interest. But, no, it isn't a "Ring <-> WebRTC bridge", more of a "Ring <-> Node.js bridge" really.

Despite Electron being a stripped down web browser, I am not using the browser's WebRTC API to provide Ring functionality. Instead, in the first few weeks, I wrote a Node.js wrapper over the actual C++ Ring Daemon. This wrapper was not a WebRTC (or any network protocol) based one, it is a Node Native Addon [1]. These Native Addons can be imported and used in any Node.js projects (which Electron apps are).

This Node.js module is generally useful (use it in any Node.js project as you like) and not at all focused on a trendy, perhaps transient toolkit. I've tried to keep the Node.js wrapper easily reusable and with as little coupling as I can (of course, it is a work-in-progress).

The reason we're focusing on an Electron client is the ease and speed of development it will provide to anyone contributing. Right now, when the Ring team wants to roll out an update they have to implement it for each platform's client (Gnome, OSX, Windows etc.) separately. This has even lead to some clients being left behind in features at times. A unified Electron client that runs on all platforms will make better use of the developer's time. A very obvious example is that writing UI in HTML/CSS etc is much more faster and easier than in, say, Qt. That time can be spent elsewhere.

I hope that clarifies my project.

[1] https://nodejs.org/api/addons.html

On Mon, Jul 24, 2017 at 2:57 PM, bill-auger <bill-auger@peers.community> wrote:
On Mon, Jul 24, 2017 at 08:31:02AM +0500, Asad Salman wrote:
> I have also started working on Ring's Electron client

to be clear - when you say "electron based ring client" - more plainly viewed, this is actually a host for and interface to what is more generally a "ring<->webRTC bridge" - the GUI interface to me is the least interesting aspect of this idea

as any electron "app" is really just a striped-down web browser, i suspect you are focussing too narrowly on that one trendy toolkit and possibly missing the opportunity to make something generally useful - i.e. an external "ring<->webRTC bridge" plugin that could be utilized by any web browser - that would be a very interesting project

if the ring compatibity layer was integrated directly into the electron code i dont see how that would offer anything notable that the standalone ring client does not already provide

could you describe something that the electron client could do that the standalone ring client does not - or any compelling reason why a user would prefer it?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]