Real-time apps are the future of the web, and new platforms for supporting that kind of technology are sprouting up everywhere.

One such promising technology is NowJS, an out-of-the-box architecture for real-time web apps.

NowJS uses the ever-so-trendy Node.js and to make it easier to build real-time web apps. Devs can use NowJS to build chat, news feeds, web analytics, video games, dashboards and more. It’s a simple and lightweight technology for large-scale web apps.

In a chat in Mashable‘s San Francisco office, Darshan Shankar, one of the devs responsible for NowJS, said, “We’ve simplified the communication layer of really complicated web applications. The next Twitter or Facebook will use us, and they’ll be a lot better for it.”

Shankar’s startup is Flotype. Based in Berkeley, California, the fledgling company is composed of three UC Berkeley computer science dropouts chasing the Web 3.0 dream. The co-founders include Eric Zhang and Sridatta Thatipamala, whom Shankar calls “truly genius hackers.”

“Our value proposition is the technology,” said Shankar, who emphasizes that NowJS isn’t the kind of platform-as-a-service that might compete with Heroku or Joyent. “You can host your app wherever you want,” he continued, adding that competitors with the two aforementioned powerhouses are “probably doomed.”

Rather, the startup’s business model is based on enterprise sales. “We’re building a scalable, robust version of NowJS that runs on a cluster of servers,” Shankar wrote in an email, “thereby allowing our customers to deploy applications facing millions of concurrent clients.”

Flotype has raised a seed round and has a handful of clients currently.

To see how NowJS can be used to make a chat server in 12 lines of code, check out the video below:

Image based on a photo from iStockphoto user alxpin

More About: flotype, node, node.js, nowjs, startup, y combinator

For more Dev & Design coverage: has just launched its Node-specific job board on the web. It offers a new marketplace for finding work with the still quite new but white-hot framework.

At least one other Node job boards exists, but this is the first official listing service from the creators of Node.

The board itself, brought to you by Node sponsor Joyent, is still rather sparse on content; however, given the relative newness of Node, we don’t expect an employment bubble to swell up around the framework just yet.

Still, if you’re tinkering with or hacking in Node and you’d like to get some professional, paid experience with it onto your résumé, the Node job board might be a decent place to start looking. And we fully expect to see more listings and open positions popping up on the board in the days and weeks to come.

Currently, positions range from server engineers to game developers. Most positions are based in San Francisco, CA.

If you’re a company or a dev looking for a Node developer, you can post your own job listings to the site at the rate of $350 for 30 days. Given the currently small number of positions available, you can expect applications to abound and competition to be relatively fierce.

We look forward to seeing how this board develops; Node devs, bookmark this site now and check back periodically to keep tabs on Node offerings around the world.

In other Node news, if you don’t necessarily need paid or professional experience for your C.V. but you would like a good excuse to exercise your Node.js chops, the 2011 Node Knockout is coming up in a few months. The site for the 48-hour, Rails Rumble-like hackathon has just gone live, and it’s a reference to The Watchmaker, a contender in last year’s competition and a very strange little game in itself.

According to the site, you have exactly 156 days to get your Node together and form teams for the hackathon. Will you be participating this year?

Image based on a photo from iStockphoto user alxpin

More About: joyent, node, node knockout, node.js

For more Dev & Design coverage:

The Web Development Series is supported by Rackspace, the better way to do hosting. Learn more about Rackspace’s hosting solutions here.

On the 20th floor of a San Francisco skyscraper, a handful of developers are working on a new technology that’s changing the way real-time web apps are built and how they scale.

This technology, called Node.js, is being hailed as “the new Ruby on Rails” by some in the developer community. But it’s not a magic bullet, nor is it appropriate for all programming scenarios.

Joyent, an SF-based cloud software company, is sponsoring the growth and development of Node. It employs Node creator Ryan Dahl, hosts events and creates tools for the growing Node community. Recently, Mashable visited Joyent to see demos from three startups that are using Node to build web and mobile apps for consumers.

In the process, we learned a lot about how and why Node works for the real-time web — and how Node is changing the way the developer community creates the Internet as we know it.

What Makes Node Different

