User Experience (UX) is all about the emotions and responses a user experiences or anticipates from his/her interaction with a system or a service. This includes emotional experience, perceptions, behaviors, physical and psychological responses, and much more. Simply presenting the information or service to a user these days, is not only ineffective but unacceptable. Your website or service needs to engage and interest the user. You would also want your user to feel comfortable and secure while consuming your service, which will in turn provide him/her with a positive experience.
JS is an interesting language. For much of its history it was misunderstood and undervalued and labeled a toy language, predominantly used for performing small tasks in HTML pages. But in reality, JS is a robust and powerful language. In this article I will touch upon how this “toy” language has evolved, and what is on the horizon for this little scripting language that has become one of the most trending technologies in the world!
Up until 10 years ago
With JS, we enhanced the web interface. It added behavior to the web page, where the web page responds to a user instantly without loading a new page to process a request. We did not have to fill an entire form and submit it only to be told that we had made a typo in a particular field and needed to re-enter data all over again. The search box gave you suggested results while you typed, information changed constantly without user intervention (stock market tickers), we obtained content on-demand, and facilitated animations to gain user attention to a specific portion of a page, or to make the page easier to use. None of these would have been possible without JS.
The past 5 ‘Golden’ years (purely client)
The brave new world of hyper-data and complex interactions has harnessed the power of traditional JS through model–view–controller (MVC) JS frameworks on the client side. The first such framework to gain successful adoption was Backbone.js. Today, AngularJS’s popularity and acceptance outshines that of any other framework, although Ember.js has a vibrant community of contributors and users. It also seems odd that ReactJS, developed at Facebook, is taking the lead from AngularJS.
Modern JS frameworks like these alleviate code management by providing clean and distinct application architectures (often using the MVC pattern) that can simplify development to a great extent. So, by employing one of these frameworks, we not only get highly responsive desktop alike user interfaces (Single Page Applications), but also ensure well-structured and easily-maintainable code base, which can save effort and money in the long run. A good UX is all about the end user’s comfort. They comfortably use a web-app that acts much like a desktop application, updating only the relevant views as they interact with your web-app. Also, independent of real performance, the user experiences a considerably faster website than a traditional-style website, resulting in a far better UX and user retention.
All these frameworks share equal success in making truly complex user-facing applications a reality, and are radically changing the way we think about development.
Quick Fact- The Guardian, (a giant news publication) and YouTube on PS3 shifted to Angular, clearly indicating that Angular is strong enough to be able to scale to the most demanding of commercial environments.
Going real cross-platform
A web browser exists in almost every consumer-based computing device in one form or the other, making JS apps highly versatile. Building a web app for a variety of platforms like Android, iOS, Windows, BlackBerry and even the desktop becomes no different than developing native apps. It was extremely expensive, if not impossible until recently to think of a real cros-platform app. Each platform had a proprietary technology that calls for a separate code repo for every single device, thereby pushing the cost and effort for cross-platform development in every possible way.
Now, coming to cross-platform mobile frameworks like Phonegap and Cordova, it is possible that a native app for every single device can be built using the same HTML5 and JS technology, with the combination of these mobile frameworks. Such apps offer better, if not, equally immersive UX on all devices – all using standard web APIs to bridge the gap between web applications and mobile devices.
Quick Fact- Take a look at the official Wikipedia mobile application, which provides a native experience with web technologies, and is built using Phonegap.
Evolution of Server-Side Java Script
In the past couple of years, the web is witnessing many data-intensive, rich internet and high real-time applications such as multiplayer online games, virtual meeting tools, and instant messaging engines. The server needs a responder to manipulate and process such requests and update the client. Java, .Net, and other mature technologies provide a variety of frameworks for the server to work like those responders. But for real-time and highly concurrent applications, choosing an efficient server software and hardware is essential. Hiring a different skill like Java/.Net to work on this portion is not only a costly affair, but underutilizing the client side (JS) developers too is a burden on the project.
One such super successful SSJS is Node JS, an extremely simple and lightweight framework, which is already adopted by giants like Walmart, Yahoo, and PayPal in their critical user facing business applications.
Quick Fact- Walmart witnessed ~50% of all its online traffic through Node.js server during the recent Black Friday sales.
Over the past three decades, RDBMS remained dominant for DB management, and is still useful and relevant for many of the same traditional applications. The need to realize changing business needs such as high scalability, increased velocity, big data analytics, and social interaction, demanded unstructured DB (NoSQL) in the context of low-cost commodity hardware.
Quick Fact- The Weather Channel turned to MongoDB to get killer features out to users quickly. Changes that used to take weeks earlier, can now be pushed out in hours.
The “things” we have today are not going to be dumb anymore. They can talk to each other with REST services in the cloud, with internet browsers, with mobile phones, and with a whole lot of other devices. JS is the only language that can be leveraged to write the software for all of them, with JSON being the interchange format.
The possibilities are just endless.
JS started off as scripting to stitch HTML blocks and grew to be a multi-paradigm language to develop real cross-platform apps, full stack web apps, and drones. It has entered an exciting cycle of evolution and innovation - stepping into every technology environment, elevating and evolving UX possibilities.
Everyone knows how rapidly technology evolves, but we in UxD are envisioning and celebrating the curve. We are not only prepared, but also exalt in these good times, believing that there is plentiful innovation ahead of us.