Wednesday, April 20, 2011

What are the technological limits to the usability of AJAX web apps?

I am trying to understand the technical limits to the usability of web-based productivity applications that use only open, cross-platform technologies such as Javascript, HTML, and CSS on the client. [1]

Let's assume for a moment that in the next few years the capabilities of web browsers continue to improve (e.g. with HTML 5 and faster JS engines), and significant progress is made in increasing bandwidth and reducing latency. What technological barriers (e.g. performance, graphics, modes of user interaction) will remain that limit the usability of web productivity apps when compared to conventional client-side applications? (Apart from offline access and issues that have significant non-technological aspects, such as privacy concerns.)

[1] By "productivity applications", I mean things like office suites, email, calendars, and diagramming programs.

From stackoverflow
  • Older browsers. There are still a lot of IE 6 users around. As the web becomes more AJAX-y, current browsers that just barely cut it are going to be more of a problem.

    Funka : I've never ran into any significant problems with Ajax on IE6, especially when using a framework for abstraction, such as jquery (Don't get me started on the CSS problems, though!)
  • and significant progress is made in increasing bandwidth and reducing latency.

    This IS the limitation, and latency is not something that is going to improve significantly in the future (there are real physical limits here). The roundtrip is the bottleneck.

    As for improvements, I see as javascript getting faster there being less AJAX and more client-side work. Right now, alot of AJAX is used to get display HTML form the server for rendering in the browser. In the future, AJAX will be used strictly for data, with javascript handing all the display.

    SO the barrier I see is javascript performance.

    Calvin : That really depends on where you live. If you live in Japan or South Korea where they're already rolling out 1Gbps symmetric FttH connections, then _maybe_ you can make that claim. But here in the U.S., the majority of the population still only has access to 13-year-old ADSL technology.
  • The real issue is that html+css does not provide 2d or 3d rendering primitives or any sort of real-time sound interface. Without those, a lot of the stuff we expect out of desktop apps aren't possible. I'm thinking of games, 2d/3d image and video editting, real time communications, that sort of thing. Obviously, you can do these things now, just not with open standards. With a little luck, more and more of the rich functionality available with Flash, Silverlight, and JavaFX will get pushed into "standards" and the barriers will be completely gone.

    I don't see any reason 99% of "productivity" apps couldn't run in a browser in a few years.

  • Basically with the flash virtual machine and javascript implementations in browsers improving, what you are seeing is convergence of traditional web functionality with typical client side application design. The primary difference is that the code for each page or snippet is downloaded and executed on demand and within a standardised environment across the various platforms out there. Essentially traditional web applications are becoming more like client applications. However there is still a need for web applications that don't operate like this. Today, you have the choice of either, or a combination of both.


Post a Comment