#NodeSummit: Walmart, Save Money, Use Node.js

Date: Sat Apr 26 2014
This panel is Dion Almaer and Ben Galbraith of Walmart, and James Watters as the moderator from Cloud Foundry. Dion and Ben are of course the people who had been with Palm implementing a Node stack (WebOS) for mobile devices.

They chose to use Node.js - because of fascination over using end-end JavaScript. Seamlessly mix where the logic lives. Architecture where rich environment can be given to user on both desktop devices with powerful browsers, and for users on low end devices, or e.g. when the GoogleBot visits the site. This means delivering different content based on the user agent string.

Node allows Walmart to front for all sorts of back end services so they can build their web based store-front.

Walmart wanted to develop an infrastructure that gave their developers something to be excited over, it's a recruitment tool for them to attract great talent.

Variety of the devices being used - desktop browsers, low end mobile phones, high end mobile phones, tablets, etc. There's a need to optimize websites for each kind of device. Another aspect are the mobile apps where a part of the app is a web component letting part of the application be implemented with the usual HTML5 tooling you'd use in a web browser. HTML5 becoming a lingua franca in delivering app experiences on a variety of devices.

On WebOS - the way WebOS had done back end services, it was implemented with a Java JVM (hand built) but they found it suboptimal. They'd started implementing their own javascript server for use within WebOS devices, but then Node.js came along. They invited Ryan Dahl to help their team understand it. That led to Node being used on WebOS. But of course WebOS has essentially been killed by HP since then.

They use MongoDB because it's such a great fit with Node. Not looking at one thing to solve all problems. REDIS being used. Back end analytics being implemented with a Node application for different management uses as well as the data that drives decision making in the management level (e.g. which page elements give the best sales conversions).

An example is having the analytics to detect when a customer arrives on the website with a particular search term but are landing on a suboptimal page (defined as a page that leads to low sales conversion). They can, in real time, detect this, implement a customized search result, and figure out, in real time, why the search engine "got it wrong".

Node is offering them lots of opportunity for rapid real time changing of algorithms and capabilities etc.