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!
People shouldn't be running scripts of random websites, the web is for serving documents. If something requires more functionality than a web app, write client code.
Ajax == hyperbole
That is all.
I hope so! The SO must become a commodity!
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.
No. Any questions?
After all, why use a web based program when a binary runs several thousand times faster, you can save data on your hard drive a lot easier and there's no lag in downloading or streaming new data for the next web page.
Sorry everyone, but it's not going to happen.
I know I'll get marked up +5 troll for this, but this has to be the lamest thing I've seen posted on slashdot.
As a web developer who has done work with AJAX (as people like to call it these days since google started using the 4 year old technology) and has built numerous applications with it, it's never going to replace desktop applications.
Never, never, ever. PERIOD. (of course, this is slashdot though... we need to find every possible way to topple that devilish windows!)
Hey, can I now get a refund for my Windows XP Professional Edition that I bought a few weeks ago? As a clueless consumer, I gotta get me some of that AJAX!
Like the bleach or the Netherlands football team?
Many enterprises are plagued with too many proprietary, non-modular fat clients needed for Customer Care, Service Management, Billing, HR, etc. etc.
The people on this sometimes have to work with 1-5 apps for one transaction (e.g. Cable Service Customer calls Customer Care about a billing problem for a PPV event, CC maybe agent has to look in one app details of the Customer, in another if there was a know outage, in a third if the money was transfered from the customer, and then maybe open a ticket in a 4th, etc., all while copying&pasting data from one app to the next)
All that because each of the applications just offers a dumb fat client to access it per default.
If vendors - which should have no interest in that kind of lock-in - started to offer modern Web GUIs, that would be a step in the right direction.
Though expect that these Web interface will pop up, and have already, I also know that the underlying interfaces often doesn't lend itself for easy integration with others.
...it might make Microsoft's offerings less relevant. if most tasks people need to do can be done with online office apps at (say) OpenOffice.org, and other online apps from Google and other companies, that could make standalone applications irrelevant if their browser-based replacements are sufficiently compelling.
Once you can do everything you need to do on your PC without Microsoft, the same way you would with Microsoft (eg, in Safari or Firefox rather than IE, but the same links and buttons), it's much easier to convince people to try out something new, like a mac or a linux desktop.
That's the threat here.
Stasis is death. Embrace change.
They will not threaten.
If you ask a prediction from collective intelligence of SL crowd.
Whats a near-monopoly? Either you have a monopoly or you don't. You can't be a little bit pregnant.
...I'm guessing Microsoft doesn't fear it as much as you'd like them to. Here' a little extra reading for you, it should clear things up.
Will the trend threaten Microsoft desktop near-monopoly?
No, it will strengthen it. According to the article, Microsoft is already creating a proprietary toolkit for AJAX.
Perhaps they hope their toolkit will become the standard.
THe increasing bandwidth makes Ajax like applications for speeding up the user experience pretty unnecessary. It will be used for adding possibilities to have distribution free programs (no install means no questions asked, no 1001 configurations to support), but for speeding up it is pretty useless.
My wife's sketchblog Blob[p]: Gastrono-me
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.
I think a much better approach for cross platform interactive web applications is through the NX technology from Nomachine http://nomachine.com/
It allows the full richness of a desktop app over a modem connection with easy deployment through a browser plugin. The app doesn't even need to be especially written for the web and the performance is simply amazing. It is also completely cross platform as the app runs on the server and remote displays to the client.
There is also a free server and all the smart compression libraries are under GPL.
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
This is why Microsoft had to kill Netscape. They were afraid websites (using Java) would make the OS irrelevant. Now that it's starting to really happen they actually seem to be helping us get to that point (IE7 CSS improvements).
"But I'm still right here, giving blood and keeping faith. And I'm still right here."
http://www.adaptivepath.com/publications/essays/ar chives/000385.php
To see a world in a grain of sand, and then to step back and see the beach where the sand lies
moving towards the all web interface, as far as possible. i'm just testing webmail insted of thunderbird. thunderbird might become the "email archive programme".
I think a much better approach for cross platform interactive web applications is through the NX technology from Nomachine http://nomachine.com/ It allows the full richness of a desktop app over a modem connection with easy deployment through a browser plugin. The app doesn't even need to be especially written for the web and the performance is simply amazing. It is also completely cross platform as the app runs on the server and remote displays to the client. There is also a free server and all the smart compression libraries are under GPL.
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
Insects can. Maybe these computers are insect-like? Maybe your analogy was as bad as a Star Wars prequel?
**TODO** Steal someone elses sig.
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.
Well, no matter how good browser based applications get those browsers are still going to have to run on an operating system, on a computer somewhere.
We have also seen how hard it is to ordinary people who are not IT enthusiasts to switch operating systems, especially away from windows.
I don't think AJAX is a threat to microsoft windows.
However, the real question is if microsoft sees it as a threat.
They did years ago when Netscape made similar claims and with far less justification and they took harsh action.
IE still doesn't support all of CSS or W3C standards. Microsoft's cooperation with IE will be needed for AJAX to work as well.
I hope they cooperate because it opens up new possibilities for everyone.
Insect-like computers would be awesome. Can you imagine a beowulf cluster of Ants?
As for Ajax, its good for killing ants, last time I heard..
And I doubt Web apps are going to make anyone choose an OS, its up to the OS to be easy to use, and easy to setup and maintain.
| - | - |
Can you imagine a beowulf cluster of Ants?
Yes, I have several of those in my back yard.
I would like to pour some AJAX on my Windows installations... maybe scrub off some of that OS...
Think AJAX is too harsh to be an effective fdisk?
"why don't you just slip into something more comfortable...like a coma!"
Ruby on Rails has some easy-to-use AJAX features mixed in for good measure. And Ruby as a language is pretty nifty.
Scalable Vector Graphics, whenever most browsers get around to supporting it (the spec is kind of complex/full-featured), will enable another round of cool stuff. Especially when you consider the XML can be slurped in the background using AJAX
Now if the browsers would only fix/clean up the mouse and keyboard event model (jscript/ecmascript abstraction layers only help so much) and finish CSS2 support, we REALLY might get some interesting things going... At that point you could have your drawing app and eat xml, too...
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.
No. It doesn't matter if something is better or not. What matters is who has the most marketting muscle. We know who, at present, this is. There might be an MS AJAX, but I'm doubting that unless it's successfully patented by them somehow since we see that the whole idea is that it runs anywhere.
No, we've seen countless "better things" not accepted. I don't think this will be any different.
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.
I'm fully confident in Microsoft's ability to put enhancements in IE8 that will break all Google and Yahoo AJAX projects in much the same way their JVM worked.
Or, (with memories brought back by your java reference) for "security reasons" only allowing dynamic content that uses the safe managed code in the CLR/.NET runtime.
Now, MS is fixing IE and may be able to solve the issues. If they succeed, those that are writing applicaion front ends will likely continue to use IE and continue to deploy MS kit if for no other reason that it is what is known. If MS does not solve these problems, then there may be a major break for another solution. The only variable is if the latest IE is MS Vista only.
But there is a technical problem within all this. Applications over the web are slow. Many years ago, I designed and used database driven applications over LAN. Today, similiar applications are almost unusable except for simple tasks. Some of this is due to the overhead of HTTP, but some of this is due to the designers ignoring the rules developed for database and network and GUI design. My prediction is that these techologies are going to be implemented in silly ways, using bad design, and it will stigmitize the entire technology. MS IE can get away with bad design, becuase most do not know anything else. But doing something better than IE, at least at the application level, is not easy.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
No.
Have you actually developed something using AJAX? I'm going to guess not if you think it works in "any browser." It probably works in Firefox/Mozilla, good chance it works in IE6, Opera and Safari if you say a few prayers, and anything else is pretty unlikely. Now, you msy say that's most browsers, and it is, but it is not "any browser." There are still people using Netscape 4 for some unknown reason.
The last place I worked at, I regularly used four or five different administration tools that behaved almost as well as "real" desktop apps. Unfortunately, all of them required IE - and the sad part is that only one of them was actually served from IIS.
Hopefully we see more apps run on all browsers moving forward.
- It's not the Macs I hate. It's Digg users. -
Just to see what the fuzz is all about I created a small AJAX "app" using SAJAX, a small AJAX toolkit for an assortment of languages. Here it is: SAJAX + Google Define-test. Kinda fun and very simple to write. I don't see any obvious use for it though except for larger applications such as Google Maps. Most "interactive" contents over HTTP is message boards and such and they don't really benefit from AJAX directly.
The combination of Linux and OpenOffice is already cracking the Windows monopoly, and it is growning to a fissure. AJAX will have nothing to do with it, because Java Swing is good enough for any internal apps that need a fat, rich client.
According to 1249757 articles on slashdot there are 1249757 things out there which will replace Windows.
AJAX applications are much harder to write than even the most complex client server/n-tier applications. This will not be simplified by libraries since debugging these applications is 90% of the work and when you "view-source" you will need to parse the junk manufactured by these libraries. And even if these libraries are bug free (yeha right, and the browsers are perfect... dream on) your code could still cause a failure that only occurs in the client you will have to "view-source".
When Gmail is able to actually not kick me out every once in a while and lose my current selection/position in the message not to mention the many other bugs and the slow progress... Then AJAX might be ready for something that isn't trivial. Yes GMail is impressive, but not compared to even the most trivial E-Mail applications (yes I know labels, wow... Nice feature but I'm talking about the UI).
AJAX can be summed up rather eaily: "Square hole, round peg!" Its a document navigation system trying to be a "real" application... You want cross platform GUI that works, just use Java its getting better and better and Java based user applications such as LimeWire are now very high in the download.com top 10 list.
AJAX is good for a number of tasks, but not for every task.
Here are the obvious things it will NOT replace:
- gaming.
- heavy computational operations.
- real photo manipulation programs.
- anything that requires access to the computer that are beyond the security model of the browser.
Javascript is slow when dealing with many form elements, or numerous functions at the same time.
So what is AJAX good for? More efficient and dynamic web content. Now we do not have to reload entire pages when submtting information. We can grab information in the background and present it to the user in the foreground. It allows for more intiative experiences that we are used to from desktop applications.
Java is teaching tool, like Pascal or Basic was. Kids learn about "object oriented" programming before getting a real job. Some still program in Java when they get jobs, but if they're good they take up C and C++ and do real programming. Java remains slow and is getting a little archaic now.
It will dwindle as nich programming language, kind
of like Cobol or Ada.
I love gmail, but to claim its faster in *any* thing, other than interface innovations is silly. Yes, you could make arguments like "its faster to find all the email in a thread" but thats due to Google innovating, not due to the inherent speed of Gmail. Click "Inbox" in Outlook or Thunderbird and it *immediately* goes to your inbox, within a split second. Click inbox in gmail and, it, well...loads your inbox, which usually takes over a second. Same thing with compose, etc. About the only thing that I would say is *as* fast is the intelligent contact complete for email, pops up as fast as if it was local. Everything else lags just like the rest of the internet, and I don't care what connection you're on.
Curl
Laszlo
Flex
Create rich client apps with the DOM
Rich Cients ORG
---
Your comment has too few characters per line (currently 5.7).
SunRays send video over ethernet. They work well. Are we going to send video over modems? no, but overbroadband on LANs, yes. And on WANs, someday.
Some drink at the fountain of knowledge. Others just gargle.
can i ?, can i use my back button ? can i bookmark content ?
AJAX fails the same way as DHTML or Macromedia's Flash does, its great for non essential data or presentations but it removes all the browser UI controls functionality, it takes away control from the user, not to mention search engines cant see or use it
so no it wont change anything , same as when MSIE introduced element databinding in 96 (precursor to XML data retrieval) and the DynAPI in 97-98 with its loadHTML object (ns4/ie4/moz)
AJAX is just a meme, and all it seems to show is memes work, at least it did on you
i honestly dont know if it will or wont do anything to help decline microsofts monopoly. but i DO know that properly implemented, any AJAX app should be sufficently fast for most users. in fact, if people switch to vista like microsoft expects/wants then they will need a sufficently fast computer to do so. these people will probably end up having some form of broadband, so in this scenario, the users pc & internet connection are fast enough for most purposes. all you need then is a backend that's sufficently fast (mabye making use of some client-side things like spellcheck or whatever - just so you dont have to ask the server if every word is correct as an example) then AJAX apps should be fast enoug for the user to not be able to tell if office or weboffice is faster.
tho, i'm waiting for some cool ajax apps to come out, because i think it'd be neat to have a few apps running as a server on my laptop, such as a web-interface to share files (as samba dosnt work 100% of the time, and nobody i know uses NFS 'cept me). there are possibly other things but that's about it. hmm... rails comes with a webserver... mabye i should go make one...
---- The first point-and-click interface was a Smith & Wesson
yeah, because it sure as hell isn't a first post.
http://www.phpmagazine.net/18_ajax/categories/52_
I always keep all Javascript and other active scripting turned off, and have been happily surfing the Web problem-free for years. I have no desire or interest in enabling Javascript.
Has anyone thought it interesting that Microsoft was the one who developed XMLHttpRequest? And at the heart of all these AJAX solutions is just that. Who's to say that Microsoft is biding it's time until all these AJAX websites are completely entrenched and then M$ pulls out the patent for the de facto standard for AJAX websites.
Conspirancy?!? Maybe but haven't they done this kinda thing before. Isn't that what being Microsoft is all about?
Let's wait and see.
Save Pangaea!! Stop Continental Drift!!
Why would I want to use a server side application where a client side one would be fine? If I want cross-platform portability, I'd write it in Java. If we're talking about clients onto data held on a central server elsewhere, sure makes sense. Or, I could use X11, that not only works, but is actually designed for this sort of thing!
On the other hand, word processors. Sure, I'd LOVE to lose the ability to edit documents if there's a network problem. Oh, and are you storing my files locally or remotely?
Okay, client-side Java isn't perfect. Start-up time is a hassle, for example, and Swing still doesn't look so great. However, if people really wanted cross-platform applications, I think we'd have seen more work on improving both areas.
Stop trying to mangle HTML into every situation, please!
The people using Netscape 4 are probably still using Windows 98 as well. Maybe NT4 if they're in an office situation. Or maybe Mac OS 9 or some non-free UNIX variant, but those are real outliers these days. And they all have alternatives, even if it's only iCab.
I suspect there's more people using IE5 than Netscape 4, because if you're using Netscape 4 you at least at some point installed a browser. If you installed a browser once it's at least conceivable you'll install another one.
If this stuff has problems on IE5, that's a much bigger problem, because anyone using IE5 has not only never installed a new browser, they aren't running software update either.
Just because you do not see this happening in your little sandbox, doesn't mean the treat isn't real.
Ah, but there will inevitably be a lag before the MASSES start converting. They are typically not very knowledgeable about the pros and cons of technology, and are apprehensive about adopting "new" things.
Much like the stock market. There is "smart money" (i.e. insiders) and "dumb money" (institutional investors, mutual funds -- i.e. ~70% of investments). Keep in mind it is a zero sum game -- the winner wins at the expense of the loser. When the "dumb money" start getting hyped up and excited about the stock market, you know you better unload before it's too late!
Same thing with GNU/Linux. There will always be doubters, but the best you can do is educate yourself and your friends.
Now, time for some tea....
While AJAX is certainly progress (though it's been around for years) I really don't see HTML/Javascript going much further and staying with us as the future of web/application development unfolds. They are relatively brittle, error prone languages lacking in capability. You can do a lot with them, but then again, you can do a lot with Assembly language and BASIC too.
XML UI Browser/Platform
"My real reason to be weary of this is another matter -- I want to be able to control and store my own data. "
And we thank you for that.
Sunny Corp loves you all!
Bigot. Retard. Strawman. Scum.
/. brethren was a waste of my time. Continue enjoying your irrelevant opinions, may they become increasingly so.
Proceed to mod this troll. I was going to put in a coherent explanation, but I realize educating you and your retarded
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
The browser interface is not the best interface for most activities. Take data entry and how bad even the best (javascript, forms, etc) interface can be just horrible compared to a full-fledged application. Browser is a great interface for many things, but lets not forget how useful a good application can be.
-M
Yet another lame biased Slashdot story - will crappy 1990's technology applications replace Microsoft's new Avalon system? Oh yes, it certainly will! People will flock to combo box and radio button laden interfaces because they run on Linux as well as Windows. I'll tell you, when I use an app the thing I care the most about is what other operating systems it runs on... NOT!.
This is why MS will never loose. The Linux community is so wrapped up in itself and it's pet OS that it thinks people really care. You want people to switch - make something that's really revolutionary. Otherwise no one wants to hear your gay slashdot stories.
basically what happens over and over again is that someone keeps trying to add a programming language over the top of all the previous layers of abstraction.
And then someone else moves the functionality of the programming language into an abstraction layers (e.g. the OS or the browser).
then someone comes along and implements a programming language that lives over the applications api.
oroborus.
Some drink at the fountain of knowledge. Others just gargle.
They can't fight with words so they wank with mod points.
Microsoft decided to kill off Netscape long before Java existed.
I have been doing web development since 1995. 10 years already! Every day that goes by, the more frustrated I get that HTML/JavaScript has not evolved into something better. Microsoft has been hold things this back with their marketshare and lack of interest in making web development better.
HTML is too basic for complex web apps. There needs to be more widgets to work with, such as menus and tabs. Something like Mozilla's XUL.
JavaScript was not designed for complex, large applications. We need a JavaScript 2 or something better to move forward.
Until HTML/JavaScript are upgraded, don't expect normal web developers to build great web apps. It takes some brains (like the ones at Google) to hack together a complex AJAX application.
Most of the web references to AJAX that I've seen correctly point out the importance of checking the browser version, the necessity of testing on many different browsers and versions, and the difficulty of fallback coding if XMLHttpRequest isn't supported. For example, see the AJAX page at http://en.wikipedia.org/wiki/AJAX.
This is not to say that AJAX isn't terrific, and a major breakthrough in building more responsive web apps. But it's often important for the application to work for all users, many of whom are still running Windows 98 (with an old IE), Mac OS 8 (or earlier), Palm OS, and other systems that don't support AJAX. Sometimes these users can be ignored, and sometimes they can't. If they can't, the developer who wants to use AJAX may have to program (and document, test, maintain, etc.) a second, non-AJAX interface.
Sure AJAX is cool, but come on! Unless you never run applications that need to use a local file system then, yes, the OS for you will be threatened. As for the remaining 99.9% of us, we'll still need a meaningful file system to work with. Of course you could have all of your file storage stored on a remote server, but again, there always be a number of apps that people won't tolerate that sort of architecture unless bandwidth increases 100x.
I recently discovered that some of my friends (who are younger than me - about 20) Had literally no idea that there was such a thing as a mail client. For them, email *is* entirely web based.
For that matter, when did you last see anyone use Encarta?
Ok, there's the sort of app that seems pointless to force into being a webapp (photoshop springs to mind) but it doesn't take much imagination to see Office being a webapp.
it's not always about speed.
i built a webapp (a remote Safari screenshot generator), that just takes some time to finish.
there's no way to speed it up, so what to do with the visitor in that time?
instead of showing him the spinning wait-cursor while the server does its job, you can just use "Ajax" (god what an awful name) to start the job, keep the visitor informed and once the job is done, present him the result.
much nicer in my opinion...
I wrote about this very topic recently on my blog. This is what I had to say:
The browser is great for displaying information, for sharing content online, for communicating with others and for entering relatively simple types of information. But it's not very good for performing complex interactions.
You can't do photo editing, edit a video, design documents, make or edit music, draw, paint, create an animation, make your own digital effects and no doubt perform a whole host of other tasks. But if you were to buy a new computer (or already have one), these are exactly the sorts of things you are likely to be interested in doing or learning more about. Even basic word processing is quite horrible when done through a text box in a browser.
Even in instances where you can accomplish some of the tasks above, you are usually presented with a hobbled interface that offers you little capability or choice. Take Content Management Systems - perhaps the most ubiquitous of all web apps - they still have to drastically simplify their methods of interaction to accommodate the browser's limitations.
There's one exception to this pattern of desktop capability and browser equivalence and that's email. Web-based email has been phenomenally successful, but it still hasn't displaced desktop email software. I know of no company that has moved its staff to a web-based email system for day-to-day use in the office (excluding remote access).
The cross-platform, "no install" aspect of running an application through a web browser is, I believe, what continues to make it so appealing to many developers (and, of course, the prospect of making an application available to a global audience), but there's plenty of life left for desktop applications.
No in that web apps cannot properly deal with large amounts of data. The DOM tree is not the place to be reading in large amounts of data...watch your system memory use while reading in large DOM trees...
bad things that infest the web. What you will see is unavoidable exploits that will nail people all the time just surfing around. It doesn't matter if 99 out of 100 pages people visit are benevolent, it's that 1% (that will happen) that will cause no end of problems for people. And you won't be able to stop them. How many times a day do you want to have to update your browser and clean out your computer from the latest pushed exploit? That's where this is headed.
It is wonder how IT industry hypes things and technologies - ok, it's mabye for cash in from clients, but hey, let's be honest here.
AJAX is NOTHING particilary new. New is a TREND of creating stylish, clever, user friendly apps in Web. And it is where AJAX comes into play nicely.
I have a PLEASURE (yeah, for apps there is such word too) to use Gmail or Google Maps. Why? Because it is "user friendly, working app". I don't care how beatiful looks NiceMail (big crap which usually points out user's bad taste to big shiny things), I need functionality and elegance.
I thing it is more new trend in thinking. Technology have been there for very long time.
About threating Windows desktop - I don't know. It will change app landscape for sure, giving Web Services and Web based apps second breath. For example, I use Evolution exensivly, but for common crowd Gmail it is what they want. And it works and looks elegant.
It certanly gives food of thought to Microsoft because this time, they have to figure out what people actually wants - not only claiming that "our way is also your way".
user@ubuntubox:~$ stfu This server is going down for shutdown NOW!
I'm not sure I understand. I'm not trolling here.
If it's, as some say, "inherently insecure" to tie a browser closely to an OS, how is it better when you're browser is the OS?
Wouldn't this provide extreme heck-potential?
If Nalgene water bottles are outlawed, only outlaws will have Nalgene water bottles.
Try reading a MB of data into a DOM tree...this platform is not optimized for dealing with largish data sets. In order to have the interface of the browser really be able to play with data in an app context, we would need something like a (yikes) ActiveX model that allowed some interaction with the local system. Making that interaction safe is probably impossible.
AJAX has about as much chance of replacing/supplanting the desktop OS as software patents proving to be worthwhile. It does answer to a lot of the problems of client-side apps, but is hardly the end-all and be-all of browser compatibility. The *only* way to do that is to have the application run inside of an independent player/interface like Java or Flash.
Javascript/AJAX is tied to stock HTML controls, has no real persistence (and don't say 'cookie' unless you want to be glared at), is most definitely not browser-generic, and can (and will) break as new Browser versions are released with 'fixes' that break the numerous workarounds that AJAX has to rely upon.
Now, I realize Flash has never been taken seriously as an application tool, mostly because the entry level for using it has left every tool with a mouse and too much free time the ability to annoy us with pointless splash screens, unusable interfaces and incomprehensible navigation systems, and also because it was hair-rippingly slow, had poor text rendering, and lacked good UI components.
But this is changing. With their new product, the vapidly over-priced Flex, Macromedia has introduced the world to a workable, streamlined and semi-intelligent IDE/framework for developing decent browser applications. More importantly, it has shown more industrious developers that they can use it to develop their own frameworks, and both together promise to make Flash a much stronger (but still very, very unlikely) desktop killer. As to the other problems, between Flex and the forthcoming Maelstrom product is much faster thanks to bit-caching, text rendering is very good, and the UI component set has become very solid and much more comprehensive.
The most important note here, however, is that until a browser app has access to system-level resources, it will never perform as well or be as powerful as a desktop application except in the certain roles like data management/manipulation or user interaction.
Just as a footnote, the reason I wouldn't put Java up front is because the development time for Java apps is way too long for the type of application that belongs in the browser as opposed as to a desktop application (not troll-bait, just my opinion).
------------
Look, over there, another for-cristsakes menu!
Google uses Gmail exclusively for their email. Fast, easy, searchable, and they don't have to pay anyone else for it.
The CB App. What's your 20?
Just plain "Ajax" (which in my mind still reeks of a cleaning agent more than a web technology) does not seem to be enough to displace desktop apps, as the interfaces built with it are still clearly web interfaces - albeit more responsive ones. However the combination of asynchronous javascript, XmlHttpRequest and XUL (tutorial can be found here) seems to have more of a chance to provide a native application look and feel to a web-based application. A well-known example of such an app is the Amazon.com browser, give it a try if you have not done so.
--frank[at]unternet.org
Most of the standard JS packages emerging (qooxdoo, rico, etc) provide an abstraction layer between browsers. Yes it sucks that you can't bypass them, but at the very least there are solutions. Until we get standardization, we are going to get more heavyweight abstraction code :(
A few month ago, my company got a job to reverse engineer a windows app. But, being a design firm, I was instructed to replace it with a web app - even though from a programming perspective, it would have been the wrong approach. The GUI was very complex, making very heavy use of excel-like spreadsheets, and it also had to run very fast because it was used by very experienced sales people to quickly create large and complex orders while on the phone with clients they had been working with for several years.
I figured I could probably do it, but I warned our client that the end result would probably be significantly slower than their current application since web technologies simply could not be expected to run as fast as native windows applications.
However, as I began developing the app, using PHP5, MySQL, AJAX enabled forms, and an AJAX enabled excel like grid from a company called eBusiness; I was quite surprised when the demo's of the screen turned out to be not only as fast as the original app... but actually quite a bit faster.
Although I invested a lot of time putting together the middle ware that made this possible; at this point we can put together a new screen with several data-aware grids that easily interact with each other in a fraction of the time it would take me to do the same thing in a language like C#.net.
The caveat in all this is that I've had to restrict the browser to IE, because in addition to needing a few elements of the IE DOM which aren't yet available in Firefox; merely adding code to fork the functionality based on the browser used is enough to make the app slower than a native windows app. It also would not run as fast if we had to use PHP4, which is not nearly as object-oriented. For us, this isn't a problem right now because we aren't really building a public web site, but simply replacing an internal system where we can control everything we need to on both the server and the clients. But the next phase of the project will be to create a public interface where the company's clients can enter their orders in themselves; and we certainly can't count on them all using IE, nor can we necessarily find a web host using PHP5 or MySQL5.
The company that makes the grid says their coming out with a cross-browser version soon, and I feel pretty confident that by the time the site goes public, there will be enough hosts that have the server elements we need, or at least most of them. But even if that's not the case, no one expects a public web site to run something as fast as a native windows app right now, so it's not exactly a deal breaker.
As far as feasibility of replacing Windows apps with AJAX apps - I'd say from experience this was in fact a very realistic scenario. I'd say this because A)The restrictions needed to accomplish this even now are slightly less than the restrictions need to ensure a native windows app works perfectly across an entire enterprise and B)because the people with the skill sets needed to accomplish this are more numerous, and less expensive than the people would possess the same mastery of writing a windows app in any given language. And looking at some of the technology decisions that Microsoft has made when it comes to AJAX; I'd say they're fully aware of this too.
If you find yourself going down this road, my advice would be to use only the bare-minimum of Microsoft-only technologies you have to get the job done; even though you'll run across a lot of things available from MS which will make the task slightly easier. MS, being just one company (and a profit driven one) has a tendency to change things around a lot faster, and a lot more drastically than web standards will change. So if you don't want to find yourself getting a frantic call from a client who's whole enterprise app stopped working because their version of IE just got "upgraded" during a Windows update, keep your crucial functionality tied to web standards which change and a much more stable rate, and for non market-driven reasons.
Atlas, Microsoft's AJAX equivalent,
.NET toolkit for building AJAX applications; the applications themselves will be AJAX applicatiosn.
As far as I can tell, Atlas isn't Microsoft's "AJAX equivalent", it's a
Poster after poster in this thread is using the same ridiculous subset of client-side nonsense to belittle Ajax (which is actually a great idea with a lot of potential - much of it already proven):
/. ????
* "user experience"
* "client side"
* "you need a binary app"
* "store my data locally"
Is this
Or did I just wander into MSDN by mistake?
Get a clue guys - this is not 1995, it's not about "apps" anymore, it's not about the "user experience", it's not about "personal computing"
This is not the 1980's, this is not the 1990's, this is half way through the first decade of the 21st Century
Edge level, client centric stuff went out the door 7-8 years ago.
The world changed way back then, but maybe you didn't notice.
Fact is, the major productivity boost provided by IT today is to push the data entry task from the call center (where the clerk transcribes the words of the customer via keyboard into the corporate data systems), out to the customer who does it for you.
Photoshop/Word/etc are completely irrelevent to that world.
And that's where the real money is (and always has been)
Well, we didn't use AJAX, it wasn't 'invented', but, we used a popup window for cross site scripting to collect data for Addresses, insurance details and all kinds of other personal information.
We were developing web 'applications' using XSL and Javascript (no server side interface scripting), for applications like the police looking up the insurance details of a driver at the side of the road, verifying their identity and checking that the car was really taxed and insured. We also developed web applications for looking up credit histories, car histories and that kind of thing, each lookup was billed for so the user had the option of requesting address information, previous address information, and demographics for the area.
If you think that you can make a halfway decent desktop using Java (much less Javascript), you're nuts. Deliberately inflicting pain on the users who get victimized by this scheme is a bad strategy.
I know it's not that popular around here, but web interfaces are so hard to make that it's a miracle if you get anything that looks half-way decent. Most desktop apps rely on sophisticated interfaces that browsers just plain can't handle. Sure, 100 of the smartest people in the world at Google can come up with something that works, but it still looks like a web page!.
People don't want to work for any amount of time on an interface that looks like (or IS) made in html. Sure, I'll type in this stupid "text box" while I get ready to post this, but I'm not going to use it for five hours, never mind ten months. To try to make Open Office in a web browser is just swimming upstream.
Interface design is hard enough as it is. As a developer, for five times the work, you'll get a product that looks like half of what it would on a desktop app. Besides the fact that you have to stuff your web app INTO ANOTHER PROGRAM (the browser) to get it to work (which makes it just as much a "platform" as any other), web standards suck for design.
Web standards were designed to separate information from presentation, but then they never really bothered to come up with a real presentation mechanism that was as powerful as the information standards. In other words, this dynamically widthed paragraph of indeterminate font, color, and size has a word in it that is "strong" which makes it look... like however it looks. Fracking web design.
Good luck taking over the desktop.
not just for cleaning stubborn stains out anymore?
With the addition of SVG to browsers, AJAX should become even more powerful.
However, while what one can do with the platform now is great, the amount of complexity and crap in the underlying standards (in particular, Javascript, DOM, CSS) is mind boggling, as is the fact that it takes something as bloated as IE or Firefox to display it.
blah blah blah network computing blah blah blah
Once again marketers are laughing thier asses off. Everyone give yourself a gold star!
blah blah blah thin client blah blah blah
blah blah blah no deployment problems every blah blah blah
blah blah blah silver bullet blah blah blah
Do not do this; it is broken.
If you want to use the XMLHttpRequest object, then the correct thing to do is to see if the XMLHttpRequest object is available. The browser version has nothing to do with that.
If you see me using Internet Explorer 6.0 and say to yourself "oh, I can use XMLHttpRequest because Internet Explorer is on my list of web browsers that support XMLHttpRequest", then your code is going to break when I have ActiveX switched off.
If you see me using FooBar 1.2.3 and say to yourself "oh, I can't use XMLHttpRequest because FooBar 1.2.3 isn't on my list of web browsers that support XMLHttpRequest because I've never heard of it", then your code isn't going to use XMLHttpRequest, even though it might be a simple shell on top of Gecko.
In both cases, you've done the wrong thing. The correct approach is to check to see if the object is available ("object detection" instead of "browser detection"), because that's what really matters. Browser detection is a fragile, archaic practice that competent developers stopped using back in the 90s. If you see it in a tutorial, then it's a good way of knowing that the tutorial is shit and you need to find a better one.
It isn't stupid.
I use my web browser for E-Mail. I use it to buy stuff. I use it to read the newspaper. I use it to manage my business (a website!).
The things I don't use a web browser for are the occasional spreadsheet or document (OpenOffice.org/StarOffice), or editing graphics (GIMP).
BTW, I use UNIX/Linux. I have Windows 98 handy for the occasion it is useful (mostly bargain-rack games), but for nearly all my time on a computer, I use absolutely no Microsoft software. Even my web host runs Linux. My firewall runs BSD. One of my workstations has Solaris on it.
Microsoft is becoming irrelevant.
In my family, nearly everyone uses Firefox. A couple have started using OO.org.
Again, Microsoft is becoming irrelevant. Longhorn can't save them, because open standards are killing them. For Microsoft to survive, they will have to become modest and really adopt open standards...can they?
I use (php) html with javascript which makes reloads automaticly, if I made my whole site this way, I could easily update all content if I'd like.
And no, it will not replace anything.
It's about time Web "programmers" (too long a title swiped by HTML formatters) realized that URLs are just pointers. To (MIME) typed data, with varied fetch protocols. It's a measure of how badly designed was HTML: *cough*Andreesen*cough*.
His "circular reference oops" was a terrible reason not to use Berners-Lee's advice to use URLs as generic pointers to any embeddable data object. Any good programmer could have cut the recursion, merely by allowing only a (configurable) depth in the renderer, terminating in a hyperlink, rather than a fetch. The disease can be easily detected in the blowjobbing comment by Giza, the "Instructor": because Andreesen got lucky with Mosaic taking off enough for Jim Clark to pick it as "the next big thing", his design travesty was good, even though it was totally broken.
It's 12 years, and millions of hacks, later, and we're finally talking about "AJAX" apps that can get any data, any type, and insert them anywhere in a single document. Calling graphic artists "web designers" gave us a generation of deeper bad designs like half-assed IFRAMEs. How long will it take before we push AJAX JavaScripts back inside the app frame engine, so only a little bit of presentation tag code can lay out a GUI with dynamic data, accessed from and processed by distributed hosts? That was Berners-Lee's design for HTML/URL/CGI, back in 1990. Which is why Berners-Lee got knighted, and Andreesen only got rich.
Flaming Andreesen aside, we've now got "thin" browser clients that are as fat, in their way, as were the dedicated clients to proprietary client/server protocols before the Web. Sure, they do quite a lot, opening up the vast array of content, services and people now more easily connected to the Internet. But we're still trapped in the "browser". Imagine if all Windows apps ran in the context, and GUI, of Windows Explorer. Or all Linux apps in, say, Nautilus. Or every app ran in a panel in the Desktop itself. Using only the simple, static GUI of the enclosing app. Isolated from other apps, other data, any real configurability, integration or further programming by the app "consumer".
"Web services" should be the default for any process on the Web. It needs extra features, like per-call authentication (like htauth/SSL). Their APIs should be versioned and signed for reciprocal authentication of the service by the client. The data should be easily embeddable in any app, a generic remote procedure call. The services should be associated with default logic ojbects for further processing or rendering, keyed either to objects bundled with the local client app, residing in keyed repositories distributed around the Net, or downloadable from the service server. URIs should merely associated with URLs, not merely identical to them, so services/content can be retrieved by name or criteria, rather than by static location (a URI handle, rather than a merely dereferenceable URL pointer).
We've got more "computer science" students and teachers now than ever before. We've got more programmers, designers, architects, IT professionals, infosystem pundits. More depends on this system than ever before, and the stakes of getting more into it, and more people using it, are extremely high. Yet we're spiraling down the same drain that we flushed a generation ago, when we kicked off the fundamental Web architecture (really the ground floor, as per Andreesen's half-blind email to Berners-Lee) with a hack that was never fixed to work beyond its immediate deadline requirement.
Is there any hope that AJAX will become the norm, pushed under an API as simple as HTML 1.0? The Windows apps (and equally mediocre frameworks on all the other platforms) are stuck with their own cultural and legacy requirements baggage. After 15 years of spinning our Web wheels, have we merely moved our architectural tangles onto the Web? Is all of our development, local or networked, doomed to consume 80
--
make install -not war
True, there are webapps like Google Maps which make nice AJAX applications... but when available, I believe people will always enjoy standard desktop applications better.
And I think anyone who has used Microsoft Streets and Trips would agree. Even with running Google Maps on a T1 connection at work, Microsoft Streets and Trips is soooo much snappier, which makes it a much more pleasant user experience.
If M$ ever offered Streets an Trips for free (which they probably can't because of whatever licensing agreement they have with NavTech, who honestly is the real winner in all these map application wars =P, but, I digress...), I think it would be more popular than Google Maps.
Ironically, it is Microsoft's only real innovation for the web in the last 6 years that will seriously damage its desktop monopoly: XMLHTTPRequest.
Mainframe -> Client/Server - The thin client is dead! Client/Server -> Browser - The thick client is dead! The client side o/s is dead! - everyone decides to support Java, flash, plug-ins.. just so we can preserve thick client capabilities. :-)
thin client browser -> thick client browser
- the thin client is dead!
give it another 5-10 years and something else will come along and pronounce the thick client dead again. guaranteed.
Come on people, it is all about horses for courses. Choose the right technology for the application you are creating. Nothing is dead, it is all in the mix. Client, server and network technology is moving to increase capability, bandwidth etc all the time, so we will choose the right combination of technologies based on the app functionality, the deployment environment, the user's capabilities, the engineering team's capabilties and so on...
Cheers
El Gordo
Sorry, AJAX is way too late, Java and the network computer already killed the o/s. :-)
It's not necessarily an XML response, it can be just about anything
Reasons it wasn't widely used:
A good commercial example is ESRI Maps, which used pull technology AFAIK as early as 1998.
So no, Microsoft did not invent AJAX.
AJAX is overhyped. This technology was available for years, and nothing revolutionary has happened. It recently just got a cool name...
1. Closing browser window (or navigating away from page in something else than Opera or DeerPark) kills state of application.
2. It still needs roundtrip to server
3. Still needs HTML+CSS gui, server backend...
Web apps are web apps. AJAX web apps are still web apps, but a little faster, duh.
seriously, I'm not spending any more of my life worrying about that piece of shit
I remember back in the early days of Netscape. I naively thought, "This browser is going to make operating systems irrelevant. People are going to write all of their applications in HTML or more advanced scripting languages, and Windows is going to schrivel up." Needless to say, it wasn't many years more until Microsoft "cut off Netscape's air supply", and Netscape all but disappeared. So when I hear of some new technology, web-based or other, that's going to make operating systems irrelevant, I just smile. We've been there before, and we've seen that.
You're right, of course. I was being imprecise.
Google maps etc. aren't really striking examples. If you want to see something really cool, go to http://demo.atmail.com/. The web interface of their online e-mail client is, I dare say, superior to many traditional ones. It's an incredible example of what a modern Web browser (both IE and Mozilla-based) is capable of.
Apparantly (search for Aias) the proper spelling from greek is Aias, which is much closer to the Iax pronunciation of netherlands origination.
So we can say AJAX will be pronunced after a mispelling of a greek warrior. I think I prefer the dutch pronunciation. Ajax(Iax) the technology for cutting through all those knotty web GUI problems.
Look, Linux is a great OS if you just want to make a desktop with little functionality (i.e. settops, email/web clients, etc) but you're smoking a load of something I've never seen before if you think its capable of replacing the average user's box. When you want do anything beyond the preconfigured tasks that most of "desktop" linux boxes, it takes someone who knows what they are doing to configure and set it up.
My mom can't run her Windows applications on Linux either (and don't tell me to make her fart with WINE, which requries another trip from the "Linux Expert" every time she wants to install something and hopefully it works properly).
I'm sure you'll gain alot of Linux converts by saying they are too dumb to know its "better". I'm not exactly sure, after all the things I mentioned thus far, how they would find a Linux box better for them. Like I said, if you just want a few preconfigured tasks like email/web/music/ruidmentary office work, then there is no difference for many users.
You seem to want to classify me amongst this group of "unbelievers" much like religious zealots do, but I actually do use Linux myself on workstations and servers (mainly servers). I know what its good for and what its not. I don't put Linux on my parent's computers becuase I know it will be more trouble for me and them to use and maintain it. Linux is more of a "hacker" or "enthusiasts" OS, not mom and dad's OS.
Linux isn't the "Jesus" of the desktop computer world.
If someone complains to me about all the spyware & viruses of Windows, I point them towards the Mac. If you're looking for tips on how to make Linux an acceptable offering on the mainstream desktop, thats where to look to copy.
Two things I could not find are decent OSS editable data grid (spreadsheet-like data tables) and collapsable outline (tree) widgets. These are a must for serious biz GUI's.
Table-ized A.I.
Another ./ headline to spread M$ fud. Tell me, if AJAX is set to replace desktop, why only "Windows" desktop. Isn't this this technology, or group of combined technologies a replacement for desktops in general whether its windows, gnome, kde, or any other flavor of it. Frankly, these misleading headlines are really getting outta control.
Back to the topic @ hand, I really think the collective use of well established technologies WILL replace desktops in general but not now. This will inevitably lead to OS's as well as most other applications being service-based and providing ondemand installation of required libraries. Linux already provides capabilites like this. Think, fully automated "apt-gets" or "emerges".
The limiting factor right now is bandwidth and cpu speed for compiling code on-demand. The bandwidth issue i believe is close to resolve right any as Gigabit ethernet (125MB/s) will provide pipes as close to being as fast as your typical UDMA133 (133MB/s) hard drive (even though this is the "theoretical" speed). Fiber-optics is probably even faster.
All in all, I think AJAX is a representation of the future of the applications. Just the method of delivery is currently the limiting factor.
No
AJAX won't take off without a RAD. Is there one? (I am not fond of CLI or simple text editors for programming).
DNA in your Linux: DNALinux
Ajax is commendable on a few points:
U have to make things work straight away otherwise people get annoyed with lots of error boxes everywhere... in that respect its quite a skill.
U have to know a lot, but what programming dictionaries dont require that?
However the differences between skillfully programming in a half finished language ( js ) and programming a realtime, object orientated, hardware centric os, that is linux/windows/mac... is somewhat of a crude comparison.
If you want an Ajax-type web application you're much better off using Flash.
It has the same advantages of Ajax - the ability to update only the parts of the page that need to be update and can do so asyncronously
But most importantly it has a debugger and integrated development environment.
Although there is a debugger available for Firefox, there is none for the other browsers and you will have to debuging all that complicated javascript by trial and error.
Also, the DOM is the least compatible part of the browser, so you may have to write a seperate script for each browser. Your Flash application will work the same way on every platform.
I've enjoyed reading through the "AJAX" sucks posts. I find the arrogance expressed interesting. "You'll never port Photoshop to a web app". Folks, what, exactly, is the difference? It's all just pixels on the page. You click on things. You move them around. It saves data to some manner of file. It's true that the toys aren't there, but every passing day, this becomes less and less true. The tools are being built as we speak. Sneer if you want, but web if the best you can do is "you can't make photoshop", you're in trouble. Number one, most people don't use photoshop, and number two, you can't make photoshop yet. Sneer while you still can, guys.
"I don't want to achieve immortality through my work. I want to do it by not dying." -Woody Allen
Microsfot invented "AJAX" years ago. It wasn't used too heavily other than on forms, where one could reload form information based on input data to prevent a postback (loading states or provinces when a country value changes).
Now that it finally received a buzzword, it has taken off like it is sliced bread. Two Google applications are what did it. Big deal. Mapping software had been on the web for years, but their interface was slower and clumsier.
AJAX will make web tasks easier but it won't replace the desktop. Java applets won't replace the desktop. Simple DB front-end applications are good web candidates, but not arger applications such as office suites, phpto editing, CAD, audio/video, etc.
So really it's just the cheap, simple applications that will be replaced, or actually already are.
Using Javascript to built spreadsheet-like and other calculating applications is the biggest PITA ever. Having to use the DOM to add a row to a "grid", walk the DOM or directly access the HTML elements is overkill. Client apps are similar but is isn't hacking multiplke technologies together and having to write for multiple browsers.
With XForms and XAML, that combination with AJAX may make it easier but the current development platform for Javascript, DOM, CSS, XHTML, AJAX, and a server backend all taped together is insane.
Special Hazard Precautions for AJAX:
INGESTION: NAUSEA, VOMITING, AND DIARRHEA. EYES: EYE IRRITANT UPON DIRECT CONTACT. SKIN: MAY CAUSE SKIN IRRITATION UPON PROLONGED CONTACT. INHALATION: NONE UNDER NORMAL USE. PROLONGED INHALATION BY UNORTHODOX USE (NON-WETTED) OR ABUSE (SNIFFING) COULD PRODUCE LUNG DISEASE (SILICOSIS). N/K
Emergency/First Aid Proc: INGEST: IF EATEN/DRUNK--YOU MAY THROW UP. DRINK SIPS OF WATER/MILK. IF VOMIT CONTINUES, CALL POISON CTR/DR. EYES: IRRIT. FLUSH W/WATER 15 MIN. IF IRRIT PERSISTS, CALL POISON CTR/DR. SKIN: IRRIT. REMOVE WET CLOTHES. FLUSH W/WARM WATER 15 MIN. IF IRRIT PERSISTS, CALL DR/POISON CTR. INHAL: IF INHALED, MAY COUGH. TAKE SLOW DEEP BREATHS OF FRESH AIR, SIP WATER. IF COUGH PERSISTS, CALL DR/POISON CTR.
Here's the entire Ajax information sheet, with more warnings and hazard precautions.
-Don
Take a look and feel free: http://www.PieMenu.com
Take 5 minutes and compare Google Maps (MSN Maps, or whatever) to Streets and Trips. Not even close. Not by a mile. Nor will they ever be.
XML: Taking regular data, encapsulating it in HTML style tags for no particularly great reason, other than to make human-readable data out of data that will only be read by a machine anyway, and to increase the size of the storage required to store that data by 2x-4x. :-)
"Champagne for my real friends - and real pain for my sham friends!" http://ericblade.postalboard.com/
Flex was inspired by Laszlo (in spite of the fact that Tim O'Reilly is confused and mistakenly thinks it's the other way around).
OpenLaszlo is an excellent open source web programming language based on XML and JavaScript. Your class declarations, object instantiations and configuration constraints are all defined in XML, with JavaScript expressions in attributes and JavaScript methods in text content.
OpenLaszlo strikes an elegant balance between XML and JavaScript, so Laszlo code is quite clean and easy to read and maintain. IBM has developed an Eclipse IDE plug-in for creating Laszlo applications with drag-and-drop and XML outline editors.
You can see for yourself how easy it is to develop interactive graphical web applications in XML+JavaScript with OpenLaszlo: Laszlo in 10 minutes. You can actually see, modify and run Laszlo scripts over the web, to learn how it works.
If you like Laszlo and want to learn more, then you can download the entire Laszlo source code, documentation and examples for free, and start developing your own Laszlo applications, without paying any exhorbinant licensing fees like Flex requires (on the order of $12,000 per server).
-Don
Take a look and feel free: http://www.PieMenu.com
There are too many variables involved. Connection speed, security software, spyware, network outtages (at multiple ends), web browser versions and types, etc, etc. Worse, things will work ok on unsupported platforms (firefox/opera/safari) but not completely, and your customers will whine 'but it always worked before' at your tech support department when some change you made breaks things (or when the customer tries to go beyond the basics and can't understand why advanced features don't work on an untested/unsupported platform).
At least right now, it's just too hard to control the development platform for web based apps. Now remember none of this counts when you're in a controled environment (where you can drop a shortcut to the web based app that runs a specific version of the browser and plugins if you want). But as of right now, web based apps for the masses are an unreliable mess only good for low volume or minimal use.
Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
... desktop, until some company comes out with a 'browser' platform which completely ignores all of the BS recommendations by the W3C.
By which I mean, they don't even *try* to conform, nor do they pretend to conform. This mythical company will write a completely new NETWORK CENTRIC platform. Note I do *not* mean 'web based'. The web is complete shit. Look at it for gods sake! People like to pretend it is different or somehow better than ('x'), but I've been here since BBSs -- I promise, if anything you get less bang for your hours worth of 'development' now than you did when HTML 1.1 was the standard.
Until someone tells the W3C to piss off we won't be seeing anything truly innovative again -- the standards bodies work at maybe 10% of the rate of technology innovation. It just doesn't work.
Which isn't to say I don't belive in standards! They are *required* for such a wide, wide world to play together. But we need a standards body that either moves its ass like results matter, or gets the fuck out of the way.
Case in point: The 'world wide web' had 100% static pages until sometime in the past few years. You couldn't do so much as add TextBox_A.value and TextBox_B.value without reloading a page.
Even now you have to do post and reload with most methods of web development. What a joke!
Anyway, here's to hoping for a new 'internet platform' which is just soooo good that we all flock too it like awed sheep.
Cheers,
I can't believe nobody has mentioned XAML yet. Doesn't anyone remember hearing Miguel de Icaza ranting and raving about how XAML was going to spell the end of cross-browser, cross-platform web applications as we knew them, because everyone would be writing stuff that requires a browser that has the entire .NET API embedded inside it?
It's becoming very clear that AJAX is going to stop XAML dead in its tracks. Microsoft was pushing this whole "rich vs. reach" thing, but with AJAX you really can have it all. No need to restrict your user base to Windows XP or Vista in order to get rich controls in your web apps.
I think that's the more interesting story here. The monopolistic Windows desktop isn't going to disappear overnight, but the continued existence, improvement, and increasing pervasiveness of web applications will continue to make the non-Windows desktop more viable and widespread. (Click on the link in the previous paragraph to read a longer piece on why this is the more interesting story.)
Tired of FB/Google censorship? Visit UNCENSORED!
It's not really correct to state that AJAX is good for Internet or database (meaning network information) access apps. A better model is that AJAX is good for apps that DON'T require X, Y, or Z, for appropriate values of X,Y,Z.
Plain old executable client side apps written in C can access network information as well as any AJAX app. But they can also do anything else your client OS allows an app to do. You can have a full-featured, fully interactive user interface, local data storage, high performance, inter-app communication, etc., in addition to your network info access if you write your app in C (or some traditional equivalent.)
The only advantage an AJAX app has over a traditional app is in installation, which can be considered an almost instantaneous, just-in-time network install. ("Cross platform" is not an advantage since writing different code for different browsers, which we still have to do, is just like IFDEF'ing your C code for different OSes.)
I say installation is the only AJAX advantage, but it is a HUGE advantage, so much so that most app developers would love to have it. Well, they can have it with AJAX, but only only if their apps DON'T require X, Y, or Z.
What I'd like to hear from an AJAX expert is a list of what you CAN'T do well or *reliably* with an AJAX app--based on experience, not guesses. It seems that all of the successful AJAX apps I've seen have had UIs that were so simple that they were just marginally more than a static HTML page.
"Those who have never entered upon scientific pursuits know not a tithe of the poetry by which they are surrounded."
Actually, my Konqueror doesn't work with google maps (though it supports JavaScript). I don't know whether the Konqueror implementation is at fault or whether Google tries to use non-standard features.
Yes, as far as business apps go, it can all be done via a web browser.
Choice of platform is irrelevant. This is why MS is so hell-bent on making IE the "web standard" and is so dead set against competition in this area - even though they give it away for free.
Control the browser and you control the web-apps.
smash.
I run: Windows, OS X, Linux, FreeBSD. Just because you have a hammer, doesn't mean everything is a nail.
Since when did "AJAX apps work in any browser out there"...?
Someone should have told Google they didn't need to write the Basic HTML interface for Gmail, then.
Also, unlike DHTML, Java applets are also limited to a square box on the page.
No, using some Javascript you can make applets always use the complete browser window.
Somebody sure has a boner for getting programs away from users.
And it's not the users.
Look, it didn't work 30 years ago because it was a bad idea.
It didn't work 20 years ago because it was a bad idea.
It didn't work ten years ago because it was a bad idea.
What makes you think the idea's "time has come?" What, is there some new trend to accepting bad ideas that's changed recently?
Sure, it's a fine (and old) idea for corporate intranets, where one owner owns and maintains it all. Similar systems have been in place for years.
But it's not fine as a business model for the whole industry, but some people keep trying to make it so. Usually the people who own the servers.
Will AJAX Threaten Windows Desktop?
Set the wayback machine for 1988 and let's ee what we find...
Will The Web Threaten Windows Desktop?
Will Java Threaten Windows Desktop?
Will Linux Threaten Windows Desktop?
Will Open Source Threaten Windows Desktop?
all of which came true in the sense that they threatened to some extent, but none have gone as far as to actually topple the Windows Desktop. Embrace, extend, and extinsuish has always prevailed.
Isn't someone supposed to declare, "You fail it!"
Uhm, why is it considered an automatic rule that it must be IE only? Why not just as easily Opera only or Firefox only? The reason why IE only over those other two is so bad is because IE is the one that has more security holes in it than any one person can even count. On the other hand, Opera is the browser embedded in most things that use embedded software, and Firefox is the most widely known and supported free browser you'll find, both of which are FAR more secure, efficient, and less likely to crash. If the boss says "give me results" is it truly the correct answer to give him a solution requiring him to use buggy software that will crash on him far too often? It's not like you have to teach someone to use Firefox or Opera. As someone else said below here, if you change the icon, maybe toss in a little theme, the user won't even know the difference half the time...
Similarly, back to the original subject, part of the reason these things aren't likely to replace the desktop in any near future is they rely too much on proprietary code. In the example of gmail, it wouldn't even WORK on many browsers at first. They've had to write code specifically for those browsers. And don't bother with the "they just want results, IE is good enough" style argument because the very moment you take away all choice from the user, said user finds something that lets them use what they want instead -- sometimes even just on principle when they really did just want to use the same thing it required, just so they have alternatives.
Anyway, web applications are taking over in the business world and probably will end up replacing those cheap little console (sometimes even actually dos) programs tossed together for companies. It's just so easy with things such as Oracle, which comes with it's own little simple application builder that uses Java (aka 100% browser compatibility, not IE only or some crap like that.) However, replace windows entirely? I don't really think that's going to happen. There's still too many applications that won't ever be 100% replaced. For example, sure there are online calculators, but, who among us would rather just type calc (some keyboards even have a calculator key) and use the great little calculators that come with the os? Too much trouble trying to scroll around some page to an applet and then use that.
Ajax has been around a long time. All it is is xmlhttppost. We messed with this at least 5 years ago. It changes nothign. The only thing it allows is a partial refresh of a web page. There have been and currently are many ways to accomplish this. The only reason AJAX is even news is because now you can do it in a mozilla browser. Old news, borring, stupid suggestion.
I think AJAX http://en.wikipedia.org/wiki/ might replace desktop if it is bundled as kernel module.
Slashdot = Sarcasm
This trend is a good thing. Of course we want to do the kinds of things this technology can do. But why did it take us so long, and why does our 'industry standard solution' suck so very, very hard? Client side scripting fetching xml off servers which think they should be serving hypertext documents. Client side scripting manipulating a DOM tree which is supposed to be parsed off the documents the server isn't serving, to construct a parsed representation of a textual representation of a displayed document?? I couldn't sit down and design a worse solution than that. It's like something out of Kafka.
So why is it our only choice? The browser wars. We could have had this in 1995, but the browser became such a battleground that everyone withdrew from it to the server, where their code could run in a known environment. The safe thing to do was to leave just as little as you could to the unreliable browser and it's crappy HTML interface. This is why the browser wars stopped, because everyone but the browser makers withdrew from the field. Now some people are venturing back there, and with IE7 coming out, I'm guessing the wars will be on again. Outlook 2008 ain't done until "GMail corporate edition" won't run.
Any one of a number of technologies sabotaged by one or another of the major vendors could have done this better years ago. X, Flash, and Applets spring to mind, and I'm sure there are literally hundreds of others moldering around in commercial and university research labs out there. This is 2005 for christ's sake, the height of the 'information age', and we're all wetting our pants because google can make a map scroll on the web? Just goes to show how low the health of the technology this industry is based on ranks in the priorities of those with the power to change it. Why struggle to keep up with innovation? Much cheaper to make sure it never happens. Any internet you like as long as it sucks.
"And I wore an onion on my belt, which was the style at the time..."
Please give credit to Grandpa Simpson when you quote him.
And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
1. UI constantly flashes/blinks while refreshign. Ex: switching between folders, watch the tree. Or when you popup a new window (like send).
2. Right click doesn't work all the time. Folder tree has a "right click for more options" but it doesn't work in Firefox.
3. Lack of good progress indication. Waiting and transferring messages from your browser are not good indicators.
4. Awkward attachment interface.
5. Incorrectly rendered menus. Click on the "Size" menu for "new message" and in Firefox the text renders outside the menu's border! If you go to another window while the menu is "popped up", it doesn't go away!
6. Bad button sensitivity. Undo button is NOT greyed out when you can't undo, bold button does not looked "pressed" when you are in already bold area (it has a non standard L&F border around it)
7. Horrible "insert image" interface. Just use it with a local image.
8. Can't drag and drop local images (just remote ones).
9. Browser right click menu. What do the browser actions mean in the "new message" window (back, reload, etc? they don't make any sense).
10. Incorrect window titles. Some of them just say "Mozilla firefox", and they don't change as I type the subject header line.
11. Are there any dialogs in this app? No dialogs that stay on top of application windows (look at about dialog), no modal dialogs either.
12. I can't use it with other mail servers. The is the worst offense when compared against other desktop mail apps.
There's more, hey, it's not a bad app, but it doesn't really compare against even most basic email desktop client programs. Maybe you meant to say you like the icons or something?
- sigs are for wimps.
I can imagine eWord application. It won't be as rich as desktop MSWord but what features do you use on daily basis? Not many, right? And I'm sure that those features can be implemented using the on-line languages like XUL or XAML...
It would be great to have my own on-line eWord accessible from anywhere that is able to export or sent by e-mail any document from my on-line doc database... It is not a sci-fi. I think the eWord future is now...
Well, I've got to get back to work. When I stop rowing, the slave ship just goes in circles.
If they really wanted to challenge webapps, they could allow non-Microsoft applications access to the deployment mechanism. That way you could have a single OS which auto-updates every application on-demand, which would be worth its weight in gold^Wcode.
Like this?
A house divided against itself cannot stand.
Er, wasn't Outlook Web Access (introduced back in the late 90s) one of the first AJAX applications. I know it's all very trendy to go on about Google and AJAX but let's not forget good old MS the great internet pioneers!!
Well, to send your 5 bytes of "ROFL\n" example, the "good old no frills plain TCP communication" comes with > 40 bytes of headers as well (TCP and IP). That gives at least 800% overhead even without any kind of application protocol, so arguing that TCP/IP is "cheap" is to stretch the facts a bit.
:-)
If you're running servers that are to busy to run with standard application protocols (HTTP), maybe you need to drop the protocols below as well?
It's in the objects, properties, methods and event models for browser / DHTML specific javascript "classes". Javascript is standardized and both Microsoft and Mozilla follow the same spec. Please keep the aspects separated since it confuses people otherwise and leads to nonsense discussions.
What, like Jabber?
I agree with a lot of what you're saying (as per usual), but I think you're looking at it from the wrong angle.
Does AJAX work on all browsers? NOPE. But MS Word does not on all computers. Or even editors. That didn't stop it from becoming a standard that is very important - and has in fact made people switch platforms. AJAX allows you to switch to a cheaper platform with basically no retraining. Linux + firefox isn't much different from windows + explorer looks and functionality wise if your apps are all on the intranet.
AJAX is "good enough" and "fast enough" to replace maybe 80% of commercial software apps. Intranet apps. The timesheets your workers fill out. The Petty cash forms. Think about the administration teams of offices.. and how many offices need administration. It is easier to maintain and upgrade versions of these apps for your systems administrator.
I take issue with this, mainly because I don't understand what you need to send over the network that makes an AJAX app slow?
Yes, I prefer local apps. I use my computer a lot, and i want it to feel responsive. No AJAX apps are not ready to replace MS Word. And definately not ready to replace 3d Studio. But the things programmers and other people in niche markets use their computer for is not the thing the majority of users use their computers for.
A desktop application developer will tell you 'No' because there are certain applications, namely CPU intensive applications like Photoshop, that require the desktops computing computer.
Honestly, this argument is like religion and politics. Nobody is going to actually "win" the argument, but we certainly can get good points from both sides.
In reality, Ajax will probably meet somewhere in the middle, but one thing is for sure, web applications are beginning to behave more and more like desktop applications. It certainly does have it's benefits.
Be sure to remember the Programmers Prayer
To me, it's very nice to have seperate sandboxes as we use Wintel boxes for all our operations... It's nice that they do not directly affect each other.
Even though it would be nice with greater interoperability, we use so many different systems anyway (again, too stingy to buy better integrated systems), so I'm Alt+Tabbing to and fro all day anyway. I can copy/paste the most important stuff if needed, so it's no big loss - but that's on our setup.
Well. I must admit It's been almost a year I haven't opened the calculator. Every single calculation I've needed to do I've done in Google using the Google search fields in Safari and Firefox.
It becomes second nature after a while. I've found myself doing "Ctrl-L,Tab,write calculation,enter" without realising I might be using IE in somebody else's computer.
Eduo
AJAX makes pages more dynamic and responsive by alleviating page refreshes, but it still doesn't solve a fundamental problem with web apps versus traditional binary apps. The problem is, events can be initiated by the browser (ie. client) and responses are then created by the web server, but it doesn't happen the other way around: even if an event is created by the web server, the web browser isn't listening. Nothing happens unless an event is triggered from the browser (i.e. user pressed submit button, clicked a URL, or a timed script generates an event). A traditional binary asynchronously-networked app can do this. AJAX is a start in the right direction, but web apps aren't there yet. What I would like to see is true asynchronous two-way communication where either the server or browser can initiate events. The only project I've heard of that might be trying this is LivePage with Nevow (a project based on the Python Twisted web server), but maybe I'm wrong.
The Other Remote Scripting.
There is another way to make dynamical and selective refresh in web pages responding to events, without using innerHTML non-standard attribute and without using XMLHTTPRequest non-standard element.
Only with ECMAScript and the correct use of the DOM model. I am working in a new framework for PHP that uses remote scripting without innerHTML, iframes, Applets or XMLHTTPRequest...Only dynamicaly creating nodes and setting the 'src' attribute to the correct server script.
Client Side-->Event-->javascript:create node "script" with "src"=file.php?args.
The file.php returns all the ECMAScript code necessary to update the page.
All these elements are standard and cross-browser, cross-platform.
XMLHTTPRequest is an element not accepted by the W3C, so AJAX techniques are not DOM compliant at this time. If you want to do web sites absolutely compliant you must use only -in your ECMAScript- elements of the DOM. Creating nodes dinamically and pointing them -through 'src' attributes- to a cgi (php) file that returns the ECMAScript instructions to update the HTML objects is totally standard and don't have the danger of memory leaks due to a bad use of XMLHTTPRequest...
Francisco Arias
Why not just Ctrl-K?