Origin Internal Tools
Launched internally in June 2016
Origin is a PC game platform by Electronic Arts that allows users to purchase, download, and keeps installed games up to date. The service also supports social features like chatting with friends and broadcasting their gameplay to Twitch.tv.
About the Project
Good internal tools are critical for a team to properly build, test, and maintain an online store. The Origin store team is responsible for creating all store content as well as targeted advertising campaigns and messaging based on games the user owns. The team needed a solution to help speed up verifying their work.
The Problem We Are Trying To Solve
Testing the store, targeted advertisements, and messaging in the client was extremely tedious, time-consuming, and error-prone. The team needed a tool to quickly run a test, allow modification to previously executed tests and a way to share tests with other team members to prevent duplicate work.
- Speed up the testing process for game launches and targeted advertisement campaigns
- Allow the user to easily reuse existing test configurations
- Allow the user to test the client with any game or set of games
- Allow the user to set the game state to owned, trial started, or trial ended
- Allow the user to set the time played and/or date last played
- Allow the user to test with an Origin Access subscription
Why this matters to the business
A lot of time is spent each week by the store team and others who need to test and verify settings in the store. The more time the store team spends verifying their work, the less time they have to do for targeted advertisement campaigns.
Why this matters to the users
Improves their effectiveness by reducing time spent on a mundane task.
Outcome of this Project
The new tool ended up saving about 60 hours a week for the organization by eliminating tedious and often duplicative work.
As the only designer on this project, my responsibilities were to meet with the internal users of the tool, gather requirements, understand their workflow and issues, and create a solution to address their issues.
Additional Team Members
- 1 Store Team Lead
- 1 Engineer
- 1 QA Tester
The Design Process
Instead of a Producer explaining their vision for the project, I met directly with the Store Program Manager who requested this tool and one of the people who would be using it. We discussed the current testing flow, the issues with it, and what she thought could be improved.
The Existing Workflow and why it was so time consuming
The flow diagram below shows what a user would need to set up in order to verify just one state of a game or advertisement. The verification process required the user to manually get the client into various states by creating new accounts, purchasing content in the store, and editing the release dates on our testing server.
Since Origin targets users differently at different stages in a product release cycle like game announcement, pre-order available, impending release, and game launch, we needed to run through this test multiple times. We may also show different messages or ads based on the content the user owns. All targeted messaging must be tested in all phases, so testing may include a large number of slightly varied tests.
To verify date-specific behaviors or states in the client, the team member changes the content's release date on the test server. They then wait for the date and time to trigger the event. During this time, the change also applies to everyone else using that testing environment.
Initial Sketch Explorations
The first sketches I did explored creating the overrides directly in the Origin client itself. This was not possible, but the idea of a sidebar to edit all of the relevant properties of a game you wanted to test did make it's way into the first mockup as how you edit one the override.
The First Mockup Drastically Simplified Testing By Sharing and Editing Testing Configurations
Once I saw the team's current workflow and understood their needs, I created a set of wireframes that drastically cut down on unnecessary work. We replaced the need to create new user accounts with an override that could be easily edited. These override configurations were also saved to a server so other team members could leverage existing configurations, which is great because we would often target certain user groups on a routine basis.
But we couldn't edit everything in the tool
After reviewing the designs with the rest of the team, enginnering said that there was a database issue that would prevent us from getting the game's Content ID easily, which was critical for specifying what game was being tested. I had to pivot the design slightly to make sure we were able to get the best tool in the short amount of time we had.
In order to change the game(s) in the test configuration, users would use the new tool to download an existing configuration file, add the desired game Content ID to that file, and then re-upload it. If the user needed to change other elements of the test like release date or Origin Access status, that could still be done on the fly in the tool. So the impact on the design was minimal.
The Updated Flow with our limited development time
The Second Mockup
Improvements to the Release Date Override
With the Release Date Override separated from the Entitlement Override, I realized that users may want to easily test what Origin would look like with different upcoming simultanious releases. The new design allowed users to add any game to the list and easily check off which one they wanted to enable as a way to quickly mix and match test settings.
The final version of this tool addresses all goals that were established at the start of the project. It enabled users to easily test a variety of combinations of owned content, release date of any content, and Origin Access status. The tool also kept a collection of previously saved testing configurations, so users can easily test targeting of certain groups of users.
While this tool still required users to manually edit some data locally on their system, it has been a huge improvement in streamlining their workflow by allowing for reusable testing configurations in a single, easy to parse list.
This tool helped reduce the time spent testing the store by 60 hours per week. This extra time allows the team to do more targeted advertisements on the platform, which in turn helped to drive more revenue to the store.
- Internal tools are critical to enabling teams to work efficiently
- A little bit of effort on internal tools can make a huge impact on the organization by speeding up processes and freeing employees to do other work
- Engineering will not always know their limits until they start working, so be flexible and reasonable with your solutions so you both can deliver a great solution on time
Working closely with the people who were going to use this tool to get their job done was extremely satisfying. I was able to see just how excited and happy the end users were. It was incredibly satisfying to hear that my work made a huge impact on how they accomplished their job.