Node had a watershed year in 2010, and it’s shaping up to be as popular as Ruby on Rails among developers. Since the framework was built for the commonly used JavaScript, the barriers to entry are remarkably low, and the reasons for choosing Node to build apps — especially low-latency, real-time apps — are increasingly compelling.

Then there’s the community. The Ruby community has been criticized for being exclusive and harsh. The Node community provides a welcome contrast and embodies the spirit of many other open-source communities. Again, the framework’s JavaScript roots means that it appeals to the less hacker-ish web designer who might be dabbling in web app development as much as it appeals to longtime, hardcore hackers who simply want a better way to build real-time apps.

We asked each of the three startups giving demos at Joyent: Why choose Node?

The common wisdom among many developers is that there is no single right language or framework that should and must be used for all web apps. But based on what we heard from these startups, Node is increasingly being seen as a “best solution” for a certain type of application.

According to Tom Hughes-Croucher, a recent Joyent hire who is writing the first O’Reilly book on Node, “Node has popularized event-driven programming.” With event-driven programming, Hughes-Croucher explains, “The actual amount of resources you use is much smaller, and you can get a lot more out of fewer servers.”

Node is all about making event-driven, low-latency, concurrent apps. Erlang, the language that powers Facebook’s chat server, uses the same model. Tornado, a concurrent server for Python that powers FriendFeed, was an attempt at this, too. But Node has one advantage over technologies like Erlang and Tornado: “None of that was too accessible,” says Hughes-Croucher. “Node takes a language people know very well — Javascript — and makes it available to do server programming, as well.”

In traditional languages and frameworks, the communication inside the app between the web server and the database is the most time-intensive part of the transaction. Node makes a much smaller footprint on your web server. It allocates web server resources on an as-needed basis, not pre-allocating a large chunk of resources for each user. For example, Apache might assign 8MB to a user, while Node assigns 8KB.

“The way that Node is more efficient on servers is by not allocating resources to things while it waits,” says Hughes-Croucher. “Say you have to talk to the database, and that’s going to take 50ms to respond. Instead of assigning all of the processing resources for that 50ms wait, it just uses a placeholder. When the database responds, then it allocates the resources needed to process. That means it’s totally possible to do a lot more requests at once, because you only allocate the server resources when you need to use them, not while you are waiting on databases.”

Node’s Explosive Growth

Unlike PHP or Ruby, Node has yet to appear as the technological face of a popular, mass-adopted web service like Twitter, WordPress or Facebook.

Rather, Node took off in the imaginations of programmers, organically becoming the quirky new tech that was on the tip of every tongue. First, devs asked if you’d heard of it; then, they started asking if you’d tried it or built anything with it.

As you can see from these GitHub reports, both the number of committers and the number of commits to Node core really took off, and there are no signs of Node’s growth slowing down in the dev community.

Click the image to see full-size charts, which we obtained from GitHub.

Commits and committers to Node on GitHub peaked in the fall of 2010, but developers’ conversations around Node have really just started to pick up steam since the beginning of 2011. Here’s a graph showing Twitter conversations around Node; you’ll notice a few spikes throughout the fall of 2010, and more consistent conversations occurring in 2011.

“If you look at Rails and Node on GitHub and compare the traffic,” says Hughes-Croucher, “Rails had 270,000 views over the past three months. Node has 325,000, and it’s only going up… it’s exploding.”

There have been “it” technologies in the past, and the current vogue is Ruby on Rails. So what makes devs think Node is the heir apparent?

“Node is going to become the next big thing for a few reasons,” said Hughes-Croucher. “Everyone wants to do way more powerful apps — things like Google Instant and Facebook. People are expected to support millions of users on a ton of devices in real time. These are the expectations people have of applications now. And if you did that with traditional frameworks, it would take forever, and the hardware would cost millions of dollars.

“The point of Node is that it’s really fast, it’s really easy to scale, and the Javascript aspect means it’s really easy to build.”

Node for Real-Time Voice

Igal Perelman is the VP of product for Voxer, an iOS app that aims to “make audio sexy again.” It functions a bit like a walkie-talkie, a bit like a group IM app and a bit like a social/location consumer app.

“There is a huge reason why kids love to use walkie-talkies. It’s fun and immediate,” said Perelman. “We took that basic use case and improved it a lot.”

