Intricacies of Building a Web Application
Web development could be described in two scopes. Traditionally, the narrower scope has been websites. The newer and wider scope is now designing and building web applications as well, including Internet delivered software that can run on mobile apps.
Everything can now be a web application. The big vendors are pushing that thinking. With Cloud based servicers, it is easier to add value through useful applications. People are doing more and more things on their phones—not just personal but doing business things on their devices. There is a lot of stuff behind the apps. Additionally, because of the cost of mobile devices, mobile devices are becoming the primary device and they are rapidly increasing. In emerging markets, the mobile device is the primary device. In the US, some people have smartphones, wearable smart watches, tablets and laptops. In other countries, people may just have their mobile devices.
Web application now is so much more than just building a web application. There are so many other pieces in terms of delivery, performance, scaling, caching, etc. It is much bigger than just writing some XML and scripts. It is deceptively simple. People may think they can take a quick boot camp to learn how to develop a web application but it really is so much more. If you have to get to 3 million users, you have to think and design a bit differently.
One of the biggest lessons is to design for performance from the beginning and make the best decisions up front
Some things are getting easier and some things are getting harder regarding web development. In some ways, there are tools that will help with performance and there are ways to solve that problem. But, one of the problems is the sheer volume and variety of devices that a user has to access a web application: Desktop, Tablet, Mobile, Chrome, Firefox, Safari, Internet Explorer, Multiple versions of Windows, multiple versions of IOS, Android. And they each have subtle differences of how they treat web applications. So the many variations make it a bit challenging although it is a little better because of standards.
The reality is that you have to be aware of how users are accessing your web application. You need to understand the big changes in the browsers, etc. You need to understand how those browsers work and what is common between them. And you need to try to automate as much testing as you can. Make sure you are planning to do the testing—and you need the data—who is using and how they are using it and test what you need based on that data. Know when big changes are coming out in the browsers. There are more standards now so that does make it somewhat easier.
Value Derived from Web Development
One of the biggest lessons is to design for performance from the beginning and make the best decisions up front. It is much easier to design with performance in mind than to try to make the application work better later. With all the various devices and browsers, another lesson is to plan for the testing. Not only to allocate time for the testing but time to plan what testing is needed and how it can be automated. It’s no good to make assumptions on how users will access the web app. It is best to try and collect data and trends. Then, target what you need to design and test for.
• Design for performance from the beginning.
• Plan for the testing—to drive that you need to have data (no good assuming 20% is on IOS and you should have been testing on something else—you need to know the data).
• Google analytics and other tools can help determine what people are using— over weeks and months and trends— research and target when you need to test and design for.
Implementing around the Web Standards
• Stick to the standards, Web standards have been around in various forms for some time. What has changed over the last few years is that there is more conformity. Developers may still have nightmares over Internet Explorer 6 because of how it was implemented around the standards.
• Use well known, well supported and secure technologies packages.
• To extent applicable, make sure that you have staff that know what they are doing.
• Really think about who is your target audience. If you will have a global reach, be mindful of the legal and compliance requirements of the other countries (such as the firewall in China). There also may be requirements for opt-in and opt-out and what can be collected and retained from users.
• Plan for performance.