Keep Software Simple
I have been around computers and especially the web for many years in my life. In that time the web was created and matured to a platform that rivals native applications in power and flexibility. jQuery allowed us to write Javascript applications that ran reliably and were easier to build on every browser, frameworks to build applications and rapidly create templates sprang up, with projects like AngularJS and React showing great promise when building large applications.
All of these allowed us to build larger more complicated applications to meet our needs and often we begin to forget about the older technologies that came before. Worse still we often overlook the layers that still make up our applications and create complicated solutions to problems that were solved long ago. I want to highlight a few features that could still provide value today.
Static Pages
When the web was first created its primary purpose was the serve files that had been uploaded to the server for viewing in a browser. These pages of course did not change, your username did not appear in the corner, they did not have customized suggestions on articles you might like to read next. Loading a page today can require dozens of requests from a database making it much slower to serve up the content.
Is such dynamic content always required? Take this blog from example. It is written using reStructureText files and compiled using a tool entitled Nikola into the HTML pages you are reading. This removes the database requirement, making the latency of these pages low and increasing the security. A site's help content might be another area that only changes at build time which could benefit from removing the database.
HTML TabIndex
When encountering a form users often expect to be able to tab from field to field as they fill each one. What most people don't remember is that HTML has an attribute to allow you to control which order the they are traversed. Using this HTML property allows you the site designer the power to optimize the order, perhaps skipping often unused fields for your users.
Checkout the Mozilla documentation on the property for more details
HTML Forms
Nearly everyone knows they exist, everyone has used them, but if you sit down to build a user interaction in a web page do you even consider them? Often times the answer is no, they are either forgotten or it is assumed they are too "simple" to be useful. Instead we start building complex interactions using AngularJS and React. I know I am also guilty of thinking that way, that HTML forms could not fulfill the needs of my complex applications. In some cases that might be the case, but I have often found that various configuration dialogs, administration or questions of a user can actually be an HTML form with a server side POST handler.
Using a form over a Javascript Ajax results in less code in some cases, as you need a server side request handler and an HTML form in both cases but you do not need to build and test the Javascript code to support the Ajax requests and updating the UI. Removing that extra work allows me to continue building things my users actually need while providing them a simple and reliable interface for their use.
Comments
Comments powered by Disqus