Every two weeks we spread the word of Node.js and the cool and incredible things it can do. We do that by profiling creative, interesting and fun uses of Node.js in various products and projects. We call it “In the Loop.”
Any of these accomplishments are impressive, but Remy came to our attention when we were poring over our Twitter feed and saw one of his tweets:
Being the Node.js fiends that we are, we couldn’t help but be intrigued, and so we reached out to him.
You had us at “Used Node.js to generate the image dynamically from flickr.” What were you looking to accomplish?
Remy Sharp: I started a “365 project” back in 2009 which involved taking one picture each day. Nothing impressive, more of a visual diary. But the end game was to produce a canvas print of the 365 project.
Why did you go with Node.js for this project?
Remy Sharp:Initially I had written code that would go off to Flickr and load all the images under a specific photo set. Then the images would be drawn onto a canvas element with their size and position calculated. However, because the images were coming from Flickr’s domain, it would mean I couldn’t export the canvas to a png (due to origin rules).
Any particular challenges or advantages to using Node.js?
Remy Sharp:The big advantage for me was working around the origin rules that the browser was applying because Flickr weren’t adding CORS headers to their images. It was pretty exciting being able to so simply port my browser based code to the server largely unchanged.
Do you have any other cool ideas or plans for Node.js?
Remy Sharp: Lots! JS Bin is now running on Node.js to allow for techniques I’m calling Code Casting and Remote Rendering. With Code Casting you code on your machine, and viewers can watch the code and output being generated in real-time. Remote Rendering lets you code in JS Bin on one machine, and with the same URL on any number of remote devices – mobile, tv, etc – update the output in real-time.
For obvious reasons, I’m very interested in the real-time space and using Node.js – but also I’ve found myself creating utilities using Node.js. For example, I ported my snapbird.org (a Twitter timeline search engine) to the command line using node:
https://github.com/remy/twitterlib (though I’ve yet to add any docs! – it’s simple npm install twitterlib to add a “tweets” CLI).
With Left Logic, you specialize in web development. What do you think the future holds for Node.js and web development? is it something Left Logic will be utilizing more?
Remy Sharp: The last 12 months has included a number of clients that used node.js for our solutions – and as time goes on, I can see us using node more and more for client solutions.
Thanks for sharing your work with us, and best of luck in future projects!
If you have a cool Node.js project or product you think we should profile, reach out to us at firstname.lastname@example.org and we’d be happy to get you In the Loop.
- What’s in the upcoming Node v0.12 release? Six new features, plus new and breaking APIs.
- Ready to develop APIs in Node.js and get them connected to your data? Check out the Node.js LoopBack framework. We’ve made it easy to get started either locally or on your favorite cloud, with a simple npm install.
- Need for Node? Learn more about both the private and open options StrongLoop offers.