As PayPal transforms itself for transactions over smartphones and other mobile devices, it’s found Node.js to be an indispensable tool.
PayPal was undergoing a makeover for roughly two years now, and the company’s senior director of user interface design, Bill Scott, says Node.js has become one of many top tools in its transformation. Scott, a former head of Netflix e-commerce user interface design, says Node is an indication of the deeper changes underway at PayPal.
One of Scott’s assignments at Netflix was designing an ideal way for Sony PlayStation 3 owners to download movies. Other than creating one user interface to check, his team came up with four and tested they all with PlayStation users. He said in an interview with InformationWeek that the one who won was not the single the developers would have chosen. The tale shows how he prefers to select technologies that let him to experiment and test different options quickly.
Scott described how PayPal has used Node.js, in addition to his experience moving from Netflix to PayPal, last May on the O’Reilly Fluent Conference. He provided an update on how far PayPal has progressed with its Node.js makeover on Feb. 28 at Node Day, held at PayPal’s headquarters in San Jose, Calif., where 400 Node.js programmers showed up from Groupon, Wal-mart, Netflix, LinkedIn, Adobe, and GoDaddy, among others.
He also moved his personal blog to Node.js late last year, and said in his personal blog, “In the event you didn’t know, i like NodeJS. It has helped us start a revolution at PayPal for our engineers, and shortly our customers, as experiences will start rolling out faster.”
[Like to learn more about PayPal’s mobile modernization effort? See How PayPal Got Its Swagger Back.]
In early 2012, Scott was still getting familiar with Node.js when David Marcus, former CEO of Zong, a startup acquired by PayPal, was named president of PayPal. Marcus immediately realigned priorities, telling current CTO James Barrese and other key developers, “Let’s redo PayPal Checkout.”
That was music to Scott’s ears. In his eyes, Marcus changed PayPal’s risk-averse and stodgy technology culture into one which would modernize and revise applications fast. The PayPal Checkout function was the bane of merchants since it took shoppers off their e-commerce site and onto PayPal’s to finish a transaction. Merchants wanted visitors-turned-buyers to remain on their sites, where they’d have another chance to have interaction with them after that transaction.
PayPal collects $3.5 billion in revenue through interactions with customers set by the user-interface front end. Scott was brought in to re-engineer the user interface that controlled those interactions.
When he arrived at PayPal in 2011, Scott told InformationWeek, he found the corporate had built its foundation code in C++ and Java. It used the Spring Framework, a manner of lightening up Enterprise Java’s complexities, but that wasn’t enough for Scott. “It was an exceedingly unfriendly environment for front-end engineers,” Scott told the Fluent Conference in May. Startups were developing almost exclusively in Ruby, PHP, and Node.js, and he desired to do more of the things they were doing.
He’s an enormous fan of Node.js since it runs fast at the server and works smoothly with JavaScript actions in web browsers. It was designed to operate at scale with many concurrent end users. It returns responses, with content, information, or database lookups, quickly. Whereas a Java process would suspend further operations until a database query were answered, Node.js’s non-blocking system continues to execute commands and get work done while the query is occurring.
When developers work in Node.js, they may change the code they’re engaged on, direct it to run, and spot whether it really works — inside the blink of an eye fixed. With Java, what was often a fifteen-second (or maybe as much as two minute) wait when deployed to a staging server was just a few thousandths of a second wait in Node.js. “Letting developers see changes almost simultaneously was a large, huge win,” said Scott.
Node.js language emerged from a project at cloud merchant Joyent in 2009. Portion of Node.js’s speed comes from the Google V8 runtime engine for JavaScript, present in the Google Chrome and Apple Safari browsers. “Google invested plenty in V8,” he noted. PayPal can use it because Google has made it open source code.
Scott said PayPal had five engineers redoing the PayPal Wallet application using Java when he decided to assign a two-person engineering team to work at the same task using Node.js. Within two months, that team had caught as much as the five-person team.
“You are able to do more work in a shorter period of time with half the folks,” Scott concluded. Portion of the conversion to Node.js was also a conversion to agile development methods in place of the waterfall approach. Node.js lends itself to agile development since it requires 33-50% fewer lines of code to get a task done, he said.
PayPal still has services written in Java and C++ that the internet applications and Node.js applications call on. But PayPal Funding Source, PayPal Account Details, PayPal LogOn, and Wallet now have user experiences set by Node.js, not older technologies.
PayPal has redone 22 of its customer applications, most of them formerly in C++, Java, or Java Server Pages, into the lighter, faster, non-blocking functionality of Node.js. Another Node.js benefit: As it includes an HTML server in its operations, no separate Apache Web Server is required.
Before Scott came to PayPal, he developed the Rico library utilized in Ajax programming and co-authored “Designing Web Interfaces” for O’Reilly. But he’s interested in the challenge of converting a primary-generation e-commerce company, which has always done business through PCs interacting with Web applications, right into a more modern and mobile organization. “To start with, we thought Node.js would scale similar to Java, but we’re seeing much improved performance and scaling. I’ve loved the developers’ joy it’s created.”
What do Uber, Bank of America, and Walgreens must do together with your mobile app strategy? Discover within the new Maximizing Mobility issue of InformationWeek Tech Digest.
Charles Babcock is an editor-at-large for InformationWeek, having joined the publication in 2003. He’s the previous editor-in-chief of Digital News, former software editor of Computerworld and previous technology editor of Interactive Week. He’s a graduate of Syracuse … View Full Bio
More Insights