Nike’s Open Source Software: Why It Matters

Posted by Alex Misevski on November 14, 2016
Nike’s Open Source Software: Why It Matters | http://blog.zang.io

Open source branding is an emerging phenomenon. Spurred, in part, by the importance of the internet and dominance of social media, the principle behind it is quite simple- create free, open source software and submit it to public source code management and version control sites. From there, developers use it to create a totally different product, as long as its license permits, thereby causing wide market adoption. The open source branding strategy is a unique twist on brand development. As Scott Cook, co-founder of Intuit says: A brand is no longer what we tell the consumer it is – it is what consumers tell each other it is.

Nike Moves Towards Open Source Branding

Nike recently adopted this strategy when it launched three open source software options in Github: a distributed Java tracing solution called Wingtips; a Swift logging library named Willow; and a JSON parsing framework known as Elevate. Other than this, they also included the code of their Github site which can be reused to showcase products using their code base.

Nike’s move towards open source branding is strategic. The company has been active in the tech industry for quite some time. When they first formed a partnership with Apple in 2006, Nike+iPod Sports Kit was created. It’s the company’s first mobile application and aimed to track the length of the user’s workout, travel, pace, and calories burned. Today, eliciting the same business value, the sports apparel giant developed 12 iPhone and two iPad applications leading to a very active user base. With a new Chief Digital Officer appointed in February of this year, Nike is expecting to further expand its e-commerce business to $7 billion in annual sales by 2020. Its open source programs and the expected adoption of developers across various disciplines is instrumental in making them surpass the 51 percent fiscal growth they had in 2016.

As a developer, understanding what these free open source software products are and how they’re different from already existing ones is crucial in creating more valuable solutions in the sports and fitness industries that are backed with sound marketing strategies.

Wingtips: A Java Tracing Solution

An open source solution based on Google’s Dapper research, Wingtip makes communication and coordination among networked computers concurrent and failure proof. This program enhances the performance of Distributed Computing, which basically allows networked computers to have their own private memory and enables information distribution though passing of messages. Wingtip is useful if you’re going to build an application that requires connection to several computers to process data.

For example, a website with a single page view request following a service oriented architecture (SOA) can be calling out to multiple backend application programming interface (API) services that are many levels deep. A big concern on handling such downstream services is the latency of network relationships between each of the distributed systems and their performances. This leaves plenty of room for challenges, such as database performance optimization and bandwidth connectivity.

Nike’s distributed tracing mechanism will check which distributed system is slow and experiencing performance problems and at the same time monitor requests from and to servers. Essentially, this is what Wingtips can do to monitor your distributed systems:

  1. A tracing tool could have a custom Unique Identifier that propagates throughout various transports protocols like HTTP, SFTP, etc.
  2. Correlate and observe data gathered from the passing of Unique Identifiers
  3. Create reports based on correlated and observed data
  4. Use HTTP X headers and RPC calls instead of SQL, making the trace faster

Willow: An Open Source Logging Library

The second open source software from Nike is Willow – a logging library that uses Swift and can be used to implement application security and performance measures.

Logging is mandatory in order to collect information about an application so security incidents, policy violations, vulnerability, and exploitations can be detected early. In addition, it’s also important for application performance tracking such as data load time and page time outs. From a business perspective, logging is useful to track process gaps such as abandoned or failed transactions.

There’s already quite a lot of open source logging systems in the market today – two of which are XCGLogger and Swell. Here’s a table showing how Willow compares to them.

open-source-library-table.png

A good logging system is a combination of various factors. First, log events must be created in a way that can be understood by humans. As such, refrain from using binary formats; instead, convert them to human-readable (ASCII) structures. In the event that a binary format is required, use contextual meta data so that it can still be searched. These two criteria are satisfied by both Nike Willow and XCGLogger. Swell, on the other hand, is quite limited.

Other than this, logging systems must also record events that are beyond performance tracking. It should take into account user behavior, audit trails, and transactions. Nike’s Willow outdo both XCGLogger and Swell as it is capable of Shared Locks, Share Logger, and Unit Testing. From this comparison alone, it’s safe to say that Willow is perfect for enterprise level application development projects as it can provide a full logging mechanism. XCGLogger can be used for intermediate types while Swell will be appreciated in small to medium rapid application development initiatives.

Elevate: A JSON Parsing Framework

Nike’s last open source program is a parsing framework for Swift. Although Swift prevents developers from running into a lot of code errors, such strong language makes working with JSON data types and other areas less straightforward. While there are many open source JSON libraries for Swift that give smooth and reliable parsing capabilities, Elevate is easy to implement and is more flexible in nature. See Swift’s default parser compared to Nike’s:

Swift:

let JSONObject = try NSJSONSerialization.JSONObjectWithData(data, options: .AllowFragments) as?
[[String: AnyObject]]

Elevate:

let avatar: Avatar = try Parser.parseObject(data: data, forKeyPath: "response.avatar")

The parser guarantees that properties will be of the specified type, so it is safe to use the custom operators to automatically extract any value from the properties dictionary and cast it to the desired return type. So, when it comes to applications with a simpler and intermediate data model, Elevate could be a real time-saver, especially when compared to a monolithic JSON parser.

Nike’s Github Web Page

Beside the apparel giant’s array of open source projects, they’ve also added the complete source code of their open source site’s index page which can be used as template for beginner web developers in designing table less CSS websites.

Nike’s free open source programs in Github could open a lot of doors to IT professionals, especially those who specialize in networking, infrastructure, and mobile development. Its two flagship solutions, Wingtip and Willow, are an alternative to Distributed Computing and Logging that can improve application performance and security. Elevate, on the other hand, can be a good tool for Swift mobile application developers as it’s a more straightforward option in parsing data types. If you’re ready to start working with Nike’s free codes, you can download Wingtip, Willow, and Elevate here.

Start building on Zang
 

Topics: Ideas, open source, development