Will AJAX Threaten Windows Desktop?
prostoalex writes "They are not your father's HTML pages anymore. AJAX interfaces are getting more complex and versatile, relieving the user of the necessity to reload the page, and thus are becoming more like your average desktop apps. The catch? AJAX apps work in any browser out there, making the OS layer a bit irrelevant. Will the trend threaten Microsoft desktop near-monopoly? Or are we hearing the story of poorly debugged device drivers again?"
I was under the impression that the answer was a pretty resounding "no". Some things have to be done locally. We had the same discussion about Java, which at least was a general-purpose programming language.
Indeed, There has been talk of the Doom of the Desktop for years, and sure enough there are increasingly many apps that don't require it, but that there will be some big avalanche of abandonment is unlikely.
Facts do not cease to exist because they are ignored.
The web applications that benefit from AJAX benefit because the experience is snappier, and because it can behave a little more like a desktop application. That's all.
Making web applications look, feel and work like desktop applications take time and require hard work, and it's mostly useless because the tasks that wouldn't be hurt by being transferred from a desktop application to a web application are few. Programs like The GIMP and Photoshop are near impossible to do as web applications, and that's not because HTML wasn't build for web applications, but because they shouldn't be web applications in the first place.
AJAX doesn't make it easy to develop cross-platform web applications. Look at all the browser incompatibilities in the developing of Gmail and more recently MSN's start.com page.
We need to re-standarize Javascript or at least make sure all the browsers implement a 100% compatible version. And i don't think that will work since not even HTML is properly rendered by any browser at all.
Open Source Java Web Forum with LDAP authentication
All that because each of the applications just offers a dumb fat client to access it per default.
All that you are doing with AJAX is writing the dumb fat client using a different, less capable programming environment than what is used today.
Wow, you guys must be really enjoying your high out there. Sure, AJAX is nice, but it's not going to replace desktop apps anytime soon. Note that Flash and Java applets have been available for a long time, and they are actually more flexible than AJAX. Also note that AJAX, contrary to what you may think, does NOT work in all browsers. In many browsers, your experience will still be limited to some text on some page, at best. And people actually _do_ use these browsers.
As for the people who think that Microsoft is going to get into losses because of this, you should _really_ cut down on your dope. In case you had forgotten, Microsoft has not traditionally been defeated by superior products, and they are actually working on a system of their own for providing a rich user experience through the web (XAML).
As long as web standards insist on the heavyweight request-response model, they will never achieve the snappiness, responsiveness, and flexibility that can be achieved with proper applications.
Here's some food for thought: imagine a simple instant messaging program, written in your favorite programming languages. One the connection to your chat party is established, all you need to do is send the text the user types, and wait for incoming text and display it. Now, imagine implementing the same sort of application in an environment where the only possible communication is you making an HTTP request and receiving an XML response.
Please correct me if I got my facts wrong.
AJAX is also good for intranet applications that need to access the companys database for example.
It much easier to upgrade an AJAX application than a traditional application for 2000 employee computers.
The IT staff probably loves this trend!
It's not Photoshop or heavy-media type applications you should be thinking of, it's the simple end-user-interacts-with-database type applications - where you don't need to have lightning-fast feedback. It's the sort of applications that can work fairly well even as "traditional" web applications - eg. webmail, usenet, flickr, etc.
Using AJAX-like techniques just opens the gate a bit further and makes it possible for quite a few more types of applications to exist and run on the "web" platform.
And the thing is that lots of non-computer-geek people really like web applications - they tend to be simpler and easier to use, there are no download/install issues, you can in theory access them from any computer with a network connection and a web browser (ie. just about anywhere), you don't have to worry about managing or backing up your data because it's being looked after by professionals (for what that's worth *grin*)...
No, webapps in general (and AJAX-type web apps specifically) can't do everything. But they can do a hell of a lot more than you might think.
AJAX apps will replace numerous desktop apps, but not because they're better. Vendors distribute products as Web apps because of a distaste for installing things by IT departments. Not requiring an install on every desktop can mean the difference between getting a sale and not. AJAX allows this to be less of a compromise in user experience, which in turn translates to competitive advantage.
f rame.html) as well as a library called JSRS that works in v4.0 browsers (http://www.ashleyit.com/rs/jsrs/test.htm).
Even in the Web space, AJAX isn't actually better than anything: Flash is arguably a more appropriate rich application platform and can do everything AJAX can. Java is an even better application platform. But I think people got burned by client-side Java when it first appeared and are wary of it now. In addition, turning your Web app into a Flash or Java app requires significant retraining and recoding, while adding some AJAX does not. Thus AJAX is an easier path to a better product in many cases.
AJAX is also not a silver bullet for application functionality on the Web. For example, an AJAX-based word processor can't directly open and close documents on the user's hard drive. While the solution doesn't have to be local file access, the current state of affairs isn't enough I don't think. Also, Web apps are stuck inside a Web browser, which means limited acces to OS-wide features and unfortunate ties to a UI designed for pages, not apps. These aren't limitations to AJAX only, but to anything confined to a browser window.
For the promise of AJAX to be realized on a large scale, some things need to happen. Web app frameworks need to incorporate it more. This has already started to happen with Rails, JPSpan, and others, but the integration needs to be tighter and the standard enterprise development environments need to incorporate it. In addition, AJAX permits much more application-like functionality but the Web only natively supports some very basic user interface elements. A standard set of elements, available to everyone with a consistent look and feel, will both make building AJAX apps easier and make for a more consistent, predictable user experience Web-wide.
Last, it's worth noting that you can do AJAX in earlier browsers than those that support XMLHTTPRequest. It used to be called Remote Scripting, and there's an excellent article on the Apple developer site describing the technique (http://developer.apple.com/internet/webcontent/i
No, but the interface is vastly superior to Google Maps, which is its AJAX equivalent. So, the answer to the story is a resounding no. AJAX apps will not threaten Windows (or any) desktop.
Had the question been "Will AJAX enhance the Windows desktop?", the answer would have been yes. Of course, AJAX will enhance Mac, linux, bsd, whatever desktops, but that's not 'news'. Sadly, "X threatens Microsoft" is seen as news round these parts.
Good points, but none of them countered my argument. Most things are possible given the right browser plugins or built-in browser support (as XMLHTTPRequest and Javascript themselves are examples of) - I never debated that. I just think that it's insanely stupid to build certain kinds of apps as web applications because their implementation could be better off being built as a desktop application.
) Desktop applications are neat. Moving certain desktop applications to web applications (or vice versa) to gain certain benefits is very neat. I never once contested this. But to *cram* all of one class into the other class for no particular reason, that's just not neat, beneficial or useful.
There's another side of this, too. If you have Photoshop or The GIMP or Paint Shop Pro installed, you can, with very few exceptions, snag an image from anywhere, get it into your program, edit it in a familiar environment (including usage of your own filters, shortcuts and what have you), and get it out of there. That's the whole point of desktop applications.
Web applications work just fine with text and to a lesser degree with file attachments, but making it work gracefully with other kinds of media, including rich text (yes, I know about contentEditable HTML and so on), video, sound and pictures (vector- and pixel-based) *built in* would require a major reworking of the way web developers work with HTML and Javascript. And what are we left with? A sub-optimal clone of desktop applications.
You say that I could have my drawing app as a web application. I don't *want* my drawing app as a web application. Making everything into a web application is a text book example of having a hammer and everything looking like nails.
Web applications are neat. (I would recommend everyone and anyone to read http://daringfireball.net/2004/06/location_field.