The user pushes a button, starts talking, and the message is immediately sent to the app user on the other end. Both parties can listen and talk simultaneously. Chat requests come through as push notifications, allowing the users to choose whether or not to join the chat.

Users can also re-listen to messages in case they need clarification or missed part of a message, like rewinding a video. Another cool feature: The app supports group chats with unlimited numbers of participants.

Finally, it’s entirely free.

Voxer uses Node because the low latency allows for near-instant transfer of audio data. Says Perelman: “Node was very crucial to this, because the audio needed to be live. And Node allows us to maintain a large number of connections with very low latency. It was a quite easy decision.”

Voxer’s VP of technology, Matt Ranney, told us (via the app itself, of course), “This is our third iteration trying to do live voice. We first tried C++ for performance reasons, but it was too complicated, too hard to wrangle. Next, we chose Python. It was great, but unfortunately, the Python virtual machine is incredibly slow.

“So we’ve gone to the opposite extreme. In our third version, we’ve done it in Node, and we have the best of both worlds. We have the high-level language of Javascript and the high performance of the [Google’s V8 JavaScript engine’s] virtual machine.”

Node for Gaming

One of the hackathons we followed this year was Node Knockout, a 48-hour contest to see who in the world can build the best, most complete, most interesting Node apps on a very tight deadline.

The popularity winner for the 2010 contest was, a massively multiplayer online version of Scrabble. The game plays in real time, and the map of all the tiles is sprawling to gargantuan proportions.

The team built the game in two days and has since made a company out of the project.

On the flipside, “Rails Rumble [a similar, Ruby-on-Rails-flavored hackathon] has been around for four or five years, and only one company has come out of it,” says Fortnight Labs and Node Knockout co-founder Gerad Suyderhoud. “We had a company in our first year. Because Node is such a great technology for real-time web apps, you see a lot more games, so the results are a lot more fun.” The next Node Knockout is in August 2011.

Suyderhoud and co-founder Visnu Pitiyanuvath’s entry in the 2009 Rails Rumble was Lazeroids, but they discovered that building a real-time game in RoR was “too hard.”

When it comes to real-time games, says Suyderhoud, “There’s really not a lot that’s competing with [Node]. The other technologies just aren’t as good at doing real time. They’re backed in older frameworks. Node was designed from the ground up for real time and to be easy to use. Other technologies would take forever to do the same things.”

“You have this giant ecosystem of Javascript that’s perfect for real time,” he adds.

And as far as community is concerned, Suyderhoud says, “it’s amazing how inclusive it is. I’ve never seen such good support. For Node Knockout, it was some people’s first time using Node. We didn’t provide a lot of support, but we got really lucky. A lot of people who had no vested interest and were not participants stepped up and helped people solve their problems over the weekend, in chat channels and over Twitter. I was definitely not expecting that.”

Node for Collaboration

Mockingbird is more a tool for web designers than a true consumer app, and it allows devs and designers to rapidly create wireframes. The interesting thing about Mockingbird is that this Node.js app is already making serious money for its creators.

Basically, Mockingbird is a tool for collaborative drawing and real-time communication between designers and clients. It took the founders just months to take the app from concept to a working beta.

“We’ve been around since November of 2009 and launched our paid product November 2010,” says CTO and co-founder Saikat Chakrabarti. “We’re doing much better than we thought. We thought we’d be struggling entrepreneurs for a long time, but we’re very much in the green.”

The app currently has 60,000 users and hosts more than 100,000 projects.

Says Chakrabarti: “I tried to do the app in Twisted and Tornado at the time, and Node was by far the easiest… A lot of people and companies are very invested in this.”

Node for the Future

Time will prove whether Node is that next big thing, but one thing was agreed upon by all parties at this roundtable demo session: Node needs a Twitter, a Facebook or some other big, consumer-friendly, mass-adopted app to make the mainstream tech community take notice.

However, as soon as middle managers get wind of Node, it runs the risk of developing a bubble. An employment bubble would surely be followed by an employment crash, which would likely be perceived as the “downfall of Node.”

A misunderstanding of the technology is also a risk. Former Twitter engineer Alex Payne’s claim that Ruby was slow continues to haunt general conversations about Ruby to this day.

It’s not our intention to inflate anyone’s expectations of Node. And we’re certainly not advocating its use for all programming projects. However, we do think that Node is an interesting, accessible and efficient technology for real-time applications, and we’d love to see what comes of this framework.

