In order to virtualised an application successfully, the user needs to edit files and registry keys inside a package.
In some cases, the user will need to add files and registry keys from other packages into the one they are editing.
The problem was how to let the user merge different packages successfully and how to make this complex feature accessible and usable for both beginner and intermediate users.
We started designing solutions, keeping in mind our target persona. We defined two types of user persona; an intermediate user looking to improve their knowledge, and an expert user interested in advanced features.
My first approach in designing this feature was to provide an interface with 2 different panes (2 different packages) and the user could "cherry-pick" files and registry keys from one package to the other.
This is a classic UI pattern but by using it we assume the user knows which files need to be moved from one window to the other. This assumption is true only for expert users and not for beginers or intermediates.
Later, I came out with the idea of an interface with one main pain where all the files and registry keys are already merged. With this design instead of adding files, the user needs to remove them from the merged packager.
New, modified and deleted files are highlighted with different colors. Colours are guiding the user as well as the filters on the top right side, and the semaphores next to every folder.
After many usability testings I realized how efficient the second design was. Both of the user personas were fulfilled by this design. Either expert or beginner users could use this interface without any problems. Instead, the other view required a certain level of experience that the beginner user doesn't have.
That was one of many problems to solve during the design process of this app. Designing a complex desktop app for non-expert users was one of the most challenging experiences in my career. That required collaboration, design thinking and usability testing.