Re: Announcing Prism - a new realtime server

362 views
Skip to first unread message
Message has been deleted

Roman Minkin

unread,
Apr 25, 2013, 12:15:41 PM4/25/13
to socket...@googlegroups.com
Hi Owen,

Wow, that's is awesome. Great job, you guys rock!

--
Best regards,

Roman Minkin
minki...@gmail.com (mailto:minki...@gmail.com)


On Thursday, April 25, 2013 at 12:04 PM, Owen B wrote:

> Hi all
>
> It's my pleasure to announce the first (alpha) release of Prism, a new realtime server:
>
> https://github.com/socketstream/prism
>
> Prism is a standalone module aimed at those who just want a backend realtime (WebSocket) server and nothing else. It assumes you already have an asset build system, static file server, and many of the other features provided by SocketStream and other web frameworks.
>
> Prism is the first module to be spun out of SocketStream as I work towards releasing version 0.4 of the framework. This process started a few months ago and will continue until all major 'ideas' in SocketStream are separated into small, standalone modules which can add value to users who like some ideas in SocketStream but want the whole lot. If you want to know why this is the best way to create a modern framework, read SubStack's excellent blog post: http://substack.net/many_things
>
> For those of you who appreciate the beautifully integrated end-to-end experience SocketStream provides, fear not: SocketStream 0.4 will use Prism and other standalone modules to provide this in the same way as we have always done. From the perspective of a new user trying out SocketStream, nothing will change. What will change is the huge amount of additional flexibility this new modular approach will provide further down the line, especially if your needs change.
>
> Whilst I'm extremely happy with the new direction of SocketStream, I'd like to keep this news low key for now (i.e. don't post anything on HN just yet!). SocketStream 0.4 still needs a few more months of work to reach feature parity with 0.3 and while Prism is already 100% usable and feature complete, it has yet to be battle tested or performance tuned.
>
> Above all, I don't want 0.4 to be another prototype - it needs to be the real deal. A solid, high-performing, stable, scalable solution for realtime apps. Designing, building and testing that takes time - but I'm happy to say we are now closer than ever.
>
> Regards,
>
> Owen
>
> PS: I spoke about Prism for the first time a few days ago at the excellent Realtime Conf EU in Lyon. The video should be online shortly. I'll post a link as soon as I have it.
>
> --
> You received this message because you are subscribed to the Google Groups "SocketStream" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to socketstream...@googlegroups.com (mailto:socketstream...@googlegroups.com).
> For more options, visit https://groups.google.com/groups/opt_out.
>
>



Owen B

unread,
Apr 25, 2013, 12:42:00 PM4/25/13
to socket...@googlegroups.com
(Note: This is a repost of the original message which fixes some clunky English and a typo. Everything else is the same. I'll delete the original version)

Hi all

It's my pleasure to announce the first (alpha) release of Prism, a new realtime server:


Prism is a standalone module aimed at those who just want a backend realtime (WebSocket) server and nothing else. It assumes you already have an asset build system, static file server, and many of the other features provided by SocketStream and other web frameworks.

Prism is the first module to be spun out of SocketStream as I work towards releasing version 0.4 of the framework. This process started a few months ago and will continue until all major 'ideas' in SocketStream are separated into small, standalone modules.

For the first time this will allow us to provide value to those who'd like to use some of the ideas in SocketStream, without forcing them to use them all. If you want to know why this is the best way to create a modern framework, read SubStack's excellent blog post: http://substack.net/many_things

Robert Hall

unread,
Apr 29, 2013, 1:55:06 PM4/29/13
to socket...@googlegroups.com
Awesome! I like the name prism.

Davis Ford

unread,
Apr 30, 2013, 6:29:19 PM4/30/13
to socket...@googlegroups.com
This is great news Owen.  I plan to try to use this tomorrow.  It seems like a perfect fit for what I'm trying to do.  Having been a longtime SocketStream user now -- I want to continue to use the same patterns / mechanisms, but I actually really needed the same stuff: rpc + pubsub carved out into its own server component because I'm trying to build client-side apps that run in an embedded WebKit browser where the environment is really limited and resources are constrained -- very minimal memory and cpu as this is an embedded system.

So, I want to provide RPC + pubsub power on the backend, with just a very minimal client that can use a very slim WebSocket client without all the other stuff (live reload, asset serving, static files, templates, etc.)

Great timing for me :)

--
You received this message because you are subscribed to the Google Groups "SocketStream" group.
To unsubscribe from this group and stop receiving emails from it, send an email to socketstream...@googlegroups.com.

For more options, visit https://groups.google.com/groups/opt_out.
 
 

Owen B

unread,
May 1, 2013, 5:31:50 AM5/1/13
to socket...@googlegroups.com
Great to hear that, Davis.

I'll be improving Prism a lot over the coming weeks, and adding lots more documentation. But as you've already used SocketStream it should be pretty clear what's going on. Checkout the example of it used within SocketStream 0.4 if you have any questions.

Note I may still change some APIs here and there before the final release, but overall I'm now happy with the design.

Owen

Davis Ford

unread,
May 1, 2013, 3:31:18 PM5/1/13
to socket...@googlegroups.com
On Wed, May 1, 2013 at 5:31 AM, Owen B <socketst...@gmail.com> wrote:
Great to hear that, Davis.

I'll be improving Prism a lot over the coming weeks, and adding lots more documentation. But as you've already used SocketStream it should be pretty clear what's going on. Checkout the example of it used within SocketStream 0.4 if you have any questions.

Note I may still change some APIs here and there before the final release, but overall I'm now happy with the design.

Owen

Hi Owen -- I've got a couple questions.  I'm playing around with your prism / express demo app, so far so good.  Works well and all, but it also seems to presume that the client will be served from the same origin.

This is a problem for me.  I want to build a static html/js/css client app that won't be served from the same origin, but will just connect to the prism real-time server when it starts.

It looks like I just need to browserify the client.js file generated from the server, as well as include the relevant client-side transport engine (e.g. engine.io.js is what I am using).

So far so good there, but when the app bootstraps itself, it just does app.connect -- assuming the server exists where the app was served from.  I don't see any way to provide a valid URL which I can try to connect to?

Any thoughts on how to accomplish this?

Davis Ford

unread,
May 3, 2013, 9:46:12 AM5/3/13
to socket...@googlegroups.com
Well, I hacked the code and sent you a pull request that allows the client to specify the host / port to connect to when the client does:

ar app = require('./client')({host: '192.168.1.1'});
Reply all
Reply to author
Forward
0 new messages