agentlion All American 13936 Posts user info edit post |
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 |
spookyjon All American 21682 Posts user info edit post |
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 |
benz240 All American 4476 Posts user info edit post |
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 |
Lowjack All American 10491 Posts user info edit post |
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 |
philihp All American 8349 Posts user info edit post |
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 |
agentlion All American 13936 Posts user info edit post |
Quote : | "It's simply hacks layered on top of hacks layered on top of browser platforms that are incompatible and constantly shifting. " |
yeah, that's pretty much what i was getting at. Seems to me this is not sustainable in the long run, and we're missing out on important more powerful features that a new platform designed specifically for this purpose could deliver.
.... which, unfortunately, brings us right back to Java. It seems to me, though, that something to that effect is inevitable if we truely want to turn the web/browser into a fast, real-time client application platform. It's just that some company will have to learn from the mistakes and downfalls of Java and create something new....10/20/2005 5:24:19 AM |
Lowjack All American 10491 Posts user info edit post |
Quote : | " if we truely want to turn the web/browser into a fast, real-time client application platform" |
well, do we want to turn the web browser in to that? i sure as hell don't. HTTP is simply not setup for web applications. As I said, some smart, enterprising folks will figure out something better than http for programming.
finding some sort of java 2.0, as you suggest, doesn't solve the fundamental problems of the internet10/20/2005 9:23:40 AM |
agentlion All American 13936 Posts user info edit post |
Quote : | "do we want to turn the web browser in to that?" |
well, that's a good point. I suppose I was implying that with the rise of AJAX and programs like Gmail, Maps and the upcoming Yahoo and Hotmail clients, that is basically the goal of these companies - to turn the browser into a platform where programs can be run instead of just looking at webpages.
And that is almost certainly Google's goal. Microsoft has control over the desktop and the OS right now - nobody is going to make inroads into that domain for years or decades. Google is arguably King of the Internet right now (and Yahoo has the same ambitions), and they want to capture more eyes and have people use their services - and they're not going to be content in the future to release small little applications that still run at the whim of Microsoft. So to wrench control of the desktop away from MS, Google's avenue of attack is the Internet, and probably 90% of Internet users use the web browser 90% of the time in all Internet interactions. So if Google wants control over how people use their computers, they have to go through the browser. (other forms of Internet usage include IM, which google is trying to make inroads into also, VOIP, special database access, usenet, etc - all of which Google in putting their fingers into also)
So I guess my initial question was based on the assumption that companies like Google and Yahoo were going to attempt to use technologies to make the Browser more powerful, and also make the user more dependant on the browser. Given that assumption - that it's going to happen whether you like it or not - should they really be focusing on AJAX, or should they be developing something new that would be even better.10/20/2005 9:59:53 AM |
Lowjack All American 10491 Posts user info edit post |
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 |
agentlion All American 13936 Posts user info edit post |
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 |
SandSanta All American 22435 Posts user info edit post |
Java != JavaLiveScript .
Besides, haven't you guys heard? The internets is about to be broken. 10/20/2005 12:15:02 PM |
agentlion All American 13936 Posts user info edit post |
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 |
Lowjack All American 10491 Posts user info edit post |
^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 |
|