Software Update
Installing software on a computer system is a challenge that has been drastically simplified over the years. Now it’s generally a trivial process on a modern os or smartphone. Click a button, and the operating system on a computer or phone handles the rest.
Project Background
Updating the software on Cisco DNA Center is a very manual process today. The user has to update all the running applications and then update the system software. Also, some of those applications have dependencies, so when they are updated out of order, they break. If the user hasn’t updated for a long time, they need to update multiple times in a row, installing each update before updating the next.
My Role
After the Google Design sprint, I took the project from end to end using the findings from the sprint. Also worked with Ankita and PM Team to refine the descriptions of the applications and define guidelines for the copy on the display cards.
Responsibility
- Market Research
- Wireframing
- High Fidelity Flows
- Socializing the designs with the pm &
engineering team
Team
- Ankita Pant
Product Management - Swati Ardeshna
Engineering Lead - Robert Murphy
UX research
Timeline
Google Design Sprint
April 2018
Software Management Revision
December 2020 – August 2021
Research (Design Sprint)
During the sprint, we used an Affinity Diagram to hone in on specific areas to address. Looking for low-hanging fruit which could be immediately implemented to improve the product. Minimum effort, maximum effect. The results of the affinity graph are shown to the right.
Our key takeaways which we moved forward with:
- Missing [Can’t Find] launch point for system updates
- No clarity in the system update process & unclear update dependencies
- Missing readiness check with option to fix it right away and validate the fix.
- No progress bar.
- Unclear when not to use the system – (No ‘maintenance’ mode)
Based on the affinity graph we created a prototype to test with users and determine if we were on the right track.
Sprint – Key Takeaways
- Communicating the number of updates available and time left to download in a place that’s always visible gives the customer confidence in their software status and helps them know what to do next.
- Downloading large packages was less of a concern if total update time is sign reduced and there’s a clear estimate of time required.
- Categorization updates by urgency helps customers prioritize more than app vs system.
- Clarify update times in the UI or allow for parallel updates.
- Readiness should be tethered to download or updating, not a global check; connectivity should be the only global check.
- Info about failure, corresponding next steps and option to roll back, gives customer confidence and a clear path to resolve their own issues, which they would prefer if possible.
- There’s a customer expectation that they can roll back if the installation fails.
- Reminding customer to backup before updating is helpful.
- Customers want communications about DNA-C changes, and partners want to own that channel for their customers.· Collapsing individual packages behind an app was helpful.
Approach
Phase 1
We looked at both Mac OS and Windows and they were both launching the update process from a single page, providing users feedback. To the right you can see how it functions in windows:
- User is notified there is an update
- Older version of windows shows a screen where there are multiple downloads which need to happen to begin the update, for us there are multiple packages which need to be downloaded.
- The update(s) are downloaded and the user is given feedback about how long the download will take.
- User is prompted to restart when ready, windows also allows the user to defer the update.
- Windows restarts and update continues, with feedback about how far alongt the update is.
- Update completes and if the user comes back to the software update page, the “You are up to date” status is reflected.
- Windows supports scheduling of an update.
Phase 2
We created a single page that housed both the software updates and all the available software applications for the current system version.
Design Outcome
We built out a single-click software update (where the user clicks update and everything except maintenance mode happens on the same page). As a result, we were able to accomplish several items identified in the original Design Sprint:
- We notify the user when there is a new release, this notification is controlled by role based access control (RBAC) so that only system administrators can perform the update see this alert banner and notification.
- We have some of the checks which were requested by the CX team who are responsible for trouble shooting the system currently when something goes wrong.
- We provide progress bars when something is happening and we are buidling a database of telemetry based installation statistics so we can move toward providing time estimates as well.
User Insights
I evaluated initial feedback based on a review by our Customer Experience team and used it to create user journey view which I will continue to evaluate once the product update goes into Early Field Trials, the updated experience is in the solutions test now and expected to be in our customers’ hands in the fall of 2021.