Cultural considerations require us to look at how we build digital products for a Chinese audience

Technology

Engineers love their computers, we use them everyday at work, and many of us are avid gamers, playing games on our breaks and when we finish for the day, so it only makes sense that we’d want the best computers we can get our hands on so development is faster.

We also had test computers that weren’t quite as good as our main computers, but they were the company issued Dells, which by our standards were too slow and cumbersome to warrant using.

The problems started when we released our product to our initial test users. Many of our users reported that the application was far too slow! It even crashed some systems, giving the old fashioned blue screen of death. This is something we sort of knew, but didn’t realise the full extend of, our users were using far older technology than what would be expected in Australia. Our new fancy development boxes were hiding the performance issues in our technology choices.

Less to reach more

Beginning our project, we were prescribed the Ember javascript framework as a front-end technology by the client. Having mostly used the Angular javascript framework for the previous four years, Ember wouldn’t have been my first choice, but after releasing to our initial users, I feel that we would have had similar problems had we decided to use Angular. The new frameworks had simply too much overhead for us to write performant code, writing lists of components, while simple to write and worked fine in Chrome on our new laptops, would take seconds to render in 5 year old versions of Safari on old computers. We needed to strip back our frameworks and go for something with more development overhead, but less processing. What we finished with was an Ember/vanillajs hybrid. With all of the view and the model handled in vanilla javascript, and the events and half the route changes handled with Ember. We ended up there mostly because we never did a full rewrite, just slowly moving functionality to vanilla javascript as we developed new features.

The next time we begin a project that will reach millions of daily users, we will be far more aware of the processing and memory overhead that comes with using tools such as Angular, Ember and React.

Some development tools just don’t work in China

There are some things we’ve come to take for granted doing development in Australia.

npm install && bower install

You type this line into your terminal, the script goes and queries github, you now have all your required dependencies, awesome. Except China’s great firewall doesn’t allow you to access github… working with Chinese team members suddenly became more complicated.

Google Analytics is another tool we used in almost all our previous products, but isn’t really the best option in China. We found the requests can be quite slow going out, and when you already have issues with performance of your own code, adding the extra overhead isn’t worth it.

Like many development companies, we use an Atlassian toolset. Confluence for holding the team’s knowledge and writing user stories and acceptance criteria. Jira for managing our user stories and scrum board. Industrie IT hosts its own Jira and Confluence at our office, which in the past has been fine for us, but for our team where we had stakeholders in China, no so much, Jira is very slow to the point of being unusable in China. Couple that with our stakeholders not having an agile culture and we found it very difficult to involve our Chinese team members in our methodologies.

Team Purpose

A shared team purpose and vision was instilled early on for each member of the team. We knew what we were doing, we knew that this product would be valuable and millions of users throughout China, and possibly the world, would want to use our product. Purpose was the core driver that allowed us to stay motivated and productive as a distributed team. Even when there were technology issues and external dependencies blocking us from release, none of us questioned whether what we were doing was the right thing or not.

We learnt a lot in the process of developing a product with Chinese partners. While there were many challenges, it’s clear there is great opportunity to work on fantastic projects that have scale not possible in Australia. Handling those challenges is the key to success.

All rights reserved IndustrieIT