Hacker News new | past | comments | ask | show | jobs | submit login
Say hello to the real real-time Web (arstechnica.com)
94 points by mayop100 on May 16, 2012 | hide | past | favorite | 23 comments



Real-time means something specific: every operation has a hard limit for upper bounded time.

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.


(Firebase founder here) I used to work for an RTOS company, so I do understand where you are coming from. Real-time has different meanings in different contexts though. For an operating system it means hard guarantees on response times.

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.


... this is impossible, so it instead means ...

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.


Is "engineering rigor of statements" always a big part of your criteria for using products?


It is when it comes from the founder of a company that sells itself as a 'scalable realtime backend for your web-app'.


Yes, always. Isn't it for you?


The phrase "real-time" means something very different to most people. When you try to "correct" them by invoking a narrow definition only used within a particular ___domain, it just comes across as pointless pedantry.


I agree it sounds pedantic, but think about how muddled discussions areabout what "object-oriented programming" means. "real-time" is a well-established term and actually means something really specific. Diluting it doesn't benefit anyone.


So there can only be one meaning? No different meaning depending on the context? ...

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.


Sys admins have been weeping but slowly getting over the abuse of "cloud" for a while now... safety-critical software engineers will have a shoulder to cry on!

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.


I get your points for the category of software you are referring to, however I am pretty sure that there will be a common understanding round the subject of "real-time web" and from my point of view I dont see how that can in any way interfere or make things harder for people writing real-time software using non-web-tech. I find it unlikely that the big web developer community will use a new terminology to describe what they are building in order to please the old-school real-time developers.


I am trying to promulgate a neologism of near-time, like real but a little more relaxed. Like the version of time in the CAP theorem. Soon but not like, soon within a bounds. Soon.

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.


Your definition is correct, but Real-time can mean different things in different contexts.

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."


I think Battlelog (http://battlelog.battlefield.com/bf3/gate/), Battlefields community, running on real time framework Planet (http://www.planetframework.com/) is a good example on how real time web apps should be built. Client side rendering, live updating surfaces via "WebSockets". Nice to see this getting more coverage, I think it is a knowledge web developers must learn to master, or at least learn best practices for real time patterns. Interesting times indeed.


Here's Armin Ronacher talking about the structure of Battlelog. http://lucumr.pocoo.org/2011/11/15/modern-web-applications-a...


This article is so full of platitudes and buzzwords it is embarrassing.


Meteor and Firebase and other novel web app frameworks are one thing... MMO Asteroids, or any multiplayer game, is another. Game developers have been doing multiplayer for a very long time; the frameworks promise to blur the line between client and server, but MMO Asteroids is still trivial with traditional client-server code, without any funky security model, making it a bit of an odd showcase.

Anyway, I doubt those frameworks have lag compensation (https://developer.valvesoftware.com/wiki/Source_Multiplayer_...), so good luck avoiding jitter :)


Please use the word "real-time" as it is used in CS literature. Or use soft real time when you just mean fast.


I kind of like the term live web for what the article describes


am i the only one fooled? say hello to websockets might be a better title.


I'd like to see a real-time OS that was an easy to set up and had the hardware and software support of Linux/BSD. Sometimes I want to be able to estimate how long a job is going to take.


there's nothing "leading edge" about much in web development. the algorithmic trading crowd has been doing this for years.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: