This content is part of the Essential Guide: Enterprise architects' guide to success with mobile apps for business
Evaluate Weigh the pros and cons of technologies, products and projects you are considering.

Building a mobile polling app, developer faces need for scale, speed

In this feature, Executive Editor Jan Stafford describes a software developer's quest to create a new mobile polling application, Mobile Reactor.

When Grant Rhys-Jones became a Windows application developer more than 15 years ago, the Nielsen Co. still gathered television viewership statistics via handwritten diaries and set-top boxes. Today, Rhys-Jones is among those pushing the envelope in instant-polling software. His recent project was the creation of a new mobile polling application that allows viewers of any media program to send feedback from any location at any time.

Change agents

This project was riddled with challenges, including a two-second deadline for sending processed, aggregated data to TV networks and the need to bypass firewalls. To beat those barriers, he looked for a cloud delivery option and a kind of legitimate worm.

Rhys-Jones is the technical product owner for Reactor products at Roy Morgan Research, an Australian market research firm that builds its own polling software. He discusses the project challenges in building Mobile Reactor, a mobile polling application that facilitates instant feedback on events and media programs. In general, the Reactor line polls people on many activities, including political debates, ads, events and programs.

Roy Morgan mixes traditional and new styles of polling. Telephone and audience surveys gather data, which is then aggregated into reports in Roy Morgan's Asteroid database, which customers can access. The newer Reactor applications provide real-time feedback via computers, and Mobile Reactor extends those capabilities to mobile devices. Mobile Reactor went live in the iTunes App Store on Dec. 5.

Grant Rhys-Jones headshotGrant Rhys-Jones

The Mobile Reactor project was born when "we said, 'Wouldn't it be great if people could do this from home?'" said Rhys-Jones. As product owner for all Reactor products, he is primarily responsible for establishing users' technical and business needs requirements. In Mobile Reactor's case, the primary business need is delivery of aggregated data in visual and text formats in seconds. On the technical side, Mobile Reactor has to bypass firewalls and work with every type of mobile device. In addition, Roy Morgan had to find a way to provide adequate server space when spikes in activity -- such as TV audience responses -- happen.

Roy Morgan has a number of in-house servers that receive the data, said Rhys-Jones, but adding mobile device input would increase the load tremendously. "Getting all that data across the infrastructure, while dealing with network latency, was our biggest challenge," he said.

Buying more servers was inefficient because they would "sit there just being dormant for a long time, just to cover a minutes-long spike," Rhys-Jones said. Scaling is a job for the cloud, he reasoned. After evaluating cloud providers, his team chose Amazon Web Services for its capacity and support.

Firewalls have posed challenges for both Reactor and Mobile Reactor. "Essentially, the application has to poke a hole into corporate firewalls," said Rhys-Jones. Indeed, the first Reactor mobile polling app was called the Worm. Reactor uses a custom port to get the data feed via a socket. "It has to be a sort of virus socket because we need a continuous string to be sure each packet is coming back in the correct order," he explained.

When looking for Web socket tools, Rhys-Jones considered SocketIO, Node.js, Kaazing WebSocket Gateway and several other products. Security, latency, usage difficulty and poor device support cropped during evaluations. Only Kaazing's WSG avoided those issues and worked across all mobile operating systems. In addition, Kaazing had enterprise-level support for native and hybrid HTML5 applications. Kaazing's tool also enables delivery of user data in a Web interface in its own cloud environment.

Roy Morgan's first Reactor-brand mobile polling application was called the Worm.

Kaazing's support clinched the deal. "They would come and spend half a day solving problems," Rhys-Jones said. This type of support was crucial, he said, because Mobile Reactor "pushes the boundaries" of information gathering and delivery technology.

Rhys-Jones was pleasantly surprised to find that Kaazing WSG also ended common product demo problems. "Previously, we'd have to beg [the corporate customer] to open firewall ports to do a demo on their site," he said. "Now, we can walk into any sort of executive's office or anywhere else and bring the application up without any network issues."

Fixing connectivity and server capacity issues before they happened were big steps forward, Rhys-Jones said. In the near future, Roy Morgan's focus will be on streamlining internal data flows to improve the time to market of the data collected. He is exploring projects for developing new formats for delivering data, exploring data mapping technologies and new types of dashboards.

Upcoming projects will be governed by Roy Morgan's new project management office , or PMO, and guided by a newly hired change manager. In the past, projects haven't been defined well in their beginning stages, Rhys-Jones said. Going forward, starting with a "one-pager" describing the requirements and goals for the project is a must. "We're tightening our processes," he said.

What work have you done with Web sockets? Do you have advice about or tips based on your experiences? Or do you have questions on this topic for our experts? Email

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.