The Face of Your Company
Nowadays, almost every business has launched an application or app of some sort. Customers log in for a number of reasons, like purchasing products or checking on the status of projects. Either way, these are still the face of your company and give people a feel for how professional and modern your company is.
However, many corporate applications still rely on outdated technologies, which can limit an application’s effectiveness. The older technologies used may have been excellent choices at the time they were implemented, but have been rendered obsolete by advances in web experience technologies such as AJAX, jQuery and knockout.js, among others. These new technologies have also raised the bar of expectations for clients and customers. We all expect a certain level of functionality like we see in Facebook, Gmail or the now defunct Meebo. Slow load times, limited functionality or a confusing user interface all indicate to customer your app is out of date.
But how does one go about bringing an old application up to speed? Does it simply need to be updated to use modern technology, or should it be completely re-thought? What technologies should you choose? Is it worth the cost? These are all important questions that must each be carefully considered.
What do you need from your application?
For starters, before updating an application, the purpose must be considered. Is the app simply a landing page for clients to find out who you are and where you are located? If so, then a simple website is likely enough for your needs and updating it should be a relatively simple and inexpensive task. Simple pages don’t require much technology and are therfore rendered obsolete less quickly than advanced applications, which tend to be subject to the whims of modern library developers and the trendy web technologies of the moment.
More advanced applications, especially ones which expose data to clients and use advanced technologies for styling and interaction, can become outdated quickly. When considering apps like this it is important to make sure you keep in mind the purpose of the app. A few questions to address in this case include the following:
- Is it performing its job acceptably and simply?
- Is the user interface outdated?
- How does the functionality compare to competitors’ apps?
- How does the functionality compare to what your clients expect?
Modern web technology allows for the complete separation of the business logic and the presentation layer (which has benefits beyond the scope of this discussion), but even some older applications can properly separate these two things, provided a good design was originally used. If this is the case for your application, then the business logic can remain in place and only the customer-facing display side of the application needs to be replaced.
If you are not in that situation, regardless of your future needs, the best course of action is probably to create a new application, and as a part of that application design, separate the business and presentation logic from each other. The benefits of this course of action are twofold: 1. It prevents you from needing to start over from scratch in the future, and 2. It allows you to create a front-end for other platforms like Android, iOS and Windows Phone. Considering the ubiquity of these mobile devices today, this might be a very large gain for your company, allowing you to have customer interactions across many devices.
Spreading Out the Load
Modern web technologies also benefit from the fact many of them allow you to transfer some of the load to the client’s computer (all of the graphical rendering being done client side), specifically on their web browser. While for a given user this is not a CPU or memory intensive task, for hundreds or thousands of users this can add up and your server will greatly benefit from the reduced load, while the client actually will receive an improved user experience. It’s a win-win scenario for both the server and the client. Your DBA’s (database administrators) and server admins will thank you.
In our experience, the Microsoft stack (Windows Server, SQL Server, IIS) works very well for developing new custom applications. It provides proven reliability on a platform backed by a company with decades of experience and gives you a platform for development that leverages existing expertise in Microsoft SQL Server, C#, .NET, and JavaScript to provide the best product possible for the investment.
For more on using applications to create a customer portal, check out this case study…