The @WalmartLabs Blog

Read about how we’re innovating the way our customers shop.

  1. Luv and Joy in @WalmartLabs

    Posted on by Ben Galbraith

    One of those big mail-order catalogs showed up on my porch the other day. I don’t see them too often anymore, and as I brought this one inside, a wave of childhood memories came to my mind. I recalled hours spent flipping through such catalogs, full of joy at the discoveries I made on every page.

    In the retail business, we thrive on these moments—on finding products we think our customers will love and introducing them to each other. Whether in pages, pixels, or aisles, facilitating such moments is at the very core of what we at Walmart do.

    With nearly 245,000,000 people visiting our stores and websites every week, we’re fortunate to create more of these moments than any other retailer in the world. With this opportunity comes a heavy responsibility to do the very best job we can, so we’re always asking ourselves, “How can we improve in our mission to help our customers save money and live better?”

    Today, we’re giving that mission a big boost: I’m pleased to announce that we’re acquiring Luvocracy, an online community that helps people discover cool products recommended by people whose taste they trust, such as family members, friends and online influencers. Founded three years ago, Luvocracy was one of the first companies to enable the entire social shopping experience—from discovery to commerce—to occur within the four walls of its app.

    Among the sixteen highly-talented people joining us from Luvocracy include its leadership team:

    • CEO / Co-founder Nathan Stoll, an early and influential product manager at Google working on products like AdWords, Suggest, and News and co-founder of Aardvark
    • VP of Design Brooke Thompson, formerly a Senior Director of Design at Yahoo! responsible for their Communications, Communities and Home Page products
    • Creative director Christine Martinez, a Pinterest “Power Pinner” with over 5 million followers and author of The Complete Idiots Guide to Pinterest Marketing. She also founded and created LAMA, an e-commerce boutique that represented global artists and makers.
    • VP of Engineering Ajay Agrawal, who previously was SVP of engineering at Blurb and has held prior roles at eBay, Microsoft, Oracle, and others

    We’ve been spending a lot of time with Nathan, Christine, Ajay, Brooke, and the rest of the crew; what an amazing bunch! I’m so delighted to have them join us, and now we’ll be working together to create more of these fantastic moments when customers find delightful products at great prices.

    Welcome, Luvocracy. We’re excited to have this super-talented team bring their knowledge and experience to help us redefine the shopping experience of the future. I can’t wait to see the ideas we’ve been cooking up together come to life in our properties around the world.

  2. A New Client-server Web Framework

    Posted on by Marissa Coren

    by Jason Strimpel, Staff Software Engineer, @WalmartLabs

    I’m an engineer for a branch of @WalmartLabs in Carlsbad, CA (San Diego area). I recently wrote a blog post about a new client-server web framework that we have been developing and leveraging to power applications. Today I am pleased to announce the open sourcing of this framework.


    LazoJS

    LazoJS is a client-server web framework built on Node.js that allows front-end engineers to easily create 100% SEO compliant, component MVC structured web applications with an optimized first page load. For a more detailed overview please visit the Lazo wiki.

    Resources

    Getting started with Lazo is a breeze. It can be done in three easy steps. Additionally, there are some more great resources to help keep you moving forward:

    Things to Come

    This is just the beginning! We have quite few items on our road map. Want to get your hands dirty? Check out our contributing guide and get started today!

    Want to Learn More

    Interested in learning even more? I will be speaking about it at OSCON, July 24, 2014 about leveraging Lazo to solve both business and engineering requirements. You can also contact me via Github.

  3. In Search of the Holy Grail, Again

    Posted on by Marissa Coren

    by Jason Strimpel, Staff Software Engineer, @WalmartLabs

    I’m a developer for a branch of @WalmartLabs in Carlsbad,CA (San Diego area). One of the interesting tasks we’ve undertaken is to implement a web framework that puts control of the UI entirely in the hands of the front-end engineer regardless of whether the code is executed on the server or the client.

    The Problem

    The rationale for this undertaking is that there should only be one code base, one rendering life cycle, and one runtime for the UI to prevent the issues that typically plague a standard web application―a mix of server and client languages each with their own life cycle. Often, standard web applications contain a lot of redundancy and no clear lines for separation of responsibilities. In one case the content may be server rendered using one language and in another case the same content may be rendered on the client using JavaScript. Another drawback to the standard application model is that, in small teams, developers are forced to context switch between languages. The answer to these problems is usually a Single Page Web Application (SPA).

    An SPA separates application logic from data retrieval, consolidates UI code to a single language and run time, and delegates UI rendering to the browser. However, the SPA model fails to adequately address SEO concerns[1] and time to first page render making it a major concern for any public facing web application, site. As such developers rely on workarounds such as the hashbang or running/emulating the DOM on the server so they can realize the benefits of the SPA model while addressing SEO concerns. These workarounds have significant performance and maintenance drawbacks. Additionally, users still have to wait for multiple networks calls to complete while the data and assets required to fully render the page is retrieved thus increasing bounce rates. What is an engineer to do?

    The Solution

    @WalmartLabs what we have done is created a new hybrid web framework that is the best of both worlds―all the pros of standard applications and SPAs without the cons. The first page is fully rendered on the server and subsequent page requests are rendered on the client in browsers that support session history management transitioning to an SPA model. Browsers that do not support session history management gracefully degrade to server rendered only.

    This alone is nothing new. Airbnb has already done something similar with Rendr. The key difference between what we have done and what Airbnb has done is that we created a framework not a library. As such, we have made decisions that make application development much easier―proxy layer for models, server side data aggregators that map to models, asset providers with i18n/I10n support, component composition (reusable and parameterized), combo handling API, collection views, layouts, etc.

    Up Next

    We are currently using this framework to power several internal applications. We intend to open source in July, so keep an eye out on Twitter, @WalmartLabs. I will also be speaking about it at OSCON, July 24, 2014. Interested in learning more? You can contact me via Github (https://github.com/jstrimpel).

    [1] Google is just now beginning to solve this problem, but they are only a single search engine, albeit the largest, and your mileage may vary.