Have you ever used a web application that made you ask, “What was the developer thinking?!” Maybe it had a confusing interface or didn’t work right in your browser. Maybe it just didn’t work as expected.
Over the years, I’ve seen all types of application development mistakes, ranging from confusing to downright annoying. I’d even classify some as “dangerous.” Some mistakes hurt the user experience, and others even harm the business. However, they all have one thing in common: They make the developer look bad.
If you develop web applications for your company, how can you avoid embarrassing mistakes like these? To help you avoid making the same errors, I’ve outlined some of the most common web application development mistakes below. If you can think of anything that I left out, feel free to add it in the comments:
1. Inconsistent design
Some web developers get over-creative and accidentally confuse their users with inconsistent design elements across screens. For instance, they place “action” buttons (submit, checkout, next, etc…) in different places across different screens. Or, some employ different color schemes throughout the application.
Now, a little creativity doesn’t hurt–just make it consistent. If not, you’ll confuse and frustrate your users…and make yourself look bad in the process. While I won’t get into web design in this post, this article outlines a few design tips that will improve user adoption if you’d like to learn more.
2. Improper application level security
Some web developers take shortcuts around application level security…which cause major problems. Let me explain: In most companies, different users require different levels of application access. For instance, a manager should have access to employee salary applications, while employees (of course) should not.
Now, some developers address the user access issue with user-specific menuing. In other words, standard users see the standard application menu, which doesn’t include the manager-specific apps (like employee salary apps). The idea being, if users don’t know the URL, they can’t access the application.
But, what if a user stumbles across an unauthorized application URL? What if an employee figures out (and accesses) the employee salary application URL? Can you imagine the problems that might cause? I’d feel bad for the developer who built that app.
The above example illustrates the critical importance of proper application level security. Application level security goes beyond user-specific menuing. It controls security on a per-user or per-user role basis. Essentially, it keeps users from accessing unauthorized applications, even if they know the URL.
3. Ignoring data persistence
Picture this: After completing a long form on a web app, you hit “Submit”…but the form returns an error. You missed one required field. That’s when it hits you: The form is now blank. You must redo everything. You silently curse the developer as you complete the form all over again.
What happened? The developer didn’t use data persistence. The server validated the form when you clicked “submit”, but rather than returning your form when it found an error, it delivered a brand new form.
Now, I won’t get into the details of adding data persistence to your web apps, (as it varies depending on the programming language), but I will say this: Unless you want angry users, data persistence is an absolute necessity.
4. Not redirecting to destination URL after login
How many times has this happened to you: After clicking a link, the app redirects you to a login screen…but after login, the application doesn’t redirect you to the correct destination. It sends you to a generic landing page.
What happened? The developer didn’t include code to redirect the user to the destination URL after login. It’s a simple fix (depending on your programming language), but one that will confuse and frustrate your users if left uncorrected.
5. No mobile versions
These days, you don’t know how users will access your applications. Maybe they’ll use a PC. Maybe they’ll use a tablet. Maybe they’ll use a smartphone. You don’t know, and you can’t control it.
Here’s the problem: An app built for a PC looks terrible on a smartphone. It’s hard to use, frustrates the user, and worse yet, makes the developer appear behind the times.
What does that mean? These days, there’s more to web application development than simply building an app that works on a PC. It now requires smartphone and tablet versions as well. In fact, a single web application should deliver a different interface to the user depending on their device.
6. No Scalability
Here’s a sure-fire way to annoy your company’s executives: Build an app that doesn’t scale with the business. When the business reaches a certain size, the app hits a wall. Now, you must tell your executives that their relatively new applications must be rebuilt.
How does this happen? As mentioned in this article, application scalability requires good architecture. If you build the initial app on a bad foundation, it won’t grow with your business. If you build an app that won’t grow with your business, it will require replacement sooner rather than later.
7. Ignoring browser testing
As any experienced developer will tell you, don’t assume your application looks good (or even works) in every browser. Browser market fragmentation makes browser testing an absolute necessity.
Why? Currently, major browsers include Chrome, Firefox, Safari, Opera, and Internet Explorer (IE) 7, 8, 9, and 10. I break IE into separate versions because each version renders apps differently. What works in IE7 may not work in IE8. What works in Chrome may not work in IE9. It’s a mess. If you’d like to read more about the browser mess, this article explains it in more detail.
The point is, different browsers render applications differently. Your app may look great in Firefox, but don’t assume it looks great (or even works) in all version of IE. Before releasing an app, test it in every major browser, and every version of Internet Explorer.
If you develop web applications for your company, make sure you avoid making the mistakes listed above. Not only will they harm the user experience, some could even put your business at risk. Of course, if you’d like to add any common development mistakes, feel free to mention them in the comments.
If you’d like a simple way to avoid every development mistake mentioned above, and improve your overall development time by 50-80%, try m-Power. It’s a web application development platform that lets anyone build enterprise web apps with a simple, point-and-click interface. If you’d like, you can even sign up for a free Trial right here.