Dev

What is this real-time web you speak of?

real time app
Image Credit: Flickr

Real-time web functionality is something millions of people see every day in their favorite applications, but most don’t realize it. Companies like Facebook and Twitter use real-time data to seamlessly update user’s activity streams, resulting in an experience that feels less static and more like instant messaging.

This new paradigm involves pushing data to users instead of software periodically checking for updates.  Real-time data is seen in features like chat, activity streams, collaboration, multi-player games, dashboards, and second-screen experiences. Two key benefits are increased user engagement and reduced server load.

Large companies like Facebook, Twitter, and Google have made real-time data the norm in applications we use daily, but what about the rest of us? Several startups are democratizing the technology so the rest of us can provide real-time experiences in our applications. Let’s take a look at a few of them.

DevBeat logo

High level but hands-on

Our upcoming DevBeat conference, Nov. 12-13 in San Francisco, will have a lot more on this topic. Featuring hacker legends like Stallman, DHH, Rasmus Lerdorf, and Alex Payne, it’s a hands-on developer event packed with:

  • workshops
  • teck talks
  • live Ask-Me-Anything
  • hardware hacking

It’s all aimed at boosting your code skills, security knowledge, hardware hacking, and career development. Register now.

MeteorJS

MeteorJS is an open-source platform for building web applications that combines client-side templates with real-time data.  Whenever data changes on the server, your app updates automatically.  Designed for JavaScript developers, MeteorJS allows you to write code that will run on both the client and the server.  The company has built a set of command line tools for creating new projects, running them locally during development and deploying them to meteor servers when you want to share your creation with the world.  You also have the option to create a bundle and deploy it to your own servers.

MeteorJS uses “smart packages” to add functionality to your app.  These range from UI components to popular JavaScript and CSS frameworks.  Most meteor apps use MongoDB for data storage and built in user accounts for securing data.

This startup has got some big names backing it, but it is open source and not a 1.0 release.  Don’t expect the same polish you see in commercial products.

Firebase

Firebase is a startup offering similar functionality to Meteor, plus a polished dashboard to view data and configure user authentication for your app. They officially support client-side libraries and skew towards mobile app development with iOS, JavaScript, and Android, plus many other languages supported through the Firebase community.  This emphasis on mobile developers aligns Firebase with many mobile backend-as-a-service (mBaaS) players like StackMob, Parse, etc. Typical mBaaS companies offer data storage, user authentication, push notifications and custom server-side code.  Firebase differs by combining data persistence with real-time data delivery.

PubNub

PubNub is focused exclusively on the delivery of real-time data. Founded in 2010, it provides an easy-to-use application programming interface or API to developers for sending and receiving real-time data.  PubNub can scale to millions of messages a second. It supports more than 50 SDKs including popular environments like iOS, Java, Ruby, PHP, .NET, and JavaScript. Its focus on just real-time data means no support for data storage or use authentication found in MeteorJS, Firebase, and mBaaS companies. (Disclosure: My company, StackMob, formed a partnership with PubNub back in 2012 to add real-time data support to our platform.)

What about mBaaS?

Mobile backend-as-a-service platforms have really taken hold with mobile developers and continue to grow in popularity. Facebook’s acquisition of Parse last April and Microsoft’s release of Azure Mobile Services prove big bets are being made on mBaaS.

mBaaS is designed to help developers with data storage, user management, integration with social networks, and push notifications. But what about real-time data? Although it fits nicely within the mission of mBaaS companies, a large majority do not support this feature.

Recently, Google launched its Mobile Backend Starter for AppEngine, which includes pub/sub messaging necessary for real-time data. This development puts Google firmly in the mBaaS game.

We’ll have to wait and see how other mBaaS companies react to these developments and how it shapes the future of the industry.

Developers have a lot of choices when it comes to real-time data.  It’s smart to investigate your options to find the right fit for your next app.

Sidney Maestre is Platform Evangelist at StackMob. Prior to joining StackMob, he immersed himself in the world of payments as the primary Developer Evangelist for PayPal. He spent the last two years working with jQuery to build mobile apps and sharing his knowledge with others. These efforts included speaking at Adobe MAX, SenchaCon, HTML5DevConf, Silicon Valley Code Camp, creating a jQuery Mobile course at uDemy.com and organizing the Bay Area Mobile meetup.


Mobile developer or publisher? VentureBeat is studying mobile marketing automation. Fill out our 5-minute survey, and we'll share the data with you.