We’ll especially be keeping an eye out for “the Twitter of Node” — both to critically examine how the framework performs under pressure and to keep an eye out for hype.

Stay tuned for Mashable‘s ongoing coverage of Node, including one-on-one interviews and code snippets to get you started.

ries Supported by Rackspace


The Web Development Series is supported by Rackspace, the better way to do hosting. No more worrying about web hosting uptime. No more spending your time, energy and resources trying to stay on top of things like patching, updating, monitoring, backing up data and the like. Learn why.

More Dev & Design Resources from Mashable:

Ruby on Rails: Scaling Your App for Rapid Growth
HOW TO: Transfer Your Blog From to [VIDEO]
A Beginner’s Guide to Integrated Development Environments
10 Chrome Web Apps to Check Out
10 Tools for Getting Web Design Feedback

Image courtesy of iStockphoto, Petrovitch9

More About: joyent, node, node.js, ryan dahl, tom hughes-croucher, web development series

For more Dev & Design coverage:

Up and Running With Node, an as-yet-unpublished tome on Node.js, is available as an online preview for all interested parties — especially helpful and constructive commenters.

O’Reilly Media’s first “animal book” on the increasingly popular framework Node.js should be hitting store shelves sometime this summer. What you can see now is author Tom Hughes-Croucher’s text, images and code samples, all of which are currently open for comments.

As Hughes-Croucher writes in the Author’s Note for the preview, “What you’ll find within this first release is not necessarily the final work that we will publish. We hope by making this book available as it’s written we’ll get your feedback, ideas and thoughts on what I’ve already written and what else we should be covering.”

Node.js is rapidly evolving — almost too rapidly for the printed page to keep pace — so Hughes-Croucher, who is also a Node core contributor, is doing all he can to ensure the book is, at press time, current with the available versions of Node.

As O’Reilly describes it, “This book introduces you to Node, the new web development framework written in JavaScript. You’ll learn hands-on how Node makes life easier for experienced JavaScript developers: not only can you work on the front end and back end in the same language, you’ll also have more flexibility in choosing how to divide application logic between client and server.

“Node is already winning the hearts and minds of many companies, including Google and Yahoo. This book shows you why.”

Among other things, the book attempts to teach devs about Node’s approach to event-driven programming and its support for databases and data storage tools. Readers will also find best practices for the still-nascent framework and get examples of how to use the APIs.

Node has also captured the imaginations of many of the developers we talk to on a regular basis; we’re excited to see what Hughes-Croucher is bringing to the table.

The author told us via e-mail that he’ll be updating the preview every two weeks. Anyone can read and comment on the book until it’s published.

And if you already know you’re going to want a hard copy, it’s available for pre-order for $34.99.

More About: developers, development, node, node.js, o’reilly, tom hughes-croucher

For more Dev & Design coverage:

Joyent, which literally sponsors Node.js by, among other things, employing Node creator Ryan Dahl, has just launched, a new hub for the company’s Node.js-specific hosting services.

Joyent’s hosting service uses Git revision control and is backed by Joyent SmartMachines.

Joyent is placing particular emphasis on these Node SmartMachines, which the company says “are what virtual machines would be if they were optimized for software applications instead of being designed to replicate hardware.” SmartMachines are particularly designed with real-time web apps in mind, and they are intended to give better performance and better utilization of hardware resources than traditional server options.

And since Node was built from the ground up for real-time communication, the company figures its SmartMachines are a good fit.

We wrote about open-source Node hosting platform Nodester back when it was NodeFu. Nodester competes with somewhat, but it’s hard to make an apples-and-oranges comparison between a slick, corporation-backed project and a relatively scrappy one from three developers.

If you’re building Node apps of your own, we’re particularly interested to know what you think of Joyent’s latest offering.

As an added bonus, here’s Dahl talking at Joyent’s Node Camp in December:

More About: joyent, node.js, ryan dahl

For more Dev & Design coverage:

Developers interested in creating cross-platform mobile apps have a new tool for their arsenals in The-M-Project. The-M-Project is an HTML5 JavaScript framework that targets iOS, Android, BlackBerry and webOS platforms.

