Innovation adoption follows a curve, characterized by how quickly people embrace new technology.
Every new piece of technology requires a period of learning by its users. A baseline of understanding must be established before that technology’s true societal impact can be felt.
When people were first introduced to the personal computer, using a monitor, keyboard, and mouse to interact with a computer was revolutionary. People first had to learn how they could tell a computer what to do and then how they could see those results displayed on a screen.
With a new baseline for user behavior, the laptop computer was introduced, combining the monitor/keyboard/mouse into a single package. In the latest generation, devices have a single interface: the touch screen. Each new generation of technology, built upon the adoption of its predecessors, raises user expectations for the most elegant of human/device interfaces.
User interaction with web applications has followed the same pattern over the last 20+ years.
The Refresh (1994 – 2005)
Consumers were first widely introduced to the internet through a web browser (ex. Netscape) and HTTP requests. To access a web site, a user navigates to a URL. Once on the site, the user interacts by clicking on hyperlinks. Users established fundamental expectations of:
- If I click on a link, I should expect the web page to fully reload
- If I refresh the page, I should expect to lose all unsaved form data
- If I close my browser, I should expect to lose all unsaved form data
While not ideal, users learned how to use websites effectively against these constraints. Fundamentally, to obtain new content, a browser needed to refresh.
Async (2005 – 2010)
The user pattern of the browser refresh, while functional, is not ideal for two key reasons:
- It increases server load by requesting more content than the user requires as much content is re-used across pages on a site
- It slows down the use of the site as users wait for their request to be fulfilled by the server and the page to reload
To solve some of these technical problems, AJAX and its various implementations (PJAX, Turbolinks) were used by developers. Server requests could be made asynchronously, allowing for content to be delivered to the user without a full page refresh. Users now expected:
- If I submit a form, I should see a message telling me the status without a page refresh
- If I submit a form, the saved content should appear automatically on my web page
- If I refresh my page, I should not lose all unsaved form data
A definite improvement, but still not ideal for persisting data between simultaneous users and syncing web views with the data.
Real-Time (2010 – Beyond)
With the advent of powerful client-side frameworks (AngularJS, Ember, ReactJS, Meteor), a whole new frontier is here for consumers of web applications.
Gone are the days of click …. and wait. Servers and databases now push updates to user’s screen in real-time. While this behavior has been second nature to users on desktop and native applications, only now is it truly here on the web. These new tools allow us as developers to build applications that are:
- And fun!
These characteristics have made native apps and games so popular for years. You now see this same speed and interactivity in modern web applications. We at LaunchPad, as developers and builders of these applications, are excited to be part of this powerful trend.
User expectations for speed and interactivity on the web are only increasing. Just as users now expect to have touch capability on all their devices, so to do users expect web application to be real-time.
The modern web is here to stay. We’re proud to push user expectations higher using the latest innovative web technologies.