Top 5 Reasons Your Web Application Sucks
Online business software and cloud-based software-as-a-service (SaaS) applications are a thousand times more powerful than what we had just a few years ago. But many business applications are poorly built. They don’t leverage and utilize many of the best, most sophisticated technologies available. Poorly designed, constructed, tested, hosted, and supported, these applications frustrate users and squander opportunity and productivity. To help you understand what all this means, here are the top 5 reasons your web application sucks. We also prescribe solutions for each issue to help you if you’re in the throes of dealing with them.
1. You Provide Slow Service
If you visit a restaurant, you probably abhor slow service. Guess what – your online application customers have minimal patience for slow service too. A couple of problems could lead to slow-rendering applications. The first problem could be underpowered hosting. Perhaps you signed up for shared hosting, unknowingly co-residing with many other busy websites. Or maybe your user base grew and you’re taxing your web hosting service limits yourself. The solution to underpowered hosting is to upgrade your infrastructure. If you’re on a shared server, get a private server. If you’re underpowered, add resources. If you can’t easily add resources, consider a cloud migration, which enables the ultimate in scalability. The second problem could be that your software is poorly constructed, with bloated code and inefficient processing of data. We see this often — “cowboy code” that worked initially often doesn’t stand the test of complexity or increases in demand. You may need to refactor components of your system. Look for bottlenecks by reviewing your server logs. Check your database transactions too – poorly written queries often lead to massive performance issues.
2. It Reflects Bad Taste
Like applications of the past, many modern business applications suffer from the same challenge – they’re not designed or built by USERS. In general, product managers and software developers design applications, not the front-line workers who use them from day to day. The result can be a poor user experience. Menus are muddled, processes are confusing, data must be re-keyed, and pages are hard to read. Users begrudgingly use these applications to perform tasks, but they complain and wish they had another solution. The remedy is to collect that feedback and chip away at the problems. Yes, you may refactor more code, or you may be able to clean up the user interface and get a quick return. User experience has become a true differentiator in software. Yes, it must do the work, but users will fight you if it doesn’t also make it easy.
3. You’re Mobile Unfriendly
Increasingly, users are on the go. They seek mobile apps or responsive web applications that perform tasks as well as their traditional desktop counterparts. Perhaps functionality is reduced, but the mobile experience must also not leave a bad taste in users’ mouths. If you’re running SaaS on a mobile browser, how does it look? Is it responsive (fitting the screen)? Can you read all the text? Can you access all the functions? If not, you’ll need to consider how to make your application work on mobile. Another issue is speed. Bloated applications that take a long time to load on a mobile app will rarely earn you an award. You may need to slim down functionality or revise data loading methods. Test, test, test on mobile.
4. Too Many Bugs
Oops. something wasn’t right. This form has errors. Form submission failed. Invalid entry. Page not found. Error messages trigger cortisol, which is a creator of stress. That’s bad enough, but lost data and lost time make users go crazy. Sure, software is never perfect, but it can definitely be improved. The best software companies start with testing, such as unit tests, for every element in the system (does it deliver correct results?). User acceptance testing happens before launch (does it seem to do what it’s supposed to do?). Can you automate your unit tests? How much testing can you automate (hint: more is better). Regression testing ensures your system doesn’t break when you add functionality. The remedy for bugs is to maximize testing. Start every project with a test plan. Don’t have one? Start now…
5. You’re No Help!
System down. Error messsage. Hands go up in air… Who you gonna call? Is there a support process? Do you have a help desk? Is there documentation? Web applications suck if the user cannot easily get help. Whether it’s a wiki of documentation, a series of “how to” videos, a dedicated help desk, or a combination, you must deliver some form of technical support. If you have automated testing, your bug count may be lower, but there will still be bugs. If you have a really great user interface, you’ll still have users who struggle finding their way through processes. The faster and better you respond, the happier your users will be.