In baseball, it’s three strikes and you’re out.
In this age of app fatigue and digital transformations, the rules of America’s favorite pastime don’t apply to web application development. For most brands and enterprises, they have seconds to delight a user or they are skipping out of the ball park and onto the next competitor. Because for web app users today, having a fantastic application isn’t enough — if it doesn’t exceed their expectations in terms of performance, accessibility and responsiveness, you’re out.
While it’s getting harder to find quality web apps and software that works, development teams can build the best apps possible if they put the user front and center — this means considering usability testing as part of a software development lifecycle, looking into today’s modern technologies and frameworks, and finding new ways to give users the experiences they need so they always come back.
Usability testing
One of the ways to really hone in on the user’s wants and needs is to consider focused sessions as part of targeted user experience testing, according to engineering director at Sencha, Mark Brocato. This can cut down on development time since issues and potential problems are highlighted before the web application reaches its launch date.
Usability testing is an easy way to see how something is used, from real users, he added. Typically these users are asked to perform certain tasks, and it gives teams the ability to see where users may stumble and it helps the development team see if users are tripping up in any areas that they shouldn’t be, said Brocato.
Brocato said that his team has learned much about their own users at Sencha from conducting usability tests, and he said it’s better than trying to guess in your head what people are going to do (or not going to do) within a web application.
There are a few added benefits to usability testing. For instance, it gives teams direct feedback from the target audience to the project team, any internal debates can be resolved by testing issues with real users, and it minimises the risk of the web application failing when it goes into production.
Of course, there are a few disadvantages to usability testing, according to an ExperienceUX report. Usability testing is not always representative of the real life web app scenario, and it is qualitative, so it doesn’t provide large samples of feedback that an online questionnaire might, according to the report.
But, usability testing can help development teams gather information about the user’s needs when it comes to design, like the functionality and features of the web application. It won’t necessarily give teams an understanding of the needs that goes into the delivery of the application.
According to head of products at NGINX, Owen Garrett, the way to figure out those needs is to ask questions like, where is my user located? What is the standard of performance they expect? What devices are they using? How is the web application going to be deployed? Will the application need protection from spikes of traffic? These are the important questions to ask if you want the answers that directly relate to the user’s use of a web application, he added.
Considering developing a web app?
Even after a development team thinks about what they are going to build, and after they get that feedback from potential users, they still need to put the user experience front and center.
Users have so many choices right now, and if they are unhappy in the slightest bit, they know that they can go somewhere else because they’re not locked into one application anymore, said Rod Cope, CTO at Rogue Wave.
Performance continues to be a challenge for organizations, because like Cope mentioned, users want to stay in their flow and experience no delay. According to Rogue Wave’s research, they’ve seen that a one second delay in page load time leads to a 7% decrease in purchase conversion. That’s significant, said Cope.
Consider an ecommerce site that gets 100,000 business transactions per day, said Cope. With a one second page delay, it could cost the business $2 million a year just from a one second page load time.
“[We’re at] the point where you click something and you don’t want to notice that there is a delay, and if there is, you are already frustrated,” said Cope. “We are getting more and more used to having everything instantaneously.”
When it comes time to actually develop a web application, development teams need to think about more than just performance. They need to take a different approach than they would with developing a mobile application, too. For a long time, according to vice president and principal analyst at Forrester, Michael Facemire, businesses would take their website and jam it into mobile application. Now, businesses are looking at their mobile apps and considering how they can replicate that design and user experience as a web application, according to Facemire.
Instead of taking a mobile application and trying to recreate that same experience in a web application form, it makes more sense to consider users’ channels. For instance, if they are on a desktop, they are probably okay with a longer session with more in-depth experiences, whereas on a mobile device, users often want quick sessions, said Facemire. He added that the average session on a mobile device floats around a minute or minute and a half, and on a desktop, it’s longer than that, so a development team needs to deliver a much more detailed experience on the web, he said.
Screen real estate plays a role in web application development as well. Web application development requires different viewport sizes, the resolution, and web layouts. On a smaller device, users interact with their finger, swiping, tapping, and holding their finger down to complete a given task. On a larger device like a desktop, users lose that ability to tap and swipe.
According to Brocato, it’s the little things that can sway a user from using one application to its competitors. User’s tolerance for any experience, especially in the consumer setting, is very low, he said.
One solution to this development challenge is to simply build smaller releases, said Facemire. Software is shipped often and the releases are getting smaller and smaller, yet they still include something valuable to the customer. Shipping small allows development teams to gather feedback, conduct an analysis, and determine if the release was successful or not. And if it’s not, it shouldn’t cost a team 16 months in turnaround time, said Facemire. Teams need to fail fast and understand why their customers were unsatisfied.
“The concept of failing fast is important here,” said Facemire. “Let’s fail quickly, and then learn from that — you don’t have to get it right the first time, but if you don’t have it right, let’s understand why and let’s not make the same mistake again.”
Web application technologies
Another challenge for web application developers today is the “never-ending war of the frameworks,” as Brocato puts it.
“It’s like Game of Thrones, web style,” he said. “A year ago, when I went to my local Java meetup, the talk was all about React, now it’s shifting a bit.” He said that now, Angular is still fairly popular, but there are things like web components and additional frameworks that keep evolving, and fast.
Chances are, the framework you pick today is going to be close to outdated by the time you “finish” your web app. And if it’s not the framework, Brocato said it’s the language. Web application developers need to come to terms with this, they need to figure out a strategy for development and how to update and manage the apps so their app doesn’t look antiquated, said Brocato.
However, when it comes to languages, JavaScript still remains king of the castle. There are new flavors of the language for web development, with TypeScript and Flowscript getting some attention, according to Cope. They are compatible with JavaScript so developers can write in those languages and write code that runs in all browsers and devices.
Of course, added Cope, PHP is still popular, Java and Python continue to make moves in artificial intelligence, too. Other software and coding sites highlighted technology like AngularJS, React, Node.js, Ruby on Rails, ASP.NET, and Vue.js provide additional functionalities that can be utilized within your own web application development project.
When it comes time to actually develop a web application, Cope said that he thinks about it in two separate “camps” of development. Some teams think web applications need to be a separate mobile application written from the ground up, and those need to be native because you want maximum performance and the best user experience, he said.
Then there’s another camp: “Instead of doing all this extra effort to write these native apps in separate languages, let’s just use standard web technology and basically write a web application that runs on mobile devices, looks good and performs well,” said Cope.
He added, “I think you’ll see different companies going different directions, depending on what they are comfortable with.”
Development teams should also consider the microservice approach for the server side of the application, which allows you to build applications in a cloud native fashion so they are broken down into independent components which will scale and update individually. NGINX’s Garrett said that this gives teams flexibility and security as compared to monolithic application.
The convergence of mobile and web
While users are still mobile-first, and there are specific technologies that are better suited for mobile development, leaders in the development space are starting to see the technology that separates mobile applications and web applications is now starting to converge, according to Garrett.
For example, desktop web applications are operating at a mobile style, mobile apps rely on web page technologies and HTML renders custom code, he added.
But in terms of practical differences, Garrett said that mobile applications tend to use API requests much more than web apps. Web applications do traditional HTTP requests and mobile uses standardized APIs. Mobile apps go to great pains to batch up API requests so they can make as ingle large network request rather than multiple small ones, he said, however, one technology that is unifying both web and mobile is HTTP/2, which is a major revision of the HTTP network protocol used by the World Wide Web, and it is derived from the earlier experimental SPDY protocol.
“It’s a new way of delivering web content; it has security built in and performance optimization built in, and it allows mobile and web apps to get a great level of performance even if the underlying network is high latency,” said Garrett.
Also, what started as responsive design in the mobile application space is now becoming standard for web applications. HTML, web rendering technologies on the desktop — it’s all becoming the de facto standard for a great many web applications, said Garrett.