License & business operations

Senna

The Project

In 2019, I was called to redesign multiple systems that managed business  operations for Cast's Wysiwyg and Vivien, both 3D applications for live entertainment. Project Senna is an operations tool used by both staff and customers, touching every point from initial sales to tech support.

I joined the team as an UX designer to help redesign a 15-year-old legacy system and discovered that the project faced some challenges ranging from underestimation of resources to business complexity. Senna was fully completed and the product is currently in the refactoring phase for alpha release.

STAKEHOLDER INSIGHTS

Discovery Phase

One "full-stack" developer was tasked to rebuild a dying system with extra features. The code was unfixable — 10 years of technical debt, 1 million lines of undocumented "Jenga-like" code and constant bugs led to constant customer complaints.

Four months after the project was kicked-off, the old staff who helped maintain the system left the company. The developer had to reverse engineer the dongle system while I had to reverse engineer the business.

USER & STAKEHOLDER INTERVIEWS

Research Phase

  • Reduce tech support calls

34% of support calls were related to usability or bugs.

  • Reduce customer inquiries

Many customers could not upgrade, buy, download, or manage their license or unlock dongles on their own, requiring constant hand-holding.

  • Reduce duplicated and inconsistent data

Years of technical debt created unreliable data for Cast management executives to make uncertain decisions.

  • Reduce the complexity of multiple systems

Staff had to use 20% of six systems to accomplish simple tasks.

  • Programmer dependency

Cast Staff had to ask programmers to do administrative tasks by modifying code. Anything the customer can do, a staff person should easily do on their behalf.

USER PERSONAS

Production Manager

Male, mid 40’s, Business-oriented. Signs the check. Needs information on costs, sales process, and deliverables

Lighting Programmer

Male, mid 30’s, Artistic. Focused on Execution. Wants to know technically how things work

Lighting Designer

Male, mid 30’s, Artistic. Defines creative vision. Wants try new techniques and research new technologies to wow the public

Projection Mapping Artist

Male, mid 30’s, Artistic. Creates 3D content with VFX and 3D tools

Cast Intern

Female, mid 20’s, highly technical. Impatient. Supports customers and quality assurance department

Cast Tech Support

Male, mid 30’s, methodical. Proficient in 3D CAD, methodical, not as technical as a developer

Cast Sales Fullfillment

Male, mid 40’s, laid-back. Good with people but not tech-savvy. Supports sales, shipping process and accounting.

Cast Management

Male, early 40’s. Defines direction of the company based on financials, trends, and customer feedback.

CONTINUOUS

Design Phase

Since the project scope was unknown I did fast, clickable prototypes and tested with stakeholders or customers before going to code. For that reason, the design phase happened together with other phases.

In-office "speak-out-loud" tests with customers didn't reveal much feedback about the old store user flow, just that it looked "old and busy". For the new store, I focused on making it clean.

Blacktrax old interface screenshot

Too Many Logins

The old store required an email login. To download the product releases, a second independent login based on a dongle serial code was needed.

Don't Make Me Reset

In the old system, when users needed to reset the password, a new random one was generated and sent via email. Users needed to proactively find a deeply hidden form and switch the random password, which most people would forget, thus creating a repetition loop.

To simplify, I created a single sign-on for all applications based on email only and moved the password to a temporary form link that expires in a couple of minutes. It required the user to have to chose a final password on the spot.

progressive profiling

In Senna, a lead registers in SSO first, filling out the name and country fields, then proceeds to the demo trial to complete another step. If the user decides to buy, these fields are synced on their store checkout page in a bidirectional way.

All those features killed the need for third-party CRMs and funnel tools that led to spaghetti data just to get some simple conversion tracking points. For the customer, way more D.R.Y (don't repeat yourself).

helping teams

Cast landed some contracts with 200 licenses for enterprise customers while the old system was designed 15 years ago for single-license users. Managing client "X" was a nightmare, with 200 individual accounts.

A spreadsheet on the client side had to be manually updated with dongles and users, then sent to Cast to input it in the CRM to tell which person could request tech support.

On top of that, there were smaller teams with different types of licenses that could not be included in a mass upgrade or renewal. Also, neither the dongles nor the Desktop software was fully connected to the web system so I had to figure out a way to simplify while taking the uniqueness of the business into account.

Invoice Time Travel

As invoices were only submitted via email following a transaction, if the owner of the account left the company, the email would get lost in their inbox. They were also not print-friendly. The staff could not easily find invoices, having to go to SugarCRM (provided a bug didn't make it disappear first).

I created an invoice history feature and transformed the invoice into a printable PDF. I ported that feature to the Cast staff portal.

New Invoice History module for customers and ported to the Staff portal

Developers Can Go on Vacation - Whaaat???

Product Management was frustrated with uploading releases for customers in the old system, requiring a developer to input it directly into PHP. The solution was a no-brainer CMS feature so any monkey could get the job done - done and done.

Assassinating the CRM

Cast's tech support was frustrated using the old custom admin that didn't sync with SugarCRM. The staff used only 20% of Sugar features and employees would get lost in a sea of empty fields. They expected to have everything in one place. I've simplified user and account details for Staff all in the admin portal

stalking dongles

When fresh dongles arrived from the manufacturer they were imported into the database, requiring manual SQL queries to check for inventory. Some dongles were sold by dealers by manual invoices and custom transfer and never communicated to Cast who was the final owner. Free dongles were also given to customers from partners and Cast Staff. Management expected to be fully able to trace back the origin of a dongle as soon as the supplier box arrived at the office.

Sales still wanted to have a spreadsheet for personal control, so I implemented an import CSV function followed by a field map wizard.

centralized orders

Management was frustrated that sales data had to be pulled from SQL queries, Sugar and QuickBooks reports then combined into a spreadsheet with additional Word invoices. Some sales were done via manual invoices bypassing the old admin, which could only process credit card transactions. They expected to generate reports daily instead of waiting for weeks. The root cause? The lack of consistency across all transactions. In the old system, there was no way to create an order paid by cash or bank deposit.

To simplify, I convinced Management to establish a better business process and created an orders module. When e-commerce transactions didn't flow automatically from the payment gateway, the order needed to be synced in the Staff Admin. I also added fulfillment status and the ability to void transactions.

Power to the Interns!

When clients had trouble with dongle codes it required checking multiple systems for information, memorizing them, then using Windows apps to generate codes. With no login required and a lack of input validation, the risk of mistakes on a client's dongle was high. Management was frustrated that only one experienced person in sales support could be trusted to do it safely.

I simplified the flow by moving most of them to the web staff admin, pre-detecting these parameters based on the user's account, and reducing the inputs by 50%. Now even interns could do most of the work remotely.

don't ask marketing to learn php

Making discounts for customers is a trivial eCommerce feature, but in the old system that required a developer to fiddle with PHP and SQL. I empowered marketing by creating a straightforward discount module in the Staff Admin.

Deployment and impact

The Outcome

We successfully prototyped and coded all features, reducing an annual fee for Sugar CRM by $20k per year and training costs. The project is in progress on the refactoring phase so I didn't have full data migration and alpha test with customers.

As a result of this project and of my dedication, hard work, resourcefulness and creativity, I was promoted by the CEO to Product Owner. I overcame technical difficulties and invented a way to bring back-end quality to the project. Project is still in progress.

NEXT CASE

Blacktrax Website

Educating leads to buy a real-time tracking solution

View Project