Think of it as jQuery Mobile with the added bonus of a NodeJS based build tool. The project is new and in the very early alpha stages, but it already looks very promising.

The-M-Project has its own git repository that you can fork or download to your own system.

The project files include all the UI and Core files from jQuery Mobile. The real special sauce with The-M-Project is its build tool, Espresso. Espresso was written in JavaScript using node.js and with it you can build your code and run it on a built-in server. Espresso is available bundled with The-M-Project or you can download it from its git repository.

All right, so that all sounds good and geeky, but what exactly can this project do? Well, as we said, the project is still in its infancy but already the developers have put together some sample apps that show off some of what you can do.

This screenshot shows off the Twitter demo and the app. Accessing the app from an iPhone or Android device brings together an experience that feels very similar to that of a native iOS app. What is particularly cool — and this is the jQuery Mobile base — is that you can adjust your browser window’s size to see how the UI elements scale up or down.

If you want to explore the insides of the sample apps, you can check the source code out on Git Hub.

The team behind The-M-Project, M-Way Solutions, has a basic roadmap outlining its plans for the project. The first public release is out now but future updates will be coming soon and the production ready 1.0 version is scheduled by the end of 2011.

Developers that want to contribute by filing bug reports and submitting patches can go to Git Hub or look at this page for more information.

What do you think about JavaScript/HTML5 mobile app frameworks and tool kits? Is this where mobile app development is headed? Let us know your thoughts.

More About: HTML5, javascript, jquery, jquery mobile, mobile app development, mobile apps, node, node.js, the-m-project

For more Dev & Design coverage:

Fans of Node.js will appreciate today’s finding: NodeFu, a sort of Heroku for Node.js.

The incredible success of Node.js last year was one of the top web-dev highlights of 2010. And the advent of more web-based development tools and more open-source tools was one of our predictions for 2011.

So it makes perfect sense to us that a developer has created an open-source hosting platform for Node.js.

NodeFu is a free way to deploy Node.js applications (here’s the source on GitHub). It’s a cool toy for devs who are experimenting with the hot new framework on the block.

NodeFu’s creators write on the site (which is rather bare bones, as NodeFu is currently more about the API than the pretty packaging), “We started this project because the ‘other’ Node.js hosting services was not sending out coupon invitations. Now anyone can host Node.js apps!”

NodeFu is currently running Node v.0.3.5 and updates all Node Package Manager modules weekly. Git is required to push updates to NodeFu.

Here’s a video explaining the origins of NodeFu and a walkthrough of how to use the site and the service:

More About: foss, heroku, node, node.js, nodefu, open source

For more Dev & Design coverage:

The Web Development Series is supported by Rackspace, the better way to do hosting. Learn more about Rackspace’s hosting solutions here.

This year brought quite a few headlines of note to the developer world. While we each have our favorites, from new releases of classic tools to astounding announcements from tech companies, here, in no particular order, are a few stories that stood out to us this year.

In the comments, we’d love to know what stories stood out most to you this year, partly to indulge our sense of gratuitous end-of-year nostalgia and partly to help us hone our coverage for 2011, when we hope to bring you more fascinating web dev news than ever before.

What were your favorite dev-related headlines of 2010?

1. The Release of Rails 3.0

Early in February, the Ruby on Rails core team took the wraps off Rails 3.0, a long-awaited release of the popular Ruby framework.

Rails creator David Heinemeier Hansson wrote on the Rails blog, “We’ve had more than 250 people help with the release and we’ve been through almost 4,000 commits since 2.3 to get here. Yet still the new version feels lighter, more agile, and easier to understand.

“It’s a great day to be a Rails developer.”

2. Salesforce’s Acquisition of Heroku

Earlier this month, Salesforce bought Heroku for a staggering $212 million, giving another token of legitimacy to the growing Ruby community as well as to cloud-based programming tools.

Salesforce CEO Marc Benioff said at the time, “The next era of cloud computing is social, mobile and real-time… Ruby is the language of Cloud 2, and Heroku is the leading Ruby application platform-as-a-service for Cloud 2 that is fueling this growing community. We think this acquisition will uniquely position as the cornerstone for the next generation of app developers.”

3. Facebook’s Release of HipHop for PHP

In February, Facebook rolled out HipHop, an internal open-source project intended to speed up PHP for large-scale applications.

