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?"
It wont be any enormous instant change. But it will be a very slow methodical one. I notice that many companies are developing more and more web applications rather than buying expensive proprietary software. As companies break free of the proprietary software on their own, they will be more open to alternative OS and hardware solutions. All it takes is one salesman to go in to such a company and win them over.
AJAX helps because there was a set of desktop applications that could not formerly be made into equivalent web applications, but they now can be. You'll see MS take some losses over the years if the trend continues.
The GeekNights podcast is going strong. Listen!
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.
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.
If moving CPU cycles and storage on-line to big company's (compare how fast it takes to search all your emails in gmail and Microsoft outlook, and how much space is available and backed up), then i can see the demand for new, faster PCs for a lot of people to decline.
When that starts to happen, who needs the newest and latest OS, or even a PC anymore when you can do it on your WiMax enabled pda and opera.
Things like Ajax only help move this data off the PC on-line and reduce the need for both a OS and PC
"In a time of universal deceit - telling the truth is a revolutionary act." - George Orwell
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
They said the same thing about Java, right? Which is faster than web apps (even if you think it's slow compared to C) and has more access to the file system and it's resources.
The way to make the Desktop unimportant is to have cross-platform applications become the norm. Word processors especially, but also browsers, mail programs, etc. Only when the apps that average folks use every day can be found on every platform will the platform cease to be so crucial.
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.
Okay, I'll feed the troll.
As a web developer, I'm currently focusing my AJAX development on our Intranet. It's safer in the sense that we have more control over the browser and it's less likely that people with odd browsers will complain. That's where most of the interest is at the moment. For example, a form builder that lets people drag and drop controls, update properties, and so on.
There's a reason why Google maps is so popular while Google Earth (a client/server app) isn't as much. Anyone with a modern browser can use Google maps, while Google Earth requires an install, the right OS, and more.
NO, this isn't going to happen anytime soon. My wife just asked me why someone would want to mix cleaning products and computing, so what do you think ole PHB is gonna say?
My humor is probably your flamebait
The along came things like microsoft Basic. The computer would boot into an interactive language environment. If you wanted an operating system, you wrote a program in the language that could do primitive reads of some storage device (paper tape, cassette and later 8" floppy), on that was a larger basic program that would do operating system commands like list the files on the tape/floppy and allow you to copy them.
then along came DOS. While mini computers (like vax and prime and wang) had had OS's for years these were new to Mini computers. now the computer booted to the OS and if you wanted to program you had to load BASIC or fortran to create a programming environment.
Then along came the PC. suddenly there was this thing call the BIOS that normalized a lot of hardware kinds to a more uniform hardware API. And there were these device drivers that patched the OS.
THe OS slowly became more layered in design but that was transparent to the user.
the next big leap were browsers and quickly JAVA, which were touted as a normalizing layer over the OS to make machines more common at a higher level of abstraction above the OS.
Everyone thought webapps would rule. Never happened.
Maybe it was just too soon. Or maybe it's because MS torpedoed JAVA's cross platform success.
Now were seeing the rise of Javascript and XML. A few years back that would have been a joke. But I guess computers hand interpreters and high speed internet have gotten fast enough now that you can do slick things Google maps. Fast enough for simple common operations like Calendars, editors, spreadsheets and what-not.
my own feeling is the interface itself is still pretty crude. I'd rather run local apps. On the other hand if I were a corporation I'd probably tell my employees they dont need a faincy calendar or editor they need a siimple one we can maintain on a server.
So my feeling is that for the most part this is just another layer on a rather large stack of layers. and probably the slowest one yet. It offers little improvement to the user but does simplify maintainence and offers attractive corporate benefits.
Some drink at the fountain of knowledge. Others just gargle.
The main reason the internet caught on is because it had a consistant UI that everyone, even non-computers users, could use.
- All links worked the same way and had the same right click menu.
- The back button could get you back if you get lost
- You could bookmark what you're interested in.
With showcase AJAX applications from leading software vendors all of this is broken. I can't bookmark. I can't use the back button (I remember when only porn sites used to do this - and now Microsoft sinks so low?). I can't use my right-click menus that I know.AJAX combines all the inconsistancies and learning curves of desktop applications with all the limitations (bandwidth, limited access to local storage) of the web.
Please make it stop.
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.
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.
Flash can be really horrible for a great many things. As a Mac user, I'm unfortunately familiar with its occasionally lagging performance. But it can fit the bill for some things, and I think Macromedia - before they became Adobemedia, of course - were really trying to promote Flash as an application creation tool, rather than just some fancy rich media web plugin. Think about it.
Oh. And Flash had remoting with XML while the term AJAX was still a gleam in the eye of those folks at Adaptive Path.
concrete5: a cms made for marketing, but strong enough for geeks.