The @WalmartLabs Blog

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

  1. 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.

  2. 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.

  3. Walmart Acquires Stylr to Enhance the In-Store Mobile Experience

    Posted on by Gibu Thomas

    We are excited to announce @WalmartLabs has acquired Stylr, our first acquisition of a Silicon Alley-based company in New York and our 13th acquisition in the past three years.  As we continue to integrate digital and physical retail to create new and unique experiences for customers, we’re thrilled to add Stylr to our mobile team.  Over half of Walmart smartphone users have used their device in-store to assist with their shopping, and with 80% of our customers under the age of 35 owning a smartphone, we expect this to grow dramatically.  We are excited about the opportunity to serve these customers with indispensable digital tools that bring the convenience of online shopping into our physical stores and integrate our online and offline experiences to enable our customers to shop anytime, anywhere.

    As part of this journey to offer the best tools to help customers save money and time so they can live better, we talk to many companies to discover new innovations, learn best practices, and much more. One of the companies we recently connected with was Stylr, founded by Stanford alumni, Eytan Daniyalzade and Berk Atikoglu (Go Cardinal!), and funded by Dreamit Ventures, a New York-based incubator.

    We were really impressed with Eytan and Berk’s ability to quickly develop and grow Stylr, a mobile app that allows shoppers to find the clothes that they love in nearby stores. Eytan and Berk built a great experience for their users and we loved their passion for bridging digital and physical shopping experiences – and together we realized the opportunity to create a greater impact on more consumers, brands and the overall ecommerce industry with Stylr as part of the Walmart family.

    It has been an exciting year at @Walmart Labs, but we’ve only scratched the surface with what mobile technology can enable for retail. Take our newest offerings for example, eReceipts and Savings Catcher. With Savings Catcher, our technology does all the work for customers by looking for and matching local competitors’ ads and providing any difference on an eGift card. And with eReceipts, we’ve built a platform that not only helps with things like store returns today, but also paves the way for future innovations such as eCoupons and automated shopping lists. An interesting side note is that our e-receipts platform was built by a talented two-person team from Australia, who Eytan and Berk remind us a lot of.

    Needless to say, we are excited to welcome these incredibly talented guys to join the @WalmartLabs team and help us accelerate our digital transformation of the in-store experience. We can’t wait to see what they come up with!