HipHop isn’t quite a compiler. “Rather,” wrote Facebook engineer Haiping Zhao, “it is a source code transformer. HipHop programmatically transforms your PHP source code into highly optimized C++ and then uses g++ to compile it.”

The project was the culmination of two years of work by a small team of engineers; in the end, it got a thumbs-up from PHP creator Rasmus Lerdorf, who said, “I think it is a cool project and it will certainly be a good option for some sites.”

4. The Rise of Node.js

Node.js has been around for a couple years, but 2010 was the year awareness and use of the JavaScript framework really blew up.

Commits have grown, as have the number of committers. Traffic to the project website has steadily climbed through the year, and downloads for Node.js from GitHub have predictably grown, as well.

As the organizers of the annual Node Knockout wrote, “It’s at the bleeding edge of a technology stack that allows developers to blur the lines between software, the web and the new like never before.”

5. Microsoft’s Release of Visual Studio 2010

The latest version of Microsoft’s Visual Studio, a big release by any standards, launched this year to impressive reviews from all corners of the web. InfoWorld said the release “marks a major advance in functionality and ease,” and The Register wrote, “It is hard not to be impressed by Microsoft’s tool suite.”

The IDE was overhauled, completely rewritten from the ground up. Support for Silverlight was added, and Microsoft also took this opportunity to release F#, a new programming language developed by Microsoft Research.

6. Facebook’s Release of the Open Graph API

Facebook and social app developers have long wrestled with Facebook integration for third parties. In the spring at its f8 developer conference, Facebook rolled out a brand new model for tapping into the social web, and it did so to unprecedented fanfare.

Dubbed the Open Graph, Facebook’s changes brought instant gratification and familiarity for Facebook users as they surfed the web — and they brought a fast and easy way for devs to integrate with the social network, as easy as a single line of HTML in many cases.

7. The Android/Java/Oracle Saga

What a year it’s been for Java! Not only is the language a key part in the programming stack of the fastest-growing mobile OS out there; it’s also the star of a big, potentially spendy lawsuit between two of the giants of the tech industry.

Sun, which developed the language in-house back in the dark ages, was acquired by Oracle. That deal became official in January, and Oracle wasted no time in getting litigious with Google over that company’s use of Java in the Android platform and the Dalvik virtual machine that stands in for the JVM on mobile OSes.

The lawsuit began in August with Oracle claiming that Google “knowingly, directly and repeatedly infringed Oracle’s Java-related intellectual property.”

Google quickly countered that it was shocked — shocked! — that Oracle would make such claims over an open-source technology. It followed with the assertions that Oracle’s patents are unenforceable and that if there had been “any use in the Android platform of any protected elements” of Java, Google itself “is not liable” due to the fact that such violations would have been committed by third parties and without Google’s knowledge.

We’ll continue to keep an eye on the lawsuit and on Java’s role in the Android platform throughout 2011.

8. Apple Declares War on Flash

Tensions between Apple and Adobe ran high this year, beginning in January when the iPad launched without support for Flash. Then in February, Apple co-founder Steve Jobs told employees why: “No one will be using Flash. The world is moving to HTML5.”

These were the words that launched a thousand blog posts. Throughout the spring, the two companies waged a war of words — and one sweet antitrust inquiry with the Department of Justice over Apple’s banning of Flash for iPhone app devs.

Steve Jobs dropped the bomb of the year in a passive-aggressive missive on Flash in which the Apple co-founder stated that Adobe’s programming technology is “no longer necessary” and waxed hypocritical about open technologies.

But while he may have been passive aggressive and hypocritical, he also may have been right. With HTML5 making a strong showing early in its lifetime, it was only a matter of time before a public figure of Jobs’s stature would make a statement or two about the death of Flash.

Of course, this tension has made for a convenient cozying-up between Google and Adobe along the way.

What Are Your Picks?

Again, let us know in the comments what your favorite stories of 2010 were — and Happy New Year from the geeks at Mashable!

With special thanks to our Twitter friends who made suggestions for this list: Jordan Runnin, Leon Gersing and Jeremy Bray.

More About: 2010, developers, heroku, hiphop, java, News, node.js, php, programming, rails, ruby, visual studio, Web Development, web development series

For more Dev & Design coverage: