I'm working on an embedded system right now; they typically cannot use garbage collection, because any GC pauses will utterly destroy the project's real-time guarantees. This board's microprocessor has an external hardware watchdog, which reboots the whole system unless I reset a timer every 2.5 msec or less. This is a reasonable limit, because if the program is unresponsive for too long, people may die. (It's automotive hardware.)
I think calling anything running in Javascript and across a network "real-time" is a bit misleading. What you mean is "soft real-time", which is far more forgiving.
Over a public network this is impossible, so it instead means that data is being pushed to clients as quickly as possible. The "soft real-time" phrasing might be accurate, but it is a distinction that is probably not helpful, as I think it would confuse more people than it would help, and people in the RTOS world know the difference anyways.
The lack of engineering rigor in that statement taken with the inherent security issues in re-broadcasting messages from a public client to other public clients would make me very leery of using your product.
http://en.wikipedia.org/wiki/Real-time
I'd say this is real-time in the context of the interwebs, against the usual request-response cycle.
In all seriousness, there's a range of of real-time systems (soft to hard) and systems that contain a mix of these requirements. You can argue that these new "real-time!" javascript systems are soft real-time systems. i.e. they contain a soft real-time constraint for state to propagate to clients before a deadline, after which the system starts losing its quality.
Real-time needs to be taken within a context. Your realtime is probably way sloppy for like say laser that starts fusion reactions.
If I were baking a pizza, my watchdog could be set to 5 seconds and be ok (provided the thermal inertia of the oven wasn't ridiculous and my heat source wasn't the said laser).
Near-time. The future is in the near.
For instance, I never hear anyone argue when a Demoscene production is called "real-time" (as they nearly always are), that it should in fact be called "soft real-time" (which is what they really are in the context you're talking about--framerates can drop).
So while you're technically correct (the best kind of correct), failing to acknowledge it's perfectly acceptable to use the term "real-time" in other contexts as well, is just going to make you pedantically correct (which is not a very good kind of correct).
And because the framework is based on Node.js,
developers don't have to worry about connection
issues or scale.
Err, no. It might be better for open connections, but nothing is worry-free ever.Also, I don't buy the selling point "hey this is a new tech so you don't have to learn any tech!". What is this rush to introduce new stuff to solve the problem of too many?
And why push it harder by stating not only the big guys can do this? Nobody should do it only because Twitter or Google do it.
It's not like I wouldn't use real-time solutions, but this article did sound like "let's find a use for this new thing."
Anyway, I doubt those frameworks have lag compensation (https://developer.valvesoftware.com/wiki/Source_Multiplayer_...), so good luck avoiding jitter :)