

Ask HN: In what scenarios use of node.js can be useful? - anujkk

I am looking for possible use cases of node.js.<p>How is it being used right now? Are you using node.js in any of your project? What new can be done using node.js?
======
jdub
I'm building a streaming HTML5 Twitter client called Denby:
<http://www.hellodenby.com/>

(Although the hosted version is currently in closed alpha, you can check out
progress on GitHub.)

If you want something more Tweetie than TweetDeck, check out Streamie:
<http://streamie.org/>

------
rjrodger
Use node for anything that has a HTML(5) front end. The big win is that you no
cognitive disconnect between the client-side and server-side code. The
productivity increase is significant.

All the async event goodness (which is great for streaming of course) is just
icing on the cake.

------
dpapathanasiou
It's useful for streaming large data sets, such as audio or video files.

Here are some examples:

[http://debuggable.com/posts/streaming-file-uploads-with-
node...](http://debuggable.com/posts/streaming-file-uploads-with-node-
js:4ac094b2-b6c8-4a7f-bd07-28accbdd56cb)

[http://blog.new-bamboo.co.uk/2009/12/7/real-time-online-
acti...](http://blog.new-bamboo.co.uk/2009/12/7/real-time-online-activity-
monitor-example-with-node-js-and-websocket)

[http://blog.andregoncalves.com/post/1620276144/inaugural-
twi...](http://blog.andregoncalves.com/post/1620276144/inaugural-twitter-
streaming-with-node-js-and-html5)

------
jammus
I'm using node.js for a personal project: <http://boxsocial.fm>

The site reads and writes to last.fm in the background and pushes updates to
client's browsers while doing so.

I'm sure it would have been possible to write it using some other technology
but node.js just made it so easy. Also, writing the entirety of the app in
just one language was an additional bonus.

I'm excited about building something bigger with it soon.

~~~
anujkk
Is this alternative client for last.fm? I wonder how useful developing
alternative clients can be apart from learning purposes. I have seen a lot of
twitter clients coming up. Do users really care about using these?

~~~
jammus
To some extent. It copies a user's scrobbles/now playing info to one or more
other users' profiles. So if a bunch of you are in the same room listening to
music you can all scrobble at the same time.

That said, it was mainly written to get to grips with node. As well as to
scratch a personal itch, obviously.

------
karterk
The biggest advantage I see from my experience with node.js is that you can
code in just one language from the client side to server side. Of course,
server side JavaScript is _not_ exactly the same as in client side - but for
most part, that does not get in the way and the language basics remain the
same.

It also helps that it scales well for the traditional web apps, and currently
there is a huge momentum behind it, and an active community working on it.

------
chapel
The great thing about node.js is the flexibility it provides. It isn't what
Rails is to Ruby or Django is to Python, really it is a way for Javascript to
interact with the OS outside of the browser, e.g. on servers. This versatility
leads to a ton of options, which many don't even focus on the web. With that
in mind, know that using node.js is more than building a web app, it has given
us slick tools to do things that in other languages or options would be
painful or annoying.

Here is a good list of things that should be done:
<http://blog.nodejitsu.com/ten-node-apps-that-need-to-exist>

I personally have made simple tools with it, like a desktop image uploader, or
a cli gist (github) maker. I enjoy how easy it is to connect many different
technologies together with very little effort.

~~~
anujkk
These are some really interesting ideas.

"A browser based real-time multiuser sketchpad" - It made me think if it is
possible to develop a collaborative, online, vector graphics design tool. Not
a heavy application like Illustrator but something like light version of
InkScape that can help in quick and easy graphic design for web such as logos,
buttons etc.

------
chaosmachine
I use node.js to power my domain name generator:

<http://impossibility.org/>

It runs queries against a pool of lookup servers and aggregates/returns the
results in real time. I'm also using it as a fast, low footprint HTTP server.

------
kordless
Loggly uses it for handling large amounts of web POSTs and translating them
into syslog like TCP packers which are sent to our indexers.

Basically it can be treated like a big ol' expensive load balancer, except its
not expensive.

------
hasenj
I'm using node for all my new web development.

It has an awesome community, and by that I mean: awesome package manager,
awesome packages/libraries, actively maintained and developed.

~~~
moe
How do you handle things like form/model validation?

~~~
stdbrouw
<https://github.com/dandean/express-form> and
<https://github.com/caolan/forms> are two good options. Out-of-the-box
validation for model-based forms is a little bit trickier — there are many
persistence options and each has their own way of doing things, which isn't
always model-based.

------
kmccarth
I just asked a few folks on how they were using node.js, check it out here:

[http://bostinnovation.com/2011/01/15/who-is-using-node-js-
an...](http://bostinnovation.com/2011/01/15/who-is-using-node-js-and-why-
yammer-bocoup-proxlet-and-yahoo/)

------
s_m
I used node.js to make a drum machine that multiple people can play with at
once: <http://jambox.us> (requires Safari/Chrome)

~~~
rgbrgb
didn't work for me :( - two macbooks running chrome/safari

------
zwadia
A little chat, a little soundcloud, a little ge.tt, sophisticated privacy
management... and you get <http://secretsocial.com> ... a node project.

~~~
anujkk
Nice. I liked the video. Is beta available?

~~~
zwadia
Thanks Anuj! Very soon. Sign up / Tweet and you'll be invited.

