To get this out of the way upfront, i'm probably talking out of my ass some because I'm no expert on any of the technologies I have questions about - but then again if I was an expert then I probably wouldn't be asking these questions….. And as you can see this is long and rambling. Anyway - Google and others (Oddpost, 37Signals, del.icio.us) have shown us the power of AJAX web development, and it's only picking up steam with Yahoo and MSN jumping fully onboard in the next couple months. AJAX is using technologies that have been around for years, but as far as I'm aware, not necessarily in the ways they were intended (which, of course, isn't always a bad thing). JavaScript, particularly, is one of the main engines in AJAX to provide a real-time, client-like feel in a web browser. JS has been expanded and is now quite powerful in combination with the DOM and other browser features, but as far as I know it still lacks the native ability to create many fundamental GUI components like resizable panels, tabs, moveable toolbars, collapsable trees, interactive tables, etc (yeah, i know all this can be hacked together - i'm talking about out-of-the-box ability to do this stuff).But my question is this: If the end goal of AJAX is to allow rich, fully featured, client-like applications to be run in the web browser, is AJAX (JS, XML, httprequest, etc) up to this task, or should someone really be focusing on a brand new language/technology/platform with that goal in mind, instead of twisting JS around until it can do something near what we want. Such a platform would natively and easily do everything AJAX does, but would be designed from the ground up to be developed and deployed much faster and easier, and will provide a richer, more comfortable experience for the end user. Of course as I just typed all that, I realized that was basically what Sun attempted to do with Java, and we all know how that worked out. Java gives developers the ability to create full applications inside the browser, but I doubt I'm the only one here who immediately pushes "stop" or "back" when I see an Applet trying to load on a page. Does the "failed" Java experiement show that it's too late to introduce something like this? (I know Java as a language/platform is alive and kicking, but it certainly hasn't revolutionized the way the general public uses the web) Or was it because Java is just too big and slow, and if someone created something that was as fast as Javascript but as feature-rich as Java could it work?If so, then the question is who? The obvious answers, and maybe the only ones capable of such a feat, are Microsoft and Google. If Google ever produces the fabled GBrowser (or even a Google-branded version of FireFox), they could include this new, open platform directly into the browser. Then they would be free to introduce GOffice or a fully embedded GEarth or any other Gx application using their new language. This could be good or bad for Google, but it would put the ball in MS's court. At first, if people wanted to use GOffice et. al, they would hvae to use GBrowser. Then it would be up to MS to include the platform in IE, which they would fight because it would give users direct access to GOffice, a direct competitor to Office. But at the same time, their IE market share, and their stranglehold on the PC desktop, would start to slip away even further to Google…. And wars would break out because of website/app browser compatability, lack of standards, yada yada yada.Anyways, even if this generates little/no discussion, at least i've cleared some things out of my head. If you want to discuss, please don't let the last paragraph about Google/MS distract you too much - that was just a side comment on the bigger issue of a new webapp platform to replace AJAX.
10/19/2005 11:04:57 AM
If there's one thing we don't need, it's another Java.I think the main thing is that javascript is something that works, sort of, and most everybody can use it, and so even though it's super ghetto, developers and web designers will take advantage of it until something better comes along.
10/19/2005 11:52:07 AM
AJAX has showed some real promise, and I hope it matures as some people have forecast...Java needs to die a quick and painful death. What I would really like to see happen over the next few years is a massive consolidation of communication networks, or at least the development of a SINGLE client that can completely handle each and every protocol that's out there (don't say Trillian, it's not free and it doesn't fully support AIM/MSN, nor Skype). Also, as soon as Firefox fixes it's memory leak and includes a way to switch to the IE engine within the app, I believe the browser situation will be solved once and for all.I guess what I would like to see is ONE app that can perform each of the three main things people do when they're online - website browsing, real-time communication (chat, voice, video), and near-realtime communication (email, message boards). This application would be completely compatible with all protocols, web sites, email services, and so on, and allow for as much or as little customizability (complexity) as the user wanted to deal with.
10/19/2005 11:50:39 PM
why would any sane corporation without piles of cash want to maintain AJAX code 5 years from now? It's simply hacks layered on top of hacks layered on top of browser platforms that are incompatible and constantly shifting. You need mature libraries that abstract browser differences and dom differences to even start about maintaining something cheaply over a long period of time.Nevermind that all web app libraries are shoe horned into a protocol that was never designed for web applications; the problem of state management is some seriously niggerish shit. Add separating form from content. I would hope that someone would start to come up with new protocols that would handle these fundamental problems and make web dev less of a clusterfuck.
10/20/2005 12:48:25 AM
We have to use Javascript because it would take about 2-3 years to have any newly introduced features be available on the majority of our platforms.Using Javascript for asynchronous socket calls (aka AJAX) has been done for years, but is just now starting to get a lot of hype as people are breaking the mold of discrete web service send/recv calls. It will take more developers now to make application after application, so we can expose common pitfalls and develop patterns and standard methods of architecting applications.We can do better, but it won't come overnight.
10/20/2005 2:23:38 AM
10/20/2005 5:24:19 AM
10/20/2005 9:23:40 AM
10/20/2005 9:59:53 AM
making that assumption is counterproductive. If you do, the short answer is yes to AJAX. What else is there? What else has there been?Frankly, your business assessment about the viability of browser/http alternatives is dubious. If someone builds a superior protocol and platform for the right price, flexibility, and accessibility, developers will come. The internet is a very fluid place and users don't give a fuck about what's running underneath, just as long as it works.
10/20/2005 11:33:18 AM
sure - that sounds great. If Google/Yahoo/MS want to create a new Internet protocol to deliver this content, i'm sure they will. And maybe that is their long-term plan. But to get eyes on their products in the short term, or next couple years, the most logical avenue is through the Browser since 100% of PCs have them now. So maybe in the shortterm, Google will use AJAX with all its problems to deliver content through the browser, while in the background they create an entirely new form of communication that they'll deliver in a few years.
10/20/2005 12:07:15 PM
Java != JavaLiveScript .Besides, haven't you guys heard? The internets is about to be broken.
10/20/2005 12:15:02 PM
i don't think anyone is confusing JS and Java here. But yeah, "the internet is about to collapse" has been one of those "in the next 2 years" things for about 8 years now.....something I meant to add to ^^^, though, is that while "developers will come" to build on a better platform, that's not the point. Or maybe it's a small part of the point - there needs to be people to use the new platform/protocol. And that goes back to my point that right now, 100% of people (or personal computers, at least) have the basic internet browser at their disposal so that's why AJAX can be developed and rolled out right now with assurance that at least 90% of computer users can use it. And since MS has basically full control of what natively goes into the OS, any new platform be introduced by a 3rd party will have to be installed, maintained, and upgraded by the consumer or user. Once again, Sun/Java showed that that is a very very hard, if not impossible task to ask of the basic computer user. Maybe it would work if the new platform was 1) easily installed, like IM or something, and more importantly, 2) had a viral effect, again like IM, where it spreads faster and faster the more people that join. i.e. A person will "join" (download, install, whatever) because other people do it and it makes things easier on all people if all of them have "it". anyway.... i've exhausted my brain on the topic and i'm not really sure what the hell i'm talking about any more....
10/20/2005 2:27:54 PM
^users coming is less of an issue with new technology because not as hard to convince users to DL something for new functionality as opposed to downloading something to replace existing functionality.Hence, any new platform would need a couple of killers apps to get the ball rolling. For example, a high quality multiplayer game. It's easy to see how developers would want to follow along if it actually were easy to make an internet game, and it's easy to see how users would want to download something in order to play a game.It's fairly easy to imagine other killer apps if you don't have to consider the limitations of the current frameworks.Obviously I can't quantify which tendency will dominate -- developers coming or users coming -- but I also think you have downplayed how fluid internet technology has been. Perl, cold fusion, php, javascript, java web start, asp, asp.net, cold fusion, html, css, dhtml, flash, and various plugins. You now have ruby on rails and AJAX. Developers and users are used to change on the internet.Furthermore, you don't need to be a big company to get the ball rolling on changes. As a google fan boy, you should see that clearly. If you develop something thats fundamentally good and accessible, people will start to notice. You don't have to be an MS to get it going.[Edited on October 20, 2005 at 8:12 PM. Reason : dsf]
10/20/2005 8:10:50 PM