The WAMP project (http://wamp.ws) seems to pursue the same goals than DDP, namely Remote Procedure Calls + Publish & Subscribe. It has a reasonably active community, and is doing some good efforts on specification and implementations.
I wonder if this project could be useful to the meteor ecosystem, either to improve DDP, or even to implement livedata on top of WAMP.
For comparison, here are the relevant links about DDP:
We might be interested in quite a few WAMP features: routers (eg to filter the data traffic — see DoS hardening/rate limiting on the meteor roadmap), more transport protocols supported (including raw sockets — great for the server micro-services communications), and maybe the build-in authentication. I also need to have a closer look at WAMP to verify if there is something about namespacing.
As a side note, I would also be interested in a feature called “Promise Pipelining” that is brilliantly explained in the Capnproto documentation. Neither WAMP or DDP implement it, but it would make perfect sense for a web application.
Before I came across Meteor, ChiagoBoss web framework use Erlang is good for low memory footprint. I love to see if Meteor has a way to point the same page or content in the same memory pointer across multiple request.
tl;dr WAMP is awesome because it allows for RPC to any connected client. DDP is awesome for the fact that is keeps subscribers informed about changes.
Having used WAMP for a personal project, I feel it is awesome.
DDP is great but WAMP shines when it comes to micro services and IoT.
This is because you make a RPC to the central router which in turn redirects the RPC to the client which registered that RPC. This makes it possible for WAMP to call procedures in ALL connected clients (browsers, servers, teapots).
On the other side: DDP handles data updates way better. with DDP data updates are taken care of. or as the DDP specs say:
The client subscribing to a set of documents, and the server keeping the client informed about the contents of those documents as they change over time.
I think it would be awesome if we could have the distributed nature of WAMP combined with the document update goodness of DDP