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 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.
Whose SO is that, though?
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!)
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.
...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.
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
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.
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
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 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.
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.
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.
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
http://www.phpmagazine.net/18_ajax/categories/52_
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!
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.
Sure. And I happily use my PC with the ethernet cable unplugged. I've been virus-free for years.
I don't respond to AC's.
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.
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
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
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.
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.
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.
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
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
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.
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.
"the performance is simply amazing"
I doubt that, it's taking an age just to load it's website! Quite ironic for a company that prides itself on a fast interactive web application ;)
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.
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.
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.
Really you should try it. They may have a slow web page but that has absolutely no reflection on the quality and speed of their product. It has to be seen to be believed. I have run programs over a modem in 24 bit (16 million colours), full screen 1400x1050, over a modem connection and it was practically indistiguishable from running the program locally! You can also run single apps and not just a full desktop like most other remote display protocols. The advantage of this approach is that you can publish an app on the web that has an interface as rich and as interactive as a desktop app with no complicated browser compatibility problems. The development is greatly simplified and the user gets the best interactive interface across any network and any OS.
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
I can say that thats true, I was in NYC a couple weeks ago and setup NX on my desktop and was able to use my desktop machine as if I was there (the connection I had was about 6 kb/s so slightly faster than 56k, and my laptop also runs at 1400x1050). It really is amazing how fast it runs. The best way to see that is to try it out yourself (either with the evaluation NX server, or the FreeNX server, I used FreeNX).
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. :-)
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.
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.
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.
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
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
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."
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.
I think AJAX http://en.wikipedia.org/wiki/ might replace desktop if it is bundled as kernel module.
Slashdot = Sarcasm
"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.
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.
Why not just Ctrl-K?