Taking Your Outdated Desktop Application to the Web: A Guide to Success
8 min readMany organizations still use desktop applications, largely because they are deeply important for day-to-day operations. While they are mission critical, they are also complex, often horribly outdated, and even more often extremely difficult to use. Modernity calls, change is necessary, and organizations are migrating their desktop apps to the web more and more.
Better user experience (UX) is often a key factor in the choice to turn desktop apps into web apps. However, the mere act of putting the application on the web does not ensure superior user experience. It takes careful planning and thoughtful execution to turn your desktop app into a successful, easy-to-use web app. There are critical things you should know and do before you start.
Before Taking the Plunge
Ask yourself and your team these questions before you even start the process of turning your desktop app into an experience for the web. You’ll thank yourself later.
Will a web application actually solve your users’ problems better?
Make sure web is the right way to go in the first place. Some questions for yourself, your users, and your team will be:
- What is the main goal for the app?
- How will it be used by the real people who interact with it?
- Will your users consistently have access to the internet?
- What happens when internet connections inevitably fail?
- Do your users need to use the application outside of the office?
- Do your users need to use the application on multiple devices?
Even if you ask all of these questions and still decide to go with web, the answers should impact your decision-making throughout the entire project.
What does modernization mean for your organization?
When you modernize, you face new considerations for code, tools, and processes. What will this mean for your current team and how they work? A discussion with all disciplines on your team is in order. Developers, business analysts, designers, content strategists, and UX professionals—if you have these folks, they’ll need to weigh in on how the transition to web will affect how they do things and therefore your organization as a whole.
What are your long-term plans?
To maintain a successful web app after launch, you’ll need to make a plan for evolution over time. This calls for a discussion, once again, with all disciplines from your team. Some questions to get the conversation rolling:
- What is the path forward for the app once it has been converted to web?
- What do the next 5 years look like?
- How long should we anticipate the app will last and why?
- How will we prepare for app evolution?
- What preparation work needs to be done when? What needs to happen now before we begin? Before launch? At other times in the process?
Getting Started
Moving to the web represents a large investment in time and resources, but the payoff is potentially huge. For example, deploying updates, managing access, and keeping up with maintenance will be easier. You also won’t be as constrained by hardware or operating system requirements.
To make sure you get the most out of your investment, take the correct first steps before you ever even get into structure and code.
Take stock of your current software product.
Nothing is scarier than the thought of building a new web application only to leave key functionality or integration unaccounted for. That nightmare is avoidable, as long as you complete a few critical planning steps.
Audit the existing application.
Document all screens and functionality. Make sure everyone on the team understands what the application does, how it’s used, and what it does for the business.
Test your current software with real users.
Don’t assume you already know everything there is to know about how people use the application. Test with real users to determine how the app currently succeeds and how it fails. Do your best to replicate what works well and rethink what’s falling short, always keeping in mind the new web context. Don’t simply reinvent the wheel just because you can.
Carefully investigate desktop app integration.
Often, multiple desktop apps integrate with each other. This can be become a stumbling block when you move one of those applications to the web. What you thought was a small project could easily get out of hand when you discover more than one desktop app needs major rework so that everything can integrate correctly with the web app.
Know your users REALLY well.
Understanding users and their behavior is key to creating a web application that works for the real people using it. Spend time with your users before you do any development.
Observe and interview the people who use the application most often.
Don’t assume managers or high-level stakeholders know how the system works (or should work). Talk to the people who use the application extensively. Watch them use it. Take copious notes.
Break down their work into common tasks.
Focus on what users need to accomplish and why. Task clarity helps determine requirements for the new web application. This is more important than understanding current app use. The ways people complete tasks may change drastically with a new application, but the tasks themselves will remain constant.
Keep the user’s environment in mind.
Where do users do their tasks? Do they work in the field or at a desk? What devices do they use? Are they constantly interrupted by customers or phone calls? How does their environment affect their work?
Pay attention to workarounds.
Do your users keep notes around their monitor or desk to help them remember how to use the current app? Have they created paper or additional digital processes to complete tasks they should be able to complete in the app? Document these. Get copies if you can. These workarounds can tell you a great deal about how an application is failing and what it needs to do instead.
Recognize that rules are different for web.
People don’t typically use desktop applications the same way they use the web. You can’t drop a bulbous web 2.0 interface on your users and expect it to work for them. Users have expectations for web interactions and design that differ greatly from desktop applications.
Web replaces operating system UI with browser UI.
For web applications, your application UI will be nested within your user’s browser. This gives you more control in many ways, but also means you can’t ignore the browser as it is now an integral part of your app.
Users navigate the web differently.
Though there are some similarities, the web uses different models for actions and navigation than desktop software. When using a traditional application, menus reveal actions. However, on the web, menus are typically used for navigation. On the web, you must also account for browser chrome, especially the browser’s “back” button—people will use it. You have to account for these and other differences between desktop and the web.
Managing access and authentication will be different.
Application access is easier to grant and control with the web, but authentication can be harder. You can’t easily track when the user is in the app and when they have closed it like you can for desktop apps. Users can also have multiple instances of the app open in different tabs and windows.
Performance issues will change.
With a web app, performance relies on more than your users’ hardware. On the web, internet connectivity and slow speed can make it impossible to use a web app efficiently.
Security becomes more difficult.
Since you can’t silo web applications from the network like you can on the desktop, you’ll have more security considerations when you go to the web.
Web apps can be used easily on a wide variety of devices.
The sheer number of possible devices creates major design and functionality implications that will need to be thought through carefully. Does the app need to work exactly the same on a tablet as it does on a large monitor? What do you do with complex functionality on phone screens? Are certain tasks and actions more important on the phone than on desktop and vice versa?
Don’t get hung up on current functionality. Focus on new workflows.
Watch out for the most dreaded phrase in digital product modernization efforts: “This is how we have always done it.” Your users may have been developing workarounds for years and years to get their tasks done in your desktop app. The need for these workarounds should meet a swift end in your new application.
Your desktop app is likely also limited to a set of constraints that may have forced you to make some “least bad” type decisions in the past. When you move to the web, you’ll have more and better options. This is your opportunity to fix things for your users. Give them workflows and flexibility that make sense for how they work instead of forcing them to change their workflow to fit your application.
Don’t put lipstick on a pig.
Putting a pretty web face on an old application isn’t going to work. Users will still have the same problems they did before and probably a few new ones as well. You can’t make a bad user experience better with cosmetic changes alone.
Include a user focus in your business requirements.
Put in the work upfront to identify for everyone on the team what users need and want (based off your observations and user tests, not assumptions from people who don’t use the app). Make sure users’ needs are accounted for in documentation. These written requirements will put everyone on the same page when it comes to users’ needs and will offer user-centric guidance for the whole team throughout the project.
Automate wherever feasible.
Look for any and all opportunities to automate user processes. This will increase efficiency and reduce user errors.
Test your early prototypes with your users.
The best way to avoid making mistakes you can’t undo is to test your ideas before any code is written. Create and test prototypes (low and high fidelity) during development. Give real users real tasks they will need to complete using the application. Note what went right and what went wrong. Fix the app’s failures and test those areas again.
This critical step will help you stay on the right track and provides peace of mind that your application will have high user acceptance when complete.
Modernization Does Not Automatically Equal Better UX
Many organizations are in a rush to give outdated desktop applications a fresh new start on the web. In the process, they tend to forget about the real people who will use the app and are surprised when their shiny new web product is poorly accepted by users.
Don’t get surprised by app failure when it’s so simple to avoid – as long as you’re thinking carefully about your users and how they will actually use your app, you will be on the path to success.