Slashdot Mirror


The Future of Rich Internet Applications

Can't Get Enough Ajax writes "While Ajax continues to get most of the attention these days in the space of rich Internet apps, the future 'face' of Web applications may consist of a combination of Ajax and plug-in technologies based on the new Flash development platforms or other plug-in models. Why? The challenges of building and maintaining sophisticated software in Javascript and the lack of support for audio and video are just two reasons that any RIA strategy will involve a mixture of Ajax and one or more technologies like Flex, Laszlo, or others. But while there are significant advantages to the new RIA technologies, there are also important trade-offs including breaking the model of the Web, lack of HTML support, and more. ZDNet's Dion Hinchcliffe has a round-up of the latest generation of RIA technologies, pros and cons of each, and why there is likely a 'war' brewing among them."

187 comments

  1. The future is in the Stack by RunFatBoy.net · · Score: 3, Interesting

    While Open Lazlo and other open source client solutions are exciting, I think people generally want a fully integrated, front to backend solution for developing these Rich applications. Sure they provide data binding, but solutions such as Rails that provide server-side functionality to directly manipulate the client side give me a more comfortable feeling.

    I want a full unification of the front and backend. That is why Rails, Turbogears and Cake appear to be more exciting.

    Jim http://www.runfatboy.net/ - Fitness for web 2.0.

    1. Re:The future is in the Stack by orb_fan · · Score: 2, Insightful
      I have to concur.

      While what can be done with Ajax is pretty amazing, the unfortunate truth is that the developer generally has to jump through hoops to get everything working. Simply the lack of stateful information is a major problem. What's needed is another protocol (Application Transfer Protocol?) that would provide state information to the server, true client-server event handling, etc.

    2. Re:The future is in the Stack by Randolpho · · Score: 5, Insightful

      Yes and no.

      Rails, Cake, and Turbogears can't provide the sort of rich interaction that flash/activex/java can, no matter how great their frameworks may be. Why?

      The problem is not the stateless nature of the web as much as it is the medium with which the web is presented. HTML was designed as a document language, for the static display of information. It was never designed for any sort of interactivity other than hyperlinking. Everything else that has come along is a hack on top of a simple static display medium. Even arguably solid frameworks like Rails are nothing more than a hack to provide dynamic interactivity to a system that was designed against another way of doing things.

      If we really want remotely obtained rich interactivity, we need to rethink the medium. We need to drop HTML/Javascript and plugins like activex and flash. We need a new platform designed from the ground up to provide dynamic rich interactivity. That includes both the display medium *and* the means by which it is obtained. XUL was a baby step. The concepts behind XAML seem to go much further -- especially in the display department -- but still relies on stateless HTTP.

      All levels of the stack need fixing, not just server-side. We need more than just hacks.

      --
      "Times have not become more violent. They have just become more televised."
      -Marilyn Manson
    3. Re:The future is in the Stack by cascadingstylesheet · · Score: 3, Interesting

      I want a full unification of the front and backend. That is why Rails, Turbogears and Cake appear to be more exciting.

      Sounds like you're talking about ASP.NET and Atlas with Visual Studio ...

    4. Re:The future is in the Stack by wildBoar · · Score: 1

      so you don't consider cold fusion server running flex clients as an integrated solution ?

      How does Rails integrate the front and back end ?

    5. Re:The future is in the Stack by Anonymous Coward · · Score: 0

      I think people generally want a fully integrated, front to backend solution for developing these Rich applications


      Just like ColdFusion, Flex & Flash?


      CF's a very RAD language, for the most part it is OO, has native access to Java (ie, you can write java code in ColdFusion). Can call COM & Corba objects, etc ,etc. It fully supports Flash remoting.


      I'm working on a very large ColdFusion project at the moment, and whilst the language makes me want to throw my computer out the window at times, on the whole, it's a great platfor.

    6. Re:The future is in the Stack by drgonzo59 · · Score: 1

      The frontend is HTML+DOM+JavaScript. Unless you know of any good database access driver from HTML or JavaScript, or know any browsers with an embeded Python/Ruby interpreter you won't have _full_ unification of the front and backend. The closest to _full_ unification that I can think of is using Java applications where both the applet/WebStart application and the backend both run Java.

    7. Re:The future is in the Stack by oyenstikker · · Score: 1

      You mean X Windows?

      Don't shoot!

      Seriously, though. If X were replaced with something with the same goal, but without the same "mechanism, not policy" policy, and a lot of the good design elements of News and NeXT, wouldn't that be ideal? Add some auto-launch features and SSL encryption, and you're all set. Hell, you could even have an abstraction layer to use and XML schema to control the toolkit.

      --
      The masses are the crack whores of religion.
    8. Re:The future is in the Stack by Elbowgeek · · Score: 1

      I'll only add that I've thought along the same lines as yourself. I'm not web developer, and I know nothing about coding for the web, but it is true that the current client for web interaction is not at all optimised for a truly interactive application experience.

      I will go so far as to predict that the not too distant future all these *MLs as we know them will be obsolete and perhaps the very concept of "browsing the web" will no longer be how we interact with the WWW. I wish I had the smarts and education to implement such a paradigm shift, but I can barely get my tiny brain around HTML as it 15 years ago...

      --
      Who is this delectable creature with an insatiable love of the dead?
    9. Re:The future is in the Stack by plague3106 · · Score: 1

      Personally I'm hoping the .Net framework takes off. ClickOnce gives you a rich client with the ease of web deployment. As the framework install base becomes larger (I think Vista will ship with it) developing and deploying rich applications becomes very easy.

      I also really hope more people get involved in Mono. Then you can target any platform you like.

    10. Re:The future is in the Stack by killjoe · · Score: 1

      The answer was and is java. Unfortunately completely dropped the ball on the applet so now it's probably too late.

      --
      evil is as evil does
    11. Re:The future is in the Stack by killjoe · · Score: 1

      Java never cought on .NET will not either. It's just too stodgy and "enterprisey" and complex, and verbose and tries to do too much.

      --
      evil is as evil does
    12. Re:The future is in the Stack by Anonymous Coward · · Score: 0

      Not going to happen.

      You're absolutely right, HTML/Javascript/Flash are elaborate hacks built on top of a document display framework. But there is so much entrenched code out there, and none of today's "RIA" players (with the exception of Macrodobe) have any sort of meaningful market penetration.

      I suspect we will be living with HTML's legacy for a long, long time.

    13. Re:The future is in the Stack by LibertineR · · Score: 1
      Damn.

      I was wondering if someone would actually post that.

      Even though you are correct, you must have Karma to burn dude. Did you forget where you were posting?

      Atlas and ASP.NET are going to turn some heads very shortly.

    14. Re:The future is in the Stack by Nicolay77 · · Score: 1

      You don't need to replace X. You need a MS Windows open source X server.

      However development is the other way around with mono and stuff, that's linux embracing MS technology.

      --
      We are Turing O-Machines. The Oracle is out there.
    15. Re:The future is in the Stack by griebels2 · · Score: 1

      What you actually are looking for is something like this:

      http://www.gravityzoo.com/support/TheGravityZooFra mework_1_12.pdf

      A back-to-frontend solution which fixes both your UI problems, but also the state problems arising from such a rich UI.

    16. Re:The future is in the Stack by misleb · · Score: 4, Insightful

      On the other hand, the statelessness is what makes web applications possible. Lets say you have a web application that serves 100,000 different users during the course of an hour. Depending on the demands of your application, you might be able to support all of them on one server because the server doesn't have ot maintain a connection for each and every user for the entire duration of the session. The server just keeps a small bit of the state stored in a session and moves on to serving the next request. But if everyone has a stateful connection, you start running into trouble with resources. Even if nobody is actually DOING anything on the app, you've got these open connections.

      I dunno, at some point I think we're going to have to ask ourselves if the web/browser is really the best way to get the kind of richness people are expencting from internet applications. By the tiem you add statefulness, better UI toolkits, better event model, etc, you don't really have a "browser" anymore. You just have a virtual machine and you find that you've just reinvented Java applets.

      -matthew

      --
      "THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
    17. Re:The future is in the Stack by oyenstikker · · Score: 1

      xorg on cygwin.

      X has other problems. Inconsistent user interface, inconsistent protocol support, everybody trying to out-eye-candy each other , a system not well designed for eye candy. . . well, its pretty much the same disaster as HTTP.

      --
      The masses are the crack whores of religion.
    18. Re:The future is in the Stack by Nicolay77 · · Score: 0, Offtopic

      Cygwin is ugly... maybe it's the reason others have not attempted a good X port, but blah. And I've used cygwin and mingw a lot.

      However I think you're right about X problems. A widget level protocol instead of a pixel level one would be nicer to have.

      --
      We are Turing O-Machines. The Oracle is out there.
    19. Re:The future is in the Stack by neelm · · Score: 1

      As the other replay noted, I too was wondering if someone was going to mention it. You won't hear it here, but MS and ASP.NET are leading the frameworks right now. With Atlas out of beta now (renamed AJAX Server and Client somethings) it will be interesting to see how many aspx pages are ajax active.

    20. Re:The future is in the Stack by HotmanParisHiltonKam · · Score: 1

      Sounds like you're talking about ASP.NET and Atlas with Visual Studio ...

      Or Flex 2.0 With ColdFusion 7 and Flex Builder + CFEclipse

    21. Re:The future is in the Stack by oyenstikker · · Score: 0, Offtopic

      mechanism, not policy.

      X hasn't been replaced because it is entrenched and broken. Because it is entrenched, you'd have to provide X11 backwards compatibility. Because it is broken, that is hard to do. It works well enough, so it'll be around until a big player, IBM or Sun maybe, steps up and writes X12 or Y and sets it free.

      --
      The masses are the crack whores of religion.
    22. Re:The future is in the Stack by arete · · Score: 1

      In principle I don't disagree with you about the endpoint, but I think your post is missing a major point: Sandboxing.

      What Flash brings to the table is an environment that is powerful, that users will generally HAVE, and that users can trust. That's the key part - I tell everybody to disable ActiveX - if they're even using an OS/browser it's supported on, but Flash* has a very secure sandbox.

      Running things outside of a sandbox is why we have native code. Being able to run random applets I don't necessarily trust is why Flash is great. Reasonable security viewing random websites is the key to the web - even web 1.0. In fact, this same sandbox nature is why it is easily crossplatform.

      Regarding the stack: Sure, drop HTML - flash doesn't need it. Drop the browser too - Flash only needs the plugin, it doesn't need the browser. Maybe you want to replace SOAP because you want a more optimized protocol than HTTP...

      But in the front of any stack you need a rich _sandboxed_ UI, and while there's certainly room for Flash to grow in that department it should not be thrown out just because it currently uses a stack you don't like to get to your machine - it'll happily use another one.

      *Note: everything in this post applies to Java applets, too, although I think Flash is more powerful presently. My real point is why on earth, given two existing standards rich UI sandbox standards, would you go make some more and reduce the standardization.

      --
      Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
    23. Re:The future is in the Stack by Anonymous Coward · · Score: 0

      I have personal experience with Laszlo. Frankly their framework has already been eclipsed by what comes out of the box from Adobe. Additionally their 'framework' is far from a framework - most of their 'framework' is hobbled together based upon professional service gigs that have gone bad. You want flexiability, reliability, and expanability your best choice is still JSP, ASP, PHP or similiar real language which support database connections, a real API, and a real framework. My company is still smarting from the poor project solution we recieved from Laszlo. While it isn't completely their fault - our business folks generally have a problem articulating process and rules. However, the implementation was so far from the mark that we will never actually deploy it - basically we have 10's of thousands of dollars of unused software sitting on some hard drive.

    24. Re:The future is in the Stack by Tablizer · · Score: 1

      What you are asking for is more or less an open-source version of Delph/VB/Powerbuilder/FoxPro with strong web connectivity tools and some sandbox features.

      Rather than start from scratch, first we should perhaps see how far JavaScript+DOM can be stretched because starting from scratch will take a while.

    25. Re:The future is in the Stack by Anonymous Coward · · Score: 0

      OI!

    26. Re:The future is in the Stack by plague3106 · · Score: 1

      Spoken like someone that doesn't have a job in the real world, or a clue. There are tons of jobs for both Java and .Net developers. Not nearly as many for other languages.

      To say that Java isn't huge in the world is stupid. As far as .Net goes... well, .Net today is what Win32s was in Windows 3.1x. In other words, .Net is the replacement for the Win32 API, the prefered way to talk to the kernel. Going forward, if you develop on Windows, you'll be using .Net.

    27. Re:The future is in the Stack by killjoe · · Score: 1

      "To say that Java isn't huge in the world is stupid. "

      You know there is something called "context" you should look it up before you go on a rant about how huge java is. The "context" in this case was about applets and embedding high level languages in the browser. On that front java is a miserable failure. It should have won, there should be no such thing as AJAX now, there should have been a JVM on every Dell, Compaq, and IBM shipped in the last decade, there should have been a self updating JVM but there isn't because Sun didn't give a shit about the desktop. They still don't.

      --
      evil is as evil does
    28. Re:The future is in the Stack by plague3106 · · Score: 1

      Please find that context in this statement, to which I was replying: "Java never cought on .NET will not either. It's just too stodgy and "enterprisey" and complex, and verbose and tries to do too much."

      Also, please feel free to click Parent until you reach the top message, to which I also replied. No where in the thread exists the 'context' you claim. To say 'Internet application' is limited only to what is in a web browser is stupid, because its not. Where does it say 'internet application' be hosted on a browser? It doesn't.

  2. No future! by Anonymous Coward · · Score: 0

    Flash and javascript are terrible technologies, the web was never meant for remote application delivery. Users running application code from machines on the public internet didn't impress me when it was called a Java applet or activeX and it sure as hell doesn't impress me now.

    1. Re:No future! by wildBoar · · Score: 2, Insightful

      The web wasn't designed for applications. FULL STOP. The fact that apps run on the web at all is a testament to the sheer stubborness of developers.

    2. Re:No future! by xENoLocO · · Score: 1

      You could not be more on target. HTTP is used up. There needs to be a new protocol with binary deliverables. You're going to be hard pressed to generically index prioritized information (the "dark web".. all that info in databases somewhere that when put together makes up an application). If you're going to display information in a pretty, brochure format it must be indexable and searchable. Whatever the solution may be, it needs an automatic data output that is machine readable so that it can be pointed to the human readable version of the data. HTTP is only capable of this because HTML is human readable *and* machine readable. However, rich applications are such a pain to develop in XHTML/CSS/JS...

      --
      "The need to build the internet comes from something inside us, something programmed... something we can't resist."
    3. Re:No future! by Anonymous Coward · · Score: 0
      There needs to be a new protocol with binary deliverables.

      No thanks. I too think HTTP is being abused but that doesn't make me want to run potentially malicious code over the internet. You can suggest whatever security model you want, I don't trust Adobe, MS or verisign and I refuse to enable script so running compiled code is completely out.

    4. Re:No future! by thrashaholic · · Score: 1

      The fact that apps run on the web at all is a testament to the sheer stubborness of developers.

      More accurately: the sheer idiocy of customers, stubborness of managers, and ignorance of sales people.

      I don't honestly think that many of us really *enjoy* having our souls sucked out by HTML, JavaScript, and CSS (Read: IE), we just hate it less than seeing our children starve.

      --
      militant gun owning 'liberal'
  3. Web 2.0 saved my life by Anonymous Coward · · Score: 0

    Look guys & gals, Web 2.0 is WONDERFUL. AJAX saved my life and anyone who says otherwise is a knuckle-dragging, HTTP 1.0-using moron who probably thinks that MP3 players without DRM is a good idea. In fact, Rich Internet Applications also has made me millions and will make you millions also.
    All you have to do is believe. ALL of us HAVE TO believe. Clap your hands together and worship at the alter of increased complexity.
    Those Unix-loving gorillas who think "Keep It Simple Stupid" are going to be left behind in our dust as we race to a higher plane of existance.

  4. duh.... by Anonymous Coward · · Score: 0

    So you can't watch a streaming movie with some simple client side javascript?
    XMLhttprequest isn't used to play mp3 files?
    You may have to use more than 1 type of technology to build a website?!?!

    Thanks for the informative article.

  5. Flash failed by hsmith · · Score: 1, Interesting

    As did applets, as did activex. If macromedia wanted flash to be a serious tool, they should have developed a better platform for their actionscript to be developed in, because frankly the flash studio sucks. it comes no where close to real languages like java, c# for doing massive web projects.

    1. Re:Flash failed by kylner · · Score: 4, Informative

      Try Flex Builder 2. It's a much better Flash IDE for application development than Flash 8 is.

      Flash 8 strikes me as more for content and multimedia development. Flex, on the other hand, is geared towards web developers for web applications.

      We've started using it here at work for some smaller scale applications and really enjoy working in it. It's consistent, stable, and you can put together some really kick ass apps with it.

    2. Re:Flash failed by Anonymous Coward · · Score: 0
      Hook me up with links to the following I may even run them:
      1. Source code for a flash player
      2. Source code for a flash compiler
      3. Source code for your app


      Otherwise, I think I'll stick to the web.
    3. Re:Flash failed by RAMMS+EIN · · Score: 1

      I can understand the claim that Java applets and ActiveX failed, but Flash didn't. Flash is supported in all browsers, given the right plugin, which is available and even pre-installed on the bulk of computers. Support is there. Popular sites are using it. See, for example, youtube and Google video. Usage is there. How did Flash fail?

      --
      Please correct me if I got my facts wrong.
    4. Re:Flash failed by IAmTheDave · · Score: 1

      Flash failed? 98% browser penetration, full cross-platform support, millions of websites developed either with or entirely on it. Google Video and YouTube, not to mention a plethora of flash-based MP3 players - not to mention it's embeddable in Win32 apps.

      When did Flash fail in your mind?

      --
      Excuse my speling.
      Making The Bar Project
    5. Re:Flash failed by Anonymous Coward · · Score: 0

      some stats peg flash at 55%. This is more believable, we're not the only company that doesn't install it on our network.

    6. Re:Flash failed by Anonymous Coward · · Score: 0

      > Flash is supported in all browsers,

      It is huh? I don't install binary software but what the hell. Point me to a 64bit PPC linux binary, just for shits and giggles. Remember, the web is for everyone.

    7. Re:Flash failed by peterarm · · Score: 1

      That's exactly why you should look at Flex. It might just be what you're looking for if you're coming from a Java or C# background. (I spent years doing Java Swing development, having never made a Flash movie in my life, and Flex was simple to learn...)

      [Disclaimer: I'm selling something related to this (see my sig), so take anything I say with the appropriate amount of salt...]

    8. Re:Flash failed by tcopeland · · Score: 2, Interesting

      You can put together an open source development toolkit for Flash development using the MTASC compiler. We use it for ActionStep development and it works great; it cut our compile time dramatically and can easily be used inside TextMate. Great stuff.

      And for the language aficionados among you, MTASC itself is written in Ocaml. News for nerds...

    9. Re:Flash failed by rainman_bc · · Score: 1

      f macromedia wanted flash to be a serious tool, they should have developed a better platform for their actionscript to be developed in,

      AND they wouldn't alienate operating systems like Linux. I don't take flash seriously if they are two versions behind with a linux viewer. It was a good cross platform tool, now it's a pile of crap IMO that only supports Windows and Mac. /me still annoyed with that.

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    10. Re:Flash failed by rainman_bc · · Score: 1

      Flash is supported in all browsers, given the right plugin,

      Hmm... I'm looking for flash support in Firefox on my Linux box and can't seem to get anything beyond 7.

      Some cross platform support huh? Adobe has really screwed with flash IMO by doing that...

      --
      09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0
    11. Re:Flash failed by Goaway · · Score: 1

      I'm sure Adobe will be devastated to learn that they have earned the ire of people who use IRC commands in lieu of real words.

    12. Re:Flash failed by draos · · Score: 2, Interesting

      Take a look at content that's geared towards the Toddler to preTeen age group. Its full of flash and shockwave content. Flash is filling a niche to deliver tv/video game style content to the worlds young children. My kids even have a large number of game/applications that use flash on the desktop to deliver content.

      As far as flash studio sucking, I couldn't agree more, but then again I'm a J2EE programmer. My artist friends think it rocks. Again its all about knowing your audience.

    13. Re:Flash failed by kylner · · Score: 1

      Oh, and as a follow-up for an example of a real world, non-web type of application that was built using Flash and Actionscript 3, check out FlashVNC.

      I'm not going to link it because I don't want to blow-up the poor guys web host, but if you are interested google it.

    14. Re:Flash failed by Anonymous Coward · · Score: 0

      flash is sure broken with linux, and I know I am not the only one, look ay any distro's forum or the actual flash linux devs blogsite to see the complaints, no audio, bad audio, text importing is bad, etc..I have to download the .avi file, save to disk, and run it in another application like xine to really use it. And what about the security implications, what is it with flash and wanting to hijack your microphone and video camera? WTF is up with that? That is coming pre-broken by design if you care about security. and why does most flash come defaulted to endless loop? Open a few tabs, suddenly your CPU is at 100% and the browser locks? You have to kill the browser to escape? Again, more broken by design, arrogantly broken, FU in your face broken directly from MS-macromedia and arrogant web devs. Even when it works well it is still broken from the security standpoint and from a resources standpoint.

    15. Re:Flash failed by RAMMS+EIN · · Score: 1

      You can get source code from Adobe, which they provide explicitly for purposes of porting Flash to platforms which they don't support.

      --
      Please correct me if I got my facts wrong.
    16. Re:Flash failed by daverabbitz · · Score: 1

      no. They don't.

      --
      What could be better than a jet powered motorcycle? http://www.youtube.com/watch?v=u8l6GTHLSWE
  6. Well, at least he mentions by overshoot · · Score: 2, Insightful
    the fact that AJAX (and XUL, actually, but never mind) are searchable. It's the first time in quite a while that an "RIA" author got past the gee-whiz eye candy to deal with usability issues.

    Of course, none of them want to deal with the disabled-accessability part, despite a recent Court decision that's going to make this kind of stuff a very low priority for a long time.

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
    1. Re:Well, at least he mentions by Anonymous Coward · · Score: 0

      And the accessibility issues in Flex and Flash are very serious, despite Adobe's insistence that Flash accessibility issues are all in the past. They most assuredly are not. You'll find only certain controls can be made accessible. You'll find that only very specific versions of screen readers, etc. are supported. You'll have to install additional software ("JAWS Scripts for Flex") on the client side.

      Accessibility is even turned off by default to save on the size of the SWF! (One way of enabling it is to go hunting through XML files to find the "accessible" tag and setting it to "true".)

      With standard Ajax you have to be careful and think about accessibility from the beginning, but Flash in comparison is a whole world of hurt.

    2. Re:Well, at least he mentions by Instine · · Score: 1

      Of course, none of them want to deal with the disabled-accessability part

      Hows THIS for a turn up for the books then. An Ajax Screen Reader.

      --
      Because you can - or because you should?
  7. Well in my opinion, by Anonymous Coward · · Score: 4, Funny

    the tag should be enough for anybody.

    B.G.

    1. Re:Well in my opinion, by jizziknight · · Score: 2, Funny

      Don't forget the tag. Those things are all the rage.

      --
      Everything I say is a lie. Except that... and that... and that, and that, and that, and that... and that.
  8. Telcos have been doing this for years. by BrookHarty · · Score: 2, Interesting

    Ive been running applications people access on their cell phones (or blackberries) for years.

    Its been common to run a backend server (tomcat/apache/oracle/Java) and use the phone as the frontend, and allow webaccess for easier changes.

    AJAX is free, easy to use, and people are using it now. Not even going into first revisions of software and bugs that are associated with new software, or licensing fees.

    That Adobe flex uses coldfusion, we stopped using that and migrated to Tomcat.

    1. Re:Telcos have been doing this for years. by siamesepurr771 · · Score: 2, Informative
      AJAX is free, easy to use, and people are using it now.

      Flex is free (the compiler), ease of use is a subjective measure, and people are using Flex now too.

      That Adobe flex uses coldfusion, we stopped using that and migrated to Tomcat.

      Negative. Flex has no reliance on ColdFusion. There are numerous ways for Flex (front-end) to talk to the server (back-end), ColdFusion being ONE of the ways. It can also talk to Java via Tomcat. For that matter, I can run ColdFusion ON Tomcat.

      Note that I've never written a Flex app - I state facts, not biases.
    2. Re:Telcos have been doing this for years. by $1uck · · Score: 1

      Well the company I work for is having a brief training tonight on the use of flex with J2EE. So I know it is definitely not reliant on Coldfusion. I got the feeling you didn't need to use any proprietary Flash development tools to use it either, but I did get the feeling it used the flash plugin someway from the brief overview I was given.

    3. Re:Telcos have been doing this for years. by peterarm · · Score: 1

      You can use Flex with anything: J2EE, ColdFusion, Ruby on Rails, etc--anything that you can send an HTTP POST request to. Obviously, Adobe want to sell their server-side stuff, but other stuff works too...

    4. Re:Telcos have been doing this for years. by MickDownUnder · · Score: 1

      "AJAX is free, easy to use, and people are using it now."

      People ARE using it, but you aren't !

      No one in their right mind who has ever delivered AJAX sites would describe AJAX as easy. For what it achieves it's ridicuoulously complicated.

    5. Re:Telcos have been doing this for years. by jelle · · Score: 0, Flamebait

      "Flex is free (the compiler), ease of use is a subjective measure, and people are using Flex now too."

      And god knows why. I you want your webpage to be visible on the Internet, don't use it.

      I RTFM, and decided to give flex a try by following the "Check here for my favorite Flex 2 demo app;". Well, I had enough time to go back to /., find your post, click reply, and type this: The tab with the flex demo is still loading. Cool demo: Trashcan here it comes.

      Ok, now right when I'm typing this, it has stopped loading and shows me a blank page (well, blank, I think the color is called 'slate blue'). Wow great. I can do that in much less code with plain html.

      Is that supposed to be the professional way to do it?

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
    6. Re:Telcos have been doing this for years. by hobo+sapiens · · Score: 1

      It can be. I use AJAX quite a bit, though, and find that prototype makes things pretty simple. It takes a while to get proficient with it, but it really does pay off. This coming from someone who generally _hates_ to use someone else's code libraries. I cringe when I see "professional" web developers grab scripts from websites like dynadrive.com and use them. I _always_ write my own stuff. I have to admit, though, that compared with when I used to have my own AJAX library, prototype has taken much of the difficulty out of using AJAX.

      A lot depends on how you use it. I do not create spreadsheets and maps and so forth like google, but I find it extremely beneficial for 1) loading content from a DB that may be too slow for the initial page load, 2) allowing users to perform simple DB tasks (ex. deleting a row) without reloading the page, and 3) performing certain tasks on demand as opposed to when the page loads. I find that I can create a pretty functional AJAX page very easily.

      The other nice thing is that you can use AJAX tchniques to better separate content from presentation.

      I am sure you know most of these things, but I say them to illustrate the point that while it can be a hair more difficult (using prototype) to code AJAX pages than coding conventional pages, the benefits in terms of performance and user experience outweigh the negatives. I have not yet found that maintenance is more difficult, either.

      If you think it's too complex/tedious to work with AJAX, just give prototype a shot.

      --
      blah blah blah
    7. Re:Telcos have been doing this for years. by arete · · Score: 1

      Let me get this straight: your complaint with Flex is that Adobe got slashdotted?

      and to the parent or grandparent or whatever - it does NOT use ColdFusion in any important way. That is, certainly they made nice connections between them, but it also connects nicely with any kind of service and can interface well with all kinds of backends, including Java ones - I can assure you.

      --
      Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
    8. Re:Telcos have been doing this for years. by jelle · · Score: 1

      Flamebait? It's the truth mods, the web site takes 5 minutes to show an empty page. Web designers: Please use technologies that work, not ones that sound cool.

      --
      --- Hindsight is 20/20, but walking backwards is not the answer.
  9. Prediction.... by TheNetAvenger · · Score: 3, Interesting

    I predict if the WPF/E team pulls off what they are doing to bring WPF 2D applications to all browsers and platforms it could be the next generation of Rich Web Applications.

    Unlike ActiveX and other things from MS in the past, WPF/E is very secure, easy to deploy, and brings a new level of functionality that surpasses JAVA/Flash/AJAX.

    It will be a few years off, but it has potential to bring an XML based applicaiton model to the web where others have failed.

    (Part of the reason behind this prediction is that WPF/E is far easier to develop applications for than JAVA/Flash/AJAX... So in a weird way, it will be like the VB of the early 90s and less 'technical' people will be able to write rather rich web applications easily.)

    1. Re:Prediction.... by CompSci101 · · Score: 1

      That's what I don't get about XAML and such: it's really just the Microsoft alternative to XUL and SVG+SMIL. Both of which have an excellent implementation that by most current estimates is used by about 10% of the surfers out there (I mean, of course, Firefox).

      Now, I'll concede that last I checked Firefox didn't have a working SMIL implementation in their SVG stuff, but my point is this: it's already here, it does what WPE is supposed to do (which I haven't seen in the wild at all), and it's an open standard.

      Why does everybody -- worst of all, developers that should know better -- count out XUL + SVG from the gate? Haven't web developers learned from the pain that was the last Browser War?
      C

      --
      The Sun is proof that we can't even do fire properly.
    2. Re:Prediction.... by TheNetAvenger · · Score: 2, Interesting

      That's what I don't get about XAML and such: it's really just the Microsoft alternative to XUL and SVG+SMIL. Both of which have an excellent implementation that by most current estimates is used by about 10% of the surfers out there (I mean, of course, Firefox).

      Well, a lot of people go this route in thinking, but if you take the time to look at XAML and its capabilities, you will easily find that 80% of things it is doing or can do are not supported with the technologies you mention.

      XAML is not only presentation, but handles every thing from events and hit testing to virtually every type of media. It bridges what you see and and what you can do.

      One simple example is some of the graphic abilities of XAML is that can display very complex vector based images that surpass GDI+ or OSX's Display Acrobat. In fact, some of the image presentation abilities built in are on par with something you would normally see in Adobe Illustrator or CorelDraw. (Blends, transparency, effects, etc.. - And they are all extensible as well, so they are not even a locked set.)

      I know WPF/E in the first release is not going to target 3D, but in response to your view of the other technologies, WPF/XAML does some really impressive things again with its ability to simply display 3D scenes, that are not only nice looking, but fully interactive UI controls as well. (Imagine a RichTextBox on the side of a Cube Spinning with Buttons on each side of the cube that are clickable.)

      Not only is this beyond the 'display' capabilities of the technologies you mention, but also surpasses anything out there short of writing an OpenGL or DirectX application. Yet, a begining programmer can write a 'few' lines of XAML that does all of this that is actually easier than making a VB 2.0 Form and throwing controls on it.

      This ease of programming is where it is as easy as early VB, and yet will do things that are beyond what many developers are even seeing as possible ways to create applications.

      I consider myself half-way versed in WPF stuff, but everytime I look at aspects of it, I find numerous new ways of thinking in creating applications that JUST ARE NOT possible on any other platform and it also reinforces why MS could not just take SVG or other standards and bastardize them in order to achieve what they are with XAML.

      In early previews of XAML concepts I was a lot like you and thought, why not just use SVG, but after seeing how much MS would of had to chop up and turn SVG into what XAML does, I'm actually glad they left SVG alone.

    3. Re:Prediction.... by killjoe · · Score: 1

      Unless it runs on the mac it's dead. The world has changed and MS no longer has over 90% of the market. It's one thing to tell 5% of your customers to fuck off, it's another to tell 15 to 20% of them to fuck off.

      --
      evil is as evil does
  10. Not needed by Anonymous Coward · · Score: 0

    The web is already too 'rich'. You can barely go anywhere these days without a half dozen browser plugins. Just leave it alone and stick to the basics. Flash, Java, et al, are just a lethal concoction of poorly written code that can easily leak memory and cause system crashes. The last thing we need is more bloat.

  11. Another clueless, buzzword spouting fuckstick by Anonymous Coward · · Score: 0

    If I wanted to do this kind of unified development, I'd look at haXe. It may be a nice way to do lite desktop apps and looks cool for server side stuff although delivering apps (flash, javascript) over the web is a no-no in my book.

  12. Event Streaming to Browsers by TheJavaGuy · · Score: 1

    Another technology to look at is Server-Sent Events (SSE), which takes AJAX one step further.

    Opera 9 added support for SSE.

    With the traditional AJAX implementation, the browser continually polls the server, sending requests to the server, asking to get data back, making new HTTP requests for every single poll, putting more strain on the server than needed.

    In Opera 9 you can instead open a persistent connection to the server, sending data to the client when new information is available, eliminating the need for continuous polling.

    Read more about it on the official Opera blog by their Web Applications team.

    --
    Opera Watch - An Opera browser blog.
    1. Re:Event Streaming to Browsers by Anonymous Coward · · Score: 0

      Sounds useful, but the article wasn't clear. Does it work without javascript or do I put it on ignore with the rest of the AJAX hype?

    2. Re:Event Streaming to Browsers by Anonymous Coward · · Score: 0

      Why the hell would someone who browses without Javascript be reading an article on AJAX? Your ignore filter must be flawed.

    3. Re:Event Streaming to Browsers by Anonymous Coward · · Score: 0

      HTTP supports persistent connections already..

    4. Re:Event Streaming to Browsers by Unnngh! · · Score: 2, Interesting

      Interesting, but you can already do this with or without the xmlhttprequest object. The technique is old, it's called slow load or comet. Basically you open a connection to the server, and have the server sit on it until it has something to send you. As soon as it sends its reply, that connection terminates and fires off a new one, continuing the cycle. Real-time feedback between client and server, without the need to poll or eat up bandwidth. I created a proof of concept of this using ajax here. You can build a full-fledged application like this with very low latency that looks just like a regular socket-using network app, in a web browser. The code in this posting has been revised, you need to spawn the thread off of the web server's hands to the CLR in this instance so as not to tie up web requests, and you can probably just do a thread.suspend and reawaken it instead of looping on the server, but it gets the idea across...

    5. Re:Event Streaming to Browsers by Fudgie · · Score: 2, Insightful

      Using Juggernaut for Rails you can also achieve this with a small Flash applet acting as a bridge. Have a look at http://www.clockingit.com/comet.html for a small screencast demonstrating how this can work.

    6. Re:Event Streaming to Browsers by oohal · · Score: 1

      Strikes me as odd that the browser would make a new connection for each request, isn't the bottleneck that unneeded requests created the reason HTTP/1.1 introduced Keep-Alive?

      -oohal

  13. most underrated ajax framwork ever: echo2 by Anonymous Coward · · Score: 0

    (and always forgotten in those roundups):
    http://www.nextapp.com/platform/echo2/echo/
    If the future of webapps is based on a combination of ugly hacks such as the xmlhttprequest and other technologies which aren't meant to be used as some kind of thin client protocol, why not just let the framework do all that stuff, allowing you to concentrate on the business logic? Writing an echo2 app is like writing a normal, standalone gui app.

  14. open source by Anonymous Coward · · Score: 0
  15. The best thing about AJAX by also-rr · · Score: 3, Interesting

    Is that it's becomming less of a end and more of a means, and an almost invisible means at that (no stupid plugins!).

    I turned on free tagging on my website to set up categories (for use with Drupal Views to get a view-content-by-category system) and all of a sudden noticed that the tag input box had a find as you type feature to match against existing tags/categories.

    Highly useful, very unobtrusive and just a regualar part of the system getting on with it's job with a gracefull fallback if client side scripting isn't available. 10/10.

    1. Re:The best thing about AJAX by lysergic.acid · · Score: 1

      I don't know when AJAX has ever been an end in and of itself to professional developers. Sites like Yahoo, Gmail, Flickr, Last.fm, etc. have always been using these technologies to simply improve usability and convenience of the interface in the ways that you are only now experiencing. This has been the expressed purpose of AJAX from the beginning. It just happens that a lot of Slashdotters decided early on that it was trendy to dismiss AJAX off hand as an emerging web trend because of its immediate popularity (it's not cool if everyone knows about and talks about it) and perpetuated a lot of baseless criticisms about the widespread adoption of AJAX. But these days it's harder and harder to say that AJAX is just a fad or bad idea when nearly every popular web application has adopted it as part of the shift towards "Web 2.0". Clearly those of us who were interested in learning more about this set of technologies weren't simply playing into the media-hype Web 2.0 internet bubble, or whatever the naysayers want to call it.

      Even now you still see trolls in any AJAX-related Slashdot article making pointless remarks about how overhyped and useless AJAX is. However, I think this will eventually go away as AJAX-enhanced interfaces become ubiquitous on the web. Even Slashdot itself has adopted a more Web 2.0 feel to its interface. The whiners are rarely web developers themselves, and those that are probably won't get very far in their careers with that kind of reactionary attitude towards advancements in web development. Personally I'm pretty excited about all the news things I've learned how to do using AJAX which can help me polish my web applications and explore new avenues through the GUI possibilities.

  16. "Comet" is the newest by crayz · · Score: 1

    Interesting idea - Lingr is the coolest implementation I've seen so far. Super-realtime chat. Much less latency than normal Ajax-only chat

  17. Dump Flash by Perp+Atuitie · · Score: 2, Interesting

    Adobe's inability/uninterest in keeping Flash truly cross-platform should be a splash of cold water for folks who see it as part of a new Web generation. Adobe has proven for once and for all that using proprietary, closed tech in Web standards is a great way to cut your own throat. The coming of new demands on the Web offers a golden opportunity to get it right this time and make sure everything there is available to everybody, on any platform. Here's hoping that consideration drives the next wave of development.

    1. Re:Dump Flash by bucktug · · Score: 1

      What do you mean truly cross-platform? The Flash Player 9 is available for Mac OS X and Windows and is being developed for Linux. What other devices/platforms do you want represented?

      What do you define as "truly cross-platform"?

      I would be interested to know.

      --CJT

      --
      I had a flame... but she had a fire.
    2. Re:Dump Flash by Perp+Atuitie · · Score: 1

      It will be developed for Linux when it's developed. Not because somebody said so. Users of Linux, BSD, and older versions of Windows and Mac are shut out of full Net access. The solution is not to depend on the whims and spreadsheets of companies like Adobe. The solution is software for which anyone with the motivation and skills can develop readers for any platform.

  18. Comet vs. SSE by Wesley+Felter · · Score: 1

    Why do we need two, brand new, incompatible protocols to push data to browsers?

    1. Re:Comet vs. SSE by Anonymous Coward · · Score: 0

      Competition is good for us! It brings more innovation, better software, reduces costs, etc...

    2. Re:Comet vs. SSE by Anonymous Coward · · Score: 0

      Comet currently relies on some ugly hacks -- the same sort of hacks that were obsoleted for client-pull by XMLHttpRequest. It'll be better when there's a standard implementation.

  19. What I REALLY do not understand about the web 2.0 by sploxx · · Score: 3, Insightful

    ... is why they are using the essentially useless HTML/HTTP stack with all the addtional layers (JS, AJAX, flash etc.) at all.

    There are cross-platform thin-client network solutions like VNC or Nomachine's NX. They do exactly what the web x.0 wants to do, they do it fast and they do it without all the bloat and packing/unpacking of (essentially very simple) data. ... and you can use your favourite GUI toolkit to build applications.

    Do not bring up the bandwidth argument before looking at NX first. It runs over really small links.

    I also do not think that it allows additional security breaches in principle, as a web browser with all the additional plug-ins is also similar to a very high-level shell to a remote server.

  20. Save Applets by Doc+Ruby · · Score: 2, Interesting

    I wish Webpage applets, whether Java, Flash, Javascript or other AJAX or just clientside execution objects, would all let me install them, rather than being bound to their page. Not just for easy access, rather than bookmarking their host page (which too often requires surfing several pages to build state). Also so I can combine them into single collected UIs. I want my own page with my banking client and a few shopping clients. And I want to be able to grant local access to a sandbox DB of my own data, like history and account info, that doesn't allow access to my other data, like other accounts.

    If we could drag applets to our toolbars for local installation, rather than trapping them in their website context, they'd be a lot more useable. Hopefully this early stage of their development will incorporate that now/soon, rather than later when retrofitting and incompatibility will make problems last forever.

    --

    --
    make install -not war

    1. Re:Save Applets by l0b0 · · Score: 1

      There are several factors hindering this:

      • Provider control - It may be the only way for them to get advertising revenue, or they just don't want you to reverse engineer the system.
      • Data ownership - For sites like MySpace, giving you their data would be illegal.
      • Data amount - Why yes, I'd like to download the Google database. Now where did I put that USB stick?
      • Data changes - Sites like Digg, del.icio.us and your bank are no use offline.

      Really, I can't see how most useful web pages today could be used "locally". The dynamic part is the real power of the web.

    2. Re:Save Applets by Doc+Ruby · · Score: 1

      Huh? I just want to install their applet instead of caching it. I'm not talking about a local copy of their data, just a local copy of my data, that I use their applet to modify. Nor am I talking about going offline. I just want to be able to use their applets the same way I use my local applications. That doesn't exclude them embedding their own advertising, either.

      --

      --
      make install -not war

    3. Re:Save Applets by l0b0 · · Score: 1

      For Flash, that's mostly just View Page Info -> Media -> Save As. Of course, some sites mess up even that. And Java applets are spawn of the devil anyway - I've only used a handful of them, but all of those would have been better of as static web pages (sic) or Flash. Dunno about those "online desktops" which have popped up lately, but don't they allow you to add any URL?

    4. Re:Save Applets by lysergic.acid · · Score: 1

      It sounds like you just want to design your own mashup, which you can already do with a lot of web services. This doesn't require AJAX or applets. It just requires a public API (actually, you can easily get around this as well). AJAX isn't anything like flash applications or java applets either. Like others have said, it would be useless installed onto your computer. AJAX is just a UI enhancement. The application is still run serverside. You can build a mashup to access the services if you're clever, but the AJAX interface itself is irrelevent to your goals.

    5. Re:Save Applets by bucktug · · Score: 1

      Adobe Apollo is your answer in the flash universe. Stay tuned... until then...

      http://onflex.org/ted

      Remember... you heard it here first on Slashdot.

      --CJT

      --
      I had a flame... but she had a fire.
  21. Stuff like that oftens break with complexity by cruachan · · Score: 2, Interesting

    Having been around for IT for a while (20 years) and see quite a few revolutions come and go my sceptiscm with these kind of environments is that although the demo apps always look really good, the trouble comes when you take them out for a stroll in the real world and invariably you soon hit some sort of limitation on implementing something outside what the app was designed to do because the app hasn't been created with sufficient scalability or flexibility in mind. This is easily recognised when you brand-new tool whizzes through the basics as promised in a fraction of the time you would spend hand-coding, but then you loose all that time and more trying to code around the limitations when the going gets tough. Good mature development environments degrade gracefully with increasing size and complexity, poor and often new ones tend to have an asymptotic curve hidding in the undergrowth.

    This isn't to say that Web 2.0 isn't wonderful. I'm doing a lot of contracts at the moment recoding old systems into browser-based ones and AJAX and partners are a joy to work with. My workbench at present is a mix of PHP using TinyButStrong http://www.tinybutstrong.com/ templates, AJAX using the xajax framework http://www.xajaxproject.org/, as much CSS 2.x as I can deploy that doesn't break on all common browsers, and whatever javascript widgets that meet the needs.

    I can't recommend the two core tools in here highly enough - xajax is really nicely designed and I've only found one bug in it so far (when running a window modal), tiny-but-strong is even better - if you do any coding with PHP and havn't found this yet then you are missing the best templating system yet devised.

    1. Re:Stuff like that oftens break with complexity by Anonymous Coward · · Score: 0

      "if you do any coding with PHP"...

      then you are an idiot. Seriously, PHP is a template language, how stupid do you have to be to want a template langauge written in a template language to do the job that PHP is already supposed to do. Go learn another language. ANY other language. You will thank me.

  22. Some quick insights and clarifications by rtilghman · · Score: 5, Informative

    A quick response/overview from someone who is actually working with more or less all of these technologies.

    The AJAX vs. Proprietary Debate
    Isn't really a debate, which the article kind of notes but doesn't really state. AJAX doesn't compete directly with any of these tools... Asynchronous Javascript and XML is a data delivery mechanism, NOT a presentation layer (if I hear one more person use AJAX to refer to DHTML I'm gonna scream). Flex, Lazlo, Nexaweb, etc. have aspects that compete with AJAX (Real-time Push in Flex/Flash being one that competes and bests AJAX), but drawing them in parallel is misleading. With SVG more or less dead in the water (yeah, AdobeMacromedia doesn't have much of an interest in further developing an OSS competitor to Flex) and no SVG support for IE 7.0, there is no viable presentation component for AJAX to make this argument viable.

    What the article gets right is that future application solutions are a combo approach that leverage a number of different technologies. For example, portals leverage AJAX/DHTML where possible to reduce page refreshes and increase basic interactive behavior (maybe with a framework to do the heavy lifting, though that has its own drawbacks) and something like Flex to supply visualization tools and whiz-bang interactive components on a more selection "superportlet" basis.

    Cost Effectiveness of Proprietary Solutions
    This is right on the money and a BIG reason to favor things like Flex. You'll actually spend more money developing and debugging tools in javascript and html than you will implementing with a robust end to end solution like Flex. From a UE perspective you're married to certain interactive behaviors the components you leverage (Flex isn't very good at exposing the underpinnings, read "Gold Support" here), but you get the benefit of tested methods and basic patterns that are generally at least "acceptable" from a usability perspective.

    Java for Visualization
    God help us all. I went there once on a trip... lost my granny, my dog got run over, and I came back with only 8 fingers.

    Plug-in Limitations of Approach
    Here we're mostly talking about Flash/Flex. I did an analysis not too long ago when I led a project doing a Flex 1.5 implementation (which sucked btw... don't even consider 1.5, not that Adobe would sell you on it anyway). What it comes down to is that Flash 9.0, which is the latest plug-in required to drive Flex 2.0, is at the beginning of its adoption, making this argument somewhat ligitimate. However, typical adoption patterns are a STEEP yield curve... you get to around 80%-85% within a year, get the next 10%-15% shortly thereafter (4-6 months), and pin down the final %5 over the next 5 years. Flickr has a good graphic to illustrate this.

    http://www.flickr.com/photos/mannu/148867953/

    The Flash 9.0 plug-in came out a couple months ago. What this means is that if you were to start developing an application now you'd likely launch with 80% adoption. So is it REALLY an issue right now? No, not unless you're developing a very targeted application on a very short timline. Additionally its worth noting that the generally plug-in updating architecture has improved dramatically after 6.0, so most users are now able to seamlessly update their players when prompted.

    Basically I would say this is a legitimate concern if you're audience profile/segmentation indicates very old hardware/software with virtually no technically ability (and I mean NONE here, even more than a web neophyte) then you may need to reconsider your approach.

    Application Accessibility
    This subject is left only partially discussed, and its the real 800lb gorilla in the room. Last week a US court handed down a decision against Target.com (it was on Slashdot). The gist is that Target was found to be inviolation of the ADA for their use of non-accessible content formats in their web site. This was the first t

    1. Re:Some quick insights and clarifications by drgonzo59 · · Score: 2, Insightful
      Java for Visualization
      God help us all. I went there once on a trip... lost my granny, my dog got run over, and I came back with only 8 fingers.

      That's what happens when you are not prepared for travel!

      How good are you Java programming skills? What were your expectations? Have you tried WebStart?

      I think Java still has a place for specialized rich clients. I have recently released a Java3D scientific visualization application that uses WebStart. It automatically downloads all the Java3D libraries it needs and caches them on the user's machine, then it is able to use native OpenGL drivers. All the user has to do is to click on the JNLP link in the browser. The application works on Windows, Linux and Mac with with all the popular browsers. I am not saying it was trivial to write it but it can be done, one just needs to know Java at more than the beginner level. Flash/JavaScript/SVG would not have worked for what I needed to do.

      Will we see major web portals using Java applications as their interface? - Probably not. But that doesn't mean Java is dead and Ajax is a panacea for all the Internet problems.

  23. AJAX Sucks by RAMMS+EIN · · Score: 1

    AJAX is seriously overhyped. It's been possible to do these kinds of things since the late nineties. The reason people weren't massively doing it back then is the same reason they shouldn't now: it's just not the right way. Just look at the code it generates: it's terrible.

    If what we want is truly interactive, desktop-like apps on the web, then let's make something that does that, not kludge together something that approximates that, using today's fast (really fast) hardware and enormous memories to give it the semblance of actually working.

    Java came much closer to this, being a real programming language with a real GUI library, platform independent, etc. I think the reason it failed is partially that Sun didn't get it right soon enough (in the beginning, performance really did suck), and that Microsoft managed to break compatibility enough that Java applets wouldn't work reliably. Also, the Java runtime is too large to comfortably download.

    Flash does better: the plugin is small, it has OK performance, and Microsoft didn't kill it. However, it doesn't give programs that native feel (right?), and I don't know if there's a real programming language behind it.

    XUL is interesting, too: a proper GUI framework, cross platform, open standards, open source implementations, support for all major browsers either existing or on the way. My only doubts are about the programming language: is JavaScript really going to cut it?

    There are numerous others out there that I won't mention because the list would get too long; one of these is my own (abandoned) project that mixes XML GUI descriptions with Ruby programs.

    I think, the way things stand now, we should rally behind XUL. It comes closest to what we need, and it's open, which is very important: it won't do to get locked into a proprietary technology that would only be available...I think that mistake has been made often enough.

    The surge of AJAX means that the world is ready for the revolution: the demand for rich web apps is there. However, please don't make the mistake of thinking AJAX is the way to go: it's hitting the limits of what HTML and JavaScript can do even as it provides only little bits of interactivity here and there. That's not a good start. We want a technology that can grow.

    --
    Please correct me if I got my facts wrong.
    1. Re:AJAX Sucks by mad.frog · · Score: 1

      I don't know if there's a real programming language behind it

      Flash 9 is coded using ActionScript 3, which is tracking the still-in-progress ECMAScript 4 standard.

    2. Re:AJAX Sucks by suggsjc · · Score: 1

      Javascript isn't an entirely horrible language. It isn't as full featured as Java, C/C++/C#, perl, etc. However, it is a decent OO language. Most people don't know/use half of its capabilities. So your question of whether or not javascript can cut it...is *probably* yes.

      There are no one size fits all solutions, but XUL could be a decent platform for some projects.

      --
      When I have a kid, I want to put him in one of those strollers for twins and then run around the mall looking frantic.
    3. Re:AJAX Sucks by Anonymous Coward · · Score: 0

      is JavaScript really going to cut it?

      As a language, JavaScript is OK. It is an interpeted language like perl or python. The problem with JavaScript is that it doesn't have a standard runtime engine. Each application that can use JavaScript interpets it differently. If every application that used JavaScript used the same interpeter and access to thee DOM, a lot of issues using JavaScript would be solved.

    4. Re:AJAX Sucks by Dragonslicer · · Score: 1
      Just look at the code it generates: it's terrible.
      Unless you're talking about the machine code, I think you may be confused about what XmlHTTPRequest (a.k.a. Ajax) actually is. It's simply an object that lets you send an HTTP request back to the server and read the response as an XML document. It doesn't generate any code (other than the aforementioned machine code), the programmer does. As with a post above that mentions people using the term "Ajax" to refer to DHTML, it's important to keep straight what everything actually is and does. As for it not being the right way, I've found it to be exactly the right way to send a request to the server and get some XML back. I will agree that for a lot of other stuff that a lot of other people are using it for, it's not the right thing to do, regardless of it being the "right way". But that's not the fault of the tool, it's the fault of the person using the tool. "Give a person a hammer, and they'll think everything is a nail." XmlHTTPRequest is a very good hammer, you just have to recognize that not everything is a nail.
  24. I'm waiting for... by theuedimaster · · Score: 1

    DOM level 3 load and save

  25. Re:What I REALLY do not understand about the web 2 by SCY.tSCc. · · Score: 1
    ... is why they are using the essentially useless HTML/HTTP stack with all the addtional layers (JS, AJAX, flash etc.) at all.
    Because HTTP is one of the not-so-many-left protocols that go through firewalls, forced proxies and filters.

    Because a browser is all you've got when you use a public terminal.

    Because every user behind a firewall has resigned to coax his admin to open up another port in the corporate firewall.

    Because a browser is what's already installed on your computer.

    Because WWW has the biggest user base ever.



    Oh, BTW, you're still using IPv4, don't you? ;-)
  26. SVG by drgonzo59 · · Score: 2, Insightful
    HTML was designed as a document language, for the static display of information. It was never designed for any sort of interactivity other than hyperlinking.

    SVG is designed to fix that. It is an open standard, it looks promising but unfortunately browser support isn't quite there yet...

    1. Re:SVG by TheUnknownCoder · · Score: 2, Interesting

      It's not that it's not quite there yet. Native browser support for SVG is non-existing. However, you can download plug-ins to view SVG. And being a W3C Recommendation, Netscape and IE are promising future browser support for SVG, and with browser support, the plug-in will eventually be phased out. The main problem with SVG for the moment is that hardly anyone uses it.

      One sweet duo is SVG + Ajax, that can vastly improve the interface with the end-user, without eating up a lot of bandwidth and most importantly, can be easily implemented so that the browser gracefully presents an downgraded version of the page if one is not supported...

      Give it all to the ones that can handle it, but degrade gracefully if one cannot handle it all. That is (or should be) the future of the web.

      --
      Uncopyrightable: The longest word you can write without repeating a letter.
    2. Re:SVG by Anonymous Coward · · Score: 0
      One sweet duo is SVG + Ajax, that can vastly improve the interface with the end-user, without eating up a lot of bandwidth and most importantly, can be easily implemented so that the browser gracefully presents an downgraded version of the page if one is not supported...

      Go take another look at SVG. If it's implemented in its entirety, it'll make Ajax completely superfluous. The direction they're taking it, if somewhat contrary to its original intent, is interesting. In concert with Javascript it's becoming a full-blown client-side UI programming environment. It sort of blows the original idea of a way to have vector graphics in web pages out the window (although SVG Tiny might still be good for that), but it appears to be morphing into a way to develop client-side UIs which can be downloaded just like a web page yet have most of the flexibility of a desktop application... I'm not sure it's going to be a better solution than XUL or XAML or things of that ilk, but interesting nonetheless.

    3. Re:SVG by drgonzo59 · · Score: 1
      Firefox support is half-way there. I was able to create a small website in SVG with Inkscape. It worked alright in the latest Firefox...

      Yeah SVG+Ajax would be a dream come true if SVG is supported _in_a_standard_ way in all the major browsers. Making users download plug-ins is a good way to not have very many users.

    4. Re:SVG by Jerf · · Score: 2, Interesting
      SVG is designed to fix that.
      Not from what I can see. SVG is basically as designed for static display of information as HTML now is. The same "hack" for dynamism is used for both, a Javascript-exposed DOM (or DOM exposed to some other language), and the same basic set of events are available to both.

      From what I can see, it really wouldn't take a hell of a lot of work to merge XHTML and SVG into one specification with a richer layout model than XHTML currently has.

      SVG gets you no new interactivity, just the ability to better display vector graphics. Nothing to sneeze at, but current SVG-browser apps are still going to use AJAX or whatever the HTML portion of the website is using for interactivity.

      I agree with the grandparent that the whole stack needs fixing, but the most broken part right now is the stateless HTTP. All we need is for a browser to step up and offer a true, full socket object. Once people have settled into that, we can figure out how to make it more convenient, if there's even an obvious consensus.

      If I could go back in time and choose between the XMLHttpRequest object or a Socket object, I'd take the latter. It's what people really want, they just don't really realize it yet.

      Yes, it causes some new security problems, but ultimately, not really new ones; just allowing XMLHttpRequest at all really covered most of the security problems. (You'd certainly want to block the socket just to the originating server, though.)
  27. AJAX might be ok... by Anonymous Coward · · Score: 0

    as long as they don't discriminate against the blind.

  28. Right click anyone? by Space_Nerd · · Score: 1

    All of these platforms suffer from a common drawback: the lack of right click capabilities. I'd really like to find one that lets me use it to build a rich user interface.

    --
    Everybody has a purpose in life, maybe mine is to lurk in slashdot.
    1. Re:Right click anyone? by Anonymous Coward · · Score: 0

      If you want right-click, don't use a web browser for your application.

    2. Re:Right click anyone? by jrumney · · Score: 1

      Altio has right click events. I don't have much experience with others, but I'm surprised you haven't found anything else with them. I've even seen a demo of right click menus in AJAX, though it sometimes popped up the browser's right click menu behind the AJAX one in Firefox.

  29. Breaking the Model of the Web by Pfhorrest · · Score: 1

    The model of the web was broken the instant people started using it as a front-end for remote applications.

    The World Wide Web is (ostensibly) a network of hyperlinked documents. Dynamically-generated pages pulled as requests from a database is a bit of a stretch but still basically within that model, as a database record is not so different from a traditional stand-alone document: it's still just data.

    But cramming fancy interactive applications (games, etc) into this model is already a bastardization of it, with or without requiring external plugins. The notion of remote applications is fine, and I make great use of a number of "applications" on the web, but they really shouldn't be outputting their interface to what is essentially a document markup language. Imagine using an application whose interface was a read-only Word file that it updated and force-refreshed every time something changed. Sound ridiculous? Web applications aren't much different.

    --
    -Forrest Cameranesi, Geek of all Trades
    "I am Sam. Sam I am. I do not like trolls, flames, or spam."
  30. Radio Mixtape uses both by sryx · · Score: 1

    At Radio Mixtape (disclaimer, this is one of my sites), we use both technologies. Our site is accessible in most modern browsers (even cell phones) for browsing, downloading, and sharing so a reliance on Ajax and Flash is out of the question. However for building a mixtape (why our site is useful to most of our users) we use a flash applet(is that the right word) to display the selected tracks (it's really cool, the tracks are drawn on a cassette jacket in a handwriting font) by an XML feed. This gives us font embedding, guaranteed placement, total control over the look and feel and even back button support. However when you want to reorder the tracks you selected you are taken to a page that uses a simple drag and drop Javascript library and makes XMLHTTPRequest calles to save the changes in track order every time you drop a song in a new position. For sites like Radio Mixtape is has to be a balance, not everything looks good or works right in JavaScript+CSS+HTML, and Flash can actually be overkill for simple things. -Jason

  31. "Flash-player does not include XML capabilities" by mad.frog · · Score: 1

    This was a good article up until this point, which is utterly and completely wrong.

    Flash has supported XML parsing back to version 6, I think.

    Flash 9 includes E4X support as part of ActionScript 3, which puts it far ahead of most other solutions.

  32. MochiKit makes AJAX suck less by witten · · Score: 1

    One way to reduce the challenges of using Javascript and AJAX across browsers is to use a library that abstracts away many of the differences from one browser to another. One such library is MochiKit, which provides AJAX / remote scripting support, functional language tools, portable DOM manipulation, and event signalling. It's even got some cool flashy visual effects.

    Anyway, I'm not affiliated with the MochiKit at all; I'm just a very satisfied user and even use it on my own site.

  33. Diagrams by natrius · · Score: 1

    This is slightly off-topic, but what's the point of making a diagram if you're going to make it this complicated? That diagram provides basically no information, which is pretty typical of all the diagrams in Dion Hinchcliffe's articles that I've seen. It hurts.

  34. Re:What I REALLY do not understand about the web 2 by sploxx · · Score: 1
    Because HTTP is one of the not-so-many-left protocols that go through firewalls, forced proxies and filters.

    This is why application level firewalls are developed. Until all sides finally realize that they are just repeating history and that constraints on certain types of SOAP queries are not really different to constraints on certain TCP ports. In the meantime, a lot of those 'internet security consultants' got a lot of money in salaries for implementing such firewalls and the web traffic volume (and therefore the ISP stocks) got larger by the additional header of some protocol stacked onto HTTP. Worth mentioning are all those 'specialist' articles filling up pages in otherwise interesting computer magazines.

    Ok... :-) I'm exaggerating and simplifying a bit, but I think this is a very common pattern today.

    Because a browser is all you've got when you use a public terminal.

    They usually run on a fully-fledged GUI toolkit and a capable operating system...


    Because WWW has the biggest user base ever.

    Yes, this is probably the main reason (- I think the other of your arguments are essentially variations on this).

    But I do not think that it is a good idea to keep going this direction, just because there is a lot inertial.

    Oh, BTW, you're still using IPv4, don't you? ;-)

    Sadly, yes! I'd like to have all these IPv6 multicasting capabilities :-)
  35. MOD Parent Up!! by bjk002 · · Score: 1

    Flex 2.0, with cairngorm micro-architecture, front-ends.

    Java of your choice (hibernate, EJB 3.0, etc...) backend.

    A truly sweet combination.

    --
    Opinion:=TMyOpinion.Create(Me);
  36. Re:"Flash-player does not include XML capabilities by sryx · · Score: 1

    Radio Mixtape uses a Flash 6 applet that pulls down a XML document parses it and displays it information. I'd call that XML support, now if you meant XSLT or XPath support I might agree with you, anyone have experience with that one?
    -Jason

  37. The Future is Flash? by refitman · · Score: 1

    Nnnnooooooooooooo!!!!!

    An entire world of Mystery Meat, I don't think my eyes could take that

    --
    First God made idiots. That was for practice. Then He made Jack Thompson.
  38. Coverage of WinFx was woeful.... by MickDownUnder · · Score: 1

    "While WPF/E itself is a powerful Flash analogue, it doesn't have its own application development model like Flex or OpenLaszlo..." WTF !!!! What planet is this guy on ? Has he never heard of .NET.... and Visual Studio .NET ? Just what the hell is an application development model if .NET and Visual Studio don't count as one ? Is this guy completely clueless or what ?

  39. MS vs. SVG by overshoot · · Score: 1
    MS is bringing out their own proprietary format, which is actually kind of stupid since they could easily have embraced SVG in Adobe's absence, developed an architecture that leveraged it, and relied on the OSS community to feed the beast from a component/visualization perspective.

    Yeah, they could have. However, there are at least three big show-stoppers to that idea:

    • Not Invented Here. MS simply doesn't do other people's standards unless they are playing catch-up.
    • No differentiation. Anyone can do SVG as well on non-MS platforms as MS can on their own. That keeps MS from relegating every non-MS platform to second- and third-rate status.
    • They can't shut off competing implementations. Their ability to kill off non-MS "WPF/E" clients is a key strategic asset and they're not about to give it up.
    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
  40. The answer is WebStart by drgonzo59 · · Score: 3, Informative
    Java's WebStart solves this exact problem. We are not talking about Applets. These are more like full Java applications that the user can launch just by clicking on a link in the browser. The applications then load along with any necessary libraries and are cached on the users' computer. Optionally the user can even include it in the Start/Gnome/KDE menu.

    I wrote a quantum computing 3D visualization program in Java3D. The user can just click on the link in the browser and Java3D native libraries will be automatically downloaded and installed on the users' machine (of course after asking the user for permissions to do it) after that my application can use the native OpenGL drivers for fast 3D graphics. So it is both an Internet application (although it presently doesn't talk to a server in real time but it would also be possible) and it takes advantage of the fast native OpenGL graphics and the rich Swing GUI.

    1. Re:The answer is WebStart by Doc+Ruby · · Score: 1

      So how do I use WebStart in Firefox?

      --

      --
      make install -not war

    2. Re:The answer is WebStart by jrumney · · Score: 1

      You click on a link to a jnlp file (basically an XML file that describes what jars make up the application, how to run it, icons, splash screens etc). However this only solves your wanting to run Java web apps outside your browser and putting icons on the desktop/start menu etc. It does not solve any of the other things you'd like to do...

    3. Re:The answer is WebStart by Doc+Ruby · · Score: 1

      So the applet publisher generates their applet files and a JNLP file, marks up an HTML page embedding the applet by URL and linking to the JNLP file by URL, and puts all those files on a webserver. The user sees the page, likes the applet, clicks the link to the JNLP file and it installs to their local client machine. Does the user have to have any other software other than a standard Firefox (or other browser like IE, Mozilla, Safari) installed, like some kind of WebStart app installed (other than the JVM in their browser)? And is there any way for the user to validate that the installed applet is identical to the applet they tried in the page?

      --

      --
      make install -not war

    4. Re:The answer is WebStart by jrumney · · Score: 1

      Webstart comes as part of Java 1.4 and later, and was an extra bolt-on for 1.3, at least with the Sun JVM, not so sure about Apple and others.

      The webstart application won't be exactly the same as the Applet on the page, as it runs in its own Window, not in a Panel on the webbrowser. It is possible to minimise the differences and write an Applet with a main method to make the jars the same, but at least the startup and shutdown codepaths would be different. In most cases, the developers will write one or the other though. I don't think there is any way other than looking at the webpage source and jnlp file to tell that it is using the same URL for the jar files, and even then the webserver could be checking the Referrer or User-Agent headers to serve different jars from the same URL, so to be sure you'd have to run sha/md5 checks or if the jars are signed, compare the hashes in the signature on the cached jar files.

      Webstart applications run in a similar (maybe even identical) sandbox to applets, so to do anything to your system they need to be signed and you'd have to press OK on a signature dialog at startup. If the app is well written, you can still use the bits of it that don't need access outside the sandbox even if you reject the signature.

    5. Re:The answer is WebStart by drgonzo59 · · Score: 1

      Google webstart and JNLP

    6. Re:The answer is WebStart by Anonymous Coward · · Score: 0

      A better way to show you what Java Web Start does is to just send you to Sun's Demo Page or, if you prefer, One of the sample applications.

    7. Re:The answer is WebStart by Doc+Ruby · · Score: 1

      "You will need to have Java Web Start installed in order for the applications to launch. If it is not installed, you will be redirected to the Java Web Start setup page." .jnlp is not associated with any MIMEtype on my Ubuntu/Firefox system. I was not redirected, but just offered to download the file or open it with a selectable app from my filesystem. But I think I get it.

      --

      --
      make install -not war

    8. Re:The answer is WebStart by drgonzo59 · · Score: 1

      Sometimes it also depends on the web server. It also needs to advertise the MIME type of the file it sends. On Ubuntu, make sure to install Sun's Java that should associate .jnlp with the javaws executable.

  41. Eclipse RCP Applications by kdekorte · · Score: 1

    What about Eclipse RCP applications? They are apps that can be launched and updated from a website and yet, don't require an internet connection to function.

  42. SVG? by drgonzo59 · · Score: 1

    I wish SVG would take off at once. But the browser support is still lacking. I tried creating a small website in SVG using Inkscape only, it worked pretty well with Firefox but IE needed a plugin. But even Firefox still doesn't support the full 1.1 specification...

  43. Eventually, we get X over HTML by whyde · · Score: 1

    At some point, these "rich application frameworks" will get to the point where we've got a complete re-implementation of the X protocol over HTML. What a day.

    1. Re:Eventually, we get X over HTML by BritneySP2 · · Score: 0

      I have to disagree. The difference between X and a "rich client framework" the world is moving towards is that the latter (the framework) is supposed to be programmable so that, as applications evolve, more and more functionality is implemented on the client side - by automatically downloading and running client-side modules ("extensions", "plugins") - not just graphical ones, whereas the former (the X Window system) is far from being extensible in that same sense; with X, most of the work is still done on the server (by the X "clients"), and will be in the foreseeable future.

  44. Re:Event Streaming to Browsers (done in Anyterm) by Anonymous Coward · · Score: 0

    If you've used Anyterm (http://anyterm.org/) you'll have seen how this is possible without needing to add anything new to HTTP. Anyterm is a GPL terminal emulator on a web page, and there are demos on the site running tetris and adventure. It doesn't poll for updates; it sends an HTTP request and the server doesn't send a reply, keeping the connection opne, until there is data to send. (An eventual timeout is needed to keep the browser happy, but that can be ~30 seconds, compared to perhaps ~0.3 seconds that you would need to poll with for the same responsiveness). The performance is quite respectable (though perhaps the demos won't be if lots of slashdotters try them!).

    I have also applied this technique in Decimail Webmail (http://decimail.org/webmail/) which gets asynchronous notifications from the server, without polling, when new mail arrives. I'm planning to make this the most responsive and full-featured webmail app available, though it is currently very new. Please check it out.

  45. Re:What I REALLY do not understand about the web 2 by Bull+SR · · Score: 1

    >There are cross-platform thin-client network solutions like VNC or Nomachine's NX.

    It's a blessing and a curse that http connections are mostly ephemoral. Web 1.0 applications have built-in assumptions that the user at the other end can go away without so much as a by-your-leave. Just ask a terminal service or Citrix admin if s/he wants to see Web 2.0 implemented on persistent TCP connections. Yes, you can resume a disconnected session, but this raises the compentency requirement of the user. Also, it doesn't matter that VNC-like connections can run in small amounts of bandwidth, it's the consistent need for bandwidth that is the problem. When you introduce a certain amount of low bandwidth, low latency traffic (VOIP and terminal service traffic are similar in this regard) on the peaky Internets, you get a shaping and priority problem that requires some sort of end-to-end solution that we don't have today outside of institional will.

  46. The future is in XMPP. by Anonymous Coward · · Score: 0

    "All levels of the stack need fixing, not just server-side. We need more than just hacks."

    XMPP on one side. We may need to either retrofix existing browsers, or modify the existing XMPP clients.

  47. ZOPE by Lodragandraoidh · · Score: 1

    He missed ZOPE, with such add-ons as the Plone content management system, becomes very competitive in the RIA space. Zope uses the object database ZODB. Zope is written mostly in Python - and uses python as its development language of choice (although you can use others).

    Been using it for years -- it is stable as a rock, and Version 3 is looking very cool. If you love Python, then Zope is the development framework to use imho.

    --

    Lodragan Draoidh
    The more you explain it, the more I don't understand it. - Mark Twain
    1. Re:ZOPE by killjoe · · Score: 1

      Zope is not a rich client platform. Aside from that zope is too complex and poorly documented and a moving target.

      I used (not programmed) plone for a couple of years but I recently ditched. The straw that broke the camel's back was when my upgrade from plone 2.2 to plone 2.5 went horribly awry.

      Zope is a supreme waste of brilliance and innovation. How can something to innovative be so useless? Before you bring out the flamethrower ask yoursef this. How come not one plone blog tool is 1/10th as good as wordpress (written in PHP of all things), name one good Plone product to check your email?.

      The proper way to judge tools is by looking that what they built. Using that criterea Zope/Plone fails.

      --
      evil is as evil does
  48. Re:What I REALLY do not understand about the web 2 by RosenSama · · Score: 1
    There are cross-platform thin-client network solutions like VNC or Nomachine's NX. They do exactly what the web x.0 wants to do, they do it fast and they do it without all the bloat and packing/unpacking of (essentially very simple) data. ... and you can use your favourite GUI toolkit to build applications.
    Am I thinking about this wrong? If you offer an application via VNC or NX the entire environment consists of more total resources, with the extra requirements falling on the backend.

    When you expose your appliction as a web 2.0 app, your backend includes the application's backend and the shared environment (web/database server, etc) it depends on.

    When you expose your application via VNC/NX, you have to additionally provide the per-user user environment (windowing, at least). The client machine is already providing the window managaer etc to run the thin client in, so why duplicate that in the backend? The flipside of thin client is fatter backend.

    Is a thin client that much thinner than a web browser anyway? Another thing to think about is when you go thin client you're marrying to the client. I guess it's like just coding your web 2.0 junk for compatibility with only one web browser. That might be a pro or con, depending on who you are and what you're doing. Is there a way to run thin clients without needing to install software on the host?
  49. Bleedin' 'eck I hope AJAX gets some help... by Elbowgeek · · Score: 1

    The few AJAX enabled web apps I've used, as well as any web page which relies heavily on javascribble, have been slow to the point of almost unusability. Take Yahoo's new web mail client - please! Looks slick and can do almost anything a fully compiled app with native code is capable of, is frustratingly slug-like. Add to that scripts which time out or just crap out for no reason, and my P4 machine regresses to a 80386. I didn't pay all this money for a P4 to end up with a 15-year old computer.

    What TFA is saying is that perhaps plugins - applications compiled and running on native code - are the way forward. To which I can only say - what the heck took you so long to figure *that* out?

    Oy.

    --
    Who is this delectable creature with an insatiable love of the dead?
  50. This is one war ... by Spiked_Three · · Score: 1

    where I wish someone would just drop a nuc on all the participants.

    WTF does so many people crave web apps to begin with?

    --
    slashdot troll = you make a compelling argument I do not like the implications of.
  51. Re:What I REALLY do not understand about the web 2 by SomeOtherGuy · · Score: 1

    Excellent reply! In the corporate environment these days, if it don't work in my browser over standard HTTP port 80 - it won't work period. Everything is locked down so tight, that even installing the "plugin of the day" is not an option.

    --
    (+1 Funny) only if I laugh out loud.
  52. YOU UNIX HIPPIES NEED TO BATHE by Anonymous Coward · · Score: 0

    get out of your basement, this isint 1970.

  53. What are you talking about? by Anonymous Coward · · Score: 0

    Zope doesn't have anything relating to RIA at all. Its just normal old web development, no flash or ajax or any other gay nonsense.

  54. Re:What I REALLY do not understand about the web 2 by jrumney · · Score: 2, Informative

    There are cross-platform thin-client network solutions like VNC or Nomachine's NX. They do exactly what the web x.0 wants to do, they do it fast and they do it without all the bloat and packing/unpacking of (essentially very simple) data.

    You've got it backwards. VNC and the like send bitmaps across the wire. Bitmaps, even with compression, are more bloated and take more packing and unpacking than simple data. Other reasons to prefer AJAX, Flex, Laszlo, Altio, Nexaweb or other similar frameworks rather than terminal server type products are:

    • Responsiveness - each mouse click or keystroke and pixel draw does not have to travel the network.
    • Scalability - the client is doing all the UI work, the server only needs to handle serving and saving the data
    • Ubiquity - web browsers are everywhere, Flash and Java plugins are nearly everywhere. VNC clients are confined to the IT department's desktops.
    • Firewalls - most firewalls will let you through on port 80. Many companies clamp down on port 5301 (or whatever)

    Also, the article gets it wrong when it states that these frameworks have suddenly started appearing in the last year since AJAX became popular. Aside from Flex, the products I've named above date back to around 2000. They're becoming more visible now that people are starting to see the possibilities of RIAs, but the 6+ year history behind some of these products means they're already stable, quality frameworks with good developer support.

  55. Grrr marketing speak by nurb432 · · Score: 1

    the next time i hear or see the words ' rich experience' im going to scream.

    --
    ---- Booth was a patriot ----
  56. MOD PARENT UP. by MartinG · · Score: 1

    Echo2 is a dream to develop with (forget html, form backing objects etc. Think swing api)

    The cross browser compatibility is excellent, the performance impressive and writing your own custom components (not that you'll often need to) is not too bad either.

    Give it a go and you'll see what I mean.

    Have a look at the demo app to see what it can do: http://demo.nextapp.com/Demo/app

    --
    -- MartinG To mail me: echo kewyjlcxyzvjfxbqwh | tr bcefhjklqvwxyz .@adgimnoprstu
    1. Re:MOD PARENT UP. by Anonymous Coward · · Score: 0

      .. I just get an empty page (?)
      (Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.5) Gecko/20060731 Ubuntu/dapper-security Firefox/1.5.0.5)

  57. A fine example of this kind of tech mixture. by tiago.cardoso · · Score: 1

    Mainada Comics Sketch is a fine example of this new RIA aproach. http://www.mainada.net/comicssketch is a place for artists and users to draw their own comic strips online. This site uses rails/ajax approach and implements Open Laszlo features on top of it. It's a great example of the new generation of RIA sites and portals. Here you can browse comic strips with the conviniency of ajax, take advantage of flash to view animations and real time drawing strip playback. And due to Laszlo great features, anyone can draw complete comic strips directly online and publish them on-the-fly. This kind of mixture is great, having the right portion of html and ajax, to have a fluid yet google-friendly site and flash/openlaszlo components to give more dynamic and richness to it's main contents. Try openlaszlo. It's easy to integrate with ruby or any other related framework (ruby or python). If you have any talent or curiosity, feel free to use the site.

    --
    Tiago Cardoso
  58. Re:What I REALLY do not understand about the web 2 by sploxx · · Score: 1

    t's a blessing and a curse that http connections are mostly ephemoral. Web 1.0 applications have built-in assumptions that the user at the other end can go away without so much as a by-your-leave. Just ask a terminal service or Citrix admin if s/he wants to see Web 2.0 implemented on persistent TCP connections.

    I have to be honest here... I do not have any information about what current TCP as a transport for a terminal-like UI would mean for the infrastructure.

    But (as you also mention), there is already VoIP (and IRC and online games!). And some popular Web 2.0 applications. And the net still works. And the web2 isn't stateless any longer.

    This effect - if it exists at all on such a scale, which I doubt (any references?) - could be easily mitigated by longer delay between keepalive messages.

    A laggy end user experience with a VNC-like remote UI... ok, that's a valid point. But of course, it does not need to be solely pixel based and it does not need to transfer every mouse click.

    I just think that some simple, low bandwidth standard for 'fullscreen remote applications' would be a better idea than the extension of HTTP+HTML with a lot of heavy APIs and many layers of software.

  59. Re:"Flash-player does not include XML capabilities by billDCat · · Score: 1

    I saw that too. I have no idea how he came to that conclusion, as any amount of research (such as a Google search for "Flash XML") will show many examples of using XML with Flash.

    For the record, XML has been a part of the player since version 5, as well as the XMLSocket class. It was slow at the time (it was itself written with ActionScript), but version 6 and later rewrote the class to use C code instead. Version 7 provided data components that could call SOAP or REST based web services (which of course are XML based). As you mention, Flash 9 provides e4x, which I must say is really nice and dang fast.

  60. Re:"Flash-player does not include XML capabilities by billDCat · · Score: 1

    Flash 9 provides e4x, which is basically an XPath like implementation. There are no XSLT tools available to the Flash plugin itself. If XSLT is used, the transformation is done before the data gets to the Flash app, where Flash is basically just another target for an XSLT template. We have used this to generate XML input for Flash and HTML alternate content for those who do not want to use the Flash version.

  61. Damn right! by Anonymous Coward · · Score: 0

    The web needs a MAJOR overhaul indeed. Even when there's talks about some new stuff (SVG? XForms? XUL? XHTML+Voice? ...) it never ends up being implemented or used. Stateless HTTP could use a good replacement indeed, and I wish there was something better than relying on tons of javascript to get anything done client side: dhtml widgets, callbacks, animations - almost everything... I'm starting to see some pages with a LOT of javascript bloat - javascripts for ads, javascript for counters (google analytics namely), large javascripts for AJAX toolkits, TONS of javascript for widgets like FCKEditor or FreeTextBox, etc. If things keep going that way, soon enough pages will have over a meg of javascript. But the most aggravating thing is HTML form elements - what a lame set of widgets! Heck, shitty old VB3 had better widgets than that! Hell, try to find a simple combobox that works in more than one browser (no such native control - because that could be useful)! So far, I've only found 2 such things and they're commercial (like 300$/server - ouch!). Yes, there's a bunch of others that don't look like a native combobox, or that only work with IE, or some that work with most browsers - using a HTC for IE and which are a nightmare to setup and use, etc (and none of those being components - you gotta make that happen yourself; they're just a javascript that's used with a bunch of ugly form elements with a bunch of events, which sometimes doesn't work quite right).

    I'm not keen on the idea of a proprietary/closed Microsoft-only technology replacing "the web", but there's times whe I wish something like XAML just replaced it all - I'm sick of the old hacked-together sub-par technology that powers the web, and there's no hope of the W3C doing anything about it. They're just too damn slow.

    I've been thinking about using something else instead... But the alternatives are hardly better. ActiveX? Hell no! Java Applets? Nobody wants that! Flash? Perhaps the least evil of the bunch? It's bad enough that I've been considering using it as a front-end to web apps (and that's coming from someone who despises flash)

  62. Re:What I REALLY do not understand about the web 2 by sploxx · · Score: 1

    When you expose your application via VNC/NX, you have to additionally provide the per-user user environment (windowing, at least). The client machine is already providing the window managaer etc to run the thin client in, so why duplicate that in the backend? The flipside of thin client is fatter backend.
    True, but I still doubt that simple server-side windowing (it's about a web app, not a web desktop, isn't it?) will be more resource hungry than producing messages for a fat API to the client. This api does not even exists implicitely in the server case.
    Form handling this, templating that... or, for example, managing sessions through complicated and fault-prone mechanisms which are as least as complicated as unix process management.

    Consider also that there are (already) a lot of incompatibilities in the client API. A standard for a fat client (which also gets a fatter and fatter API with all the 'neccessary' extensions) is more complicated and therefore much harder to implement correctly.

  63. May be he was prepared by Nicolay77 · · Score: 1

    Java is a bitch to program when you know better languages*, you feel trapped, limited and frustrated.
    But compared to AJAX? Yes, it's better, if your application is complex enough. Java looks ugly though.

    So may be he had very few programming skills. But it's entirely possible that he had superb programming skills** and still would though the same.

    * by better languages I mean Lisp, not C#.
    ** try explaining closures or continuations to a Java-only programmer.

    --
    We are Turing O-Machines. The Oracle is out there.
    1. Re:May be he was prepared by rtilghman · · Score: 1


      I'm alwats fully prepared, but seeing that I'm an architect (UE) and not a programmer I wouldn't be in a position to code anything in Java. :) I architect the solution dude, for implementation I rely on very skilled programmers.

      The comments about Java are based on just about any implementation of a visualization element using Java. Say what you want, I have NEVER, to date, seen a display component (like a pie chart) that uses Java applets and is anything close to stable. Java applets for visuals are buggy, a resource hog, unstable, and a nightmare in general.

      You're correct, its entirely possible I've just never seen a good implementation. However, given that I've been designing and developing applications since 1997 I find this argument highly unlikely. The only people I've ever met who like Java applets are Java the programmers themselves. :)

      -rt

    2. Re:May be he was prepared by rossifer · · Score: 1
      ** try explaining closures or continuations to a Java-only programmer.
      Closures: A closure is a function that can access the variables of the surrounding context where it's executed. You know anonymous inner classes? When you declare and call an anonymous inner class in a function, you're using one kind of closure, though it has some limitations on accessing local variables compared to what you can do with true closures in List, Smalltalk, Ruby, etc.

      Continuation: Have you ever wanted to write a web-based wizard that could receive a user response to step 3 and didn't have to go back recheck that the previous steps were complete before acting on the new data? What you want are continuations, the ability to set aside the complete state of the context (not just some values from the context ala Session variables) and go back to that state later.

      Luckily, with Java's thread model, continuations have been available since Java 1.1, though only RIFE currently supports them as a part of it's web flow. Unluckily, Threads are not perfect continuations, because they cannot be duplicated and can not be made re-entrant. Further unluckily, EJBs are actively hostile to Thread-based continuations, because they deliberately use Thread context in ways which make it almost impossible to use a Thread as a continuation container (think transaction boundaries). Luckily, since EJB's suck in so many other ways, you're probably not using them and may be able to take a look at RIFE for your next project.

      Regards,
      Ross
    3. Re:May be he was prepared by Nicolay77 · · Score: 1

      Good, now we only need a Java-only programmer to see if he can understand this use of continuations using your explanation:
      http://docs.mandragor.org/files/Programming_langua ges/Scheme/Teach_Yourself_Scheme_in_Fixnum_Days_en /tysch016.htm

      Just kidding.

      Continuations aren't copies of the "complete state of the context" because that includes class and function definitions and so on, they are just a way to save the remainder of the function call stack into a variable. And then use that variable as a first order function, any number of times. You can implement backtracking without using any data structure using continuations, the same way you can implement "imposible to violate" private data protection using closures. (Not that I think private members are really useful.)

      Going back to closures, you don't need exotic languages, the super popular JavaScript has them ;)

      --
      We are Turing O-Machines. The Oracle is out there.
    4. Re:May be he was prepared by rossifer · · Score: 1

      Point taken. For someone to grok Lisp, they're going to have to get beyond what's possible in Java.

      However, as someone who does mostly Java (more and more Ruby, however), I do know what closures and continuations are, and can get the point (and some basic explanations as to why they're useful) across to another Java programmer without too much angst. That I come from Lisp and Smalltalk (back in the day) probably has something to do with that.

      I do sincerely wish that a more generally useful continuation implementation existed in Java. No real reason why not, but at the moment, a third party implementation would have to interact with VM internals, which is sure to cause portability and maintenance problems.

      Regards,
      Ross

    5. Re:May be he was prepared by Nicolay77 · · Score: 1

      You're not alone, I too wish for a JVM/CLR that can be used for languages in the lisp family.
      I believe that continuations affect performance as the stack is a little more complex, but I don't know Scheme compilers internals to really assert that.
      I don't know if parrot is any closer to it.

      --
      We are Turing O-Machines. The Oracle is out there.
  64. Re:What I REALLY do not understand about the web 2 by JoPapaEd · · Score: 2, Insightful

    You should check out the discussion going on at ReadWriteWeb. Ebrahim Ezzy's post is interesting, as are the comments. There's also more followup from industry as they bring Web 2.0 products to market. SharpCast, TeamDirection and x-port. Hopefully with such interesting ideas, Web 2.0 won't implode like Web 1.0 did.

  65. Java Swing over WebStart by gamerice · · Score: 1

    Geeze, why don't you all just use Java Swing over Webstart! All problem solved!!!

  66. SVG has good visuals but no layout by Anonymous Coward · · Score: 0

    SVG + ECMAscript, when fully implemented, has the same major problem that Flash has: no decent automatic layout for complex pages.

    That's one of the real strengths of HTML. If you've ever written a GUI application in, say, Microsoft Windows.Forms or Gtk or whatever, and then redone it using HTML, you'll know that for many data-intensive applications, looks great in HTML with very little effort compared with the GUI toolkits.

    That's due to the wide range of handy CSS effects, good browser implementations etc., but it's also due to the HTML typesetting-style layout model. SVG and Flash both suffer from that same problem as GUI toolkits: you have to calculate layouts yourself except in very simple cases.

    Granted, the HTML model is also a problem for some types of layout. There's much potential for improvment there too.

    A hybrid of XHTML and SVG, with the typesetting-style layout model and GUI toolkit style layout methods as well (e.g. vertical box with springs) has great potential in this department. Who knows, maybe the next version of Flash will do something like that.

  67. Article misses the Point by digital_ichi · · Score: 2, Interesting

    One thing that should be discussed when talking about the "The coming RIA wars..." (That have been going on for almost 5 years) are the benefits and limitation of the underly "VM" that the technologies are built on. For any given application one VM technology made be best suited for the application requirements. A framework can make it easy to use the VM and smooth the rough edges, add features but the true benefits and limitation come from the VM itself.

    Currently there are four different VM technologies people use to build RIA applications (in no particalur order).

    • 1.) Java
    • 2.) .NET
    • 3.) Flash
    • 4.) Browser / DHTML / Javascript

    The article http://ajax.sys-con.com/read/232046.htm provide a good breakdown of the VMs.
  68. Internet is just a fad... by Zerbs · · Score: 1

    Thin client, smart client, whatever you want to call it, won't last. We'll all be back in cleint/server mode in a few years.

    --
    "22 astronauts were born in Ohio. What is it about your state that makes people want to flee the Earth?" Stephen Colbert
  69. And thus bootcamp was born. by Corngood · · Score: 1

    To give Microsoft 95% of the market.

    1. Re:And thus bootcamp was born. by killjoe · · Score: 1

      Nobody is going to reboot just to visit your web site and buy a widget. They will go to your competitor instead.

      --
      evil is as evil does
  70. Flash is good now. by arete · · Score: 1

    Your Flash info is circa 2001. Now it has a real programming language behind it, and many of the most-used slownesses are optimized in the native player code so for many types of things you get surprisingly fast performance. (Obviously it's not native performance for real number crunching.. but the recent player versions take many things - like event management - and do them natively, so that part IS at native speed.)

    With Flex there's a really nice programming interface for every single part of Flash - no GUI required to create in Flex.

    --
    Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
  71. Speed/Sandbox - Flash/Flex & Java by arete · · Score: 1


    Speed:
    Remote Desktop solutions are reasonably secure (for the client) because the client only draws stuff. However, they are incredibly slow if you have a lot of users - because the you're doing ALL the work for EVERY client on the serverside. A well written Flash/Flex application does the vast majority of the work on the client side and only talks to the server when it needs to share something. This problem is tied to the responsiveness problem - even if it works over a low bandwidth connection, it can't work well over a high LATENCY connection. That is, if all the thinking is done on the server, the user experience must wait for a whole round trip before anything changes, which blows if you have any kind of latency at all.

    Sandbox:
    So you have to move most of the UI stuff to the client side so that user feedback happens without waiting for one or more round trips, and you want to move some random execution there so you can give the programmer complex and rich control over this. Of course, if you're going to do this, you need a secure sandbox to keep the computer safe from the remote app.

    Congratulations, we've just invented Flash, or Java applets.

    --
    Looking for freelance Actionscript (Flash/Flex) or ColdFusion work and/or freelance developers. Email me, put Slashdot
  72. X-Windows -vs- NeWS by SimHacker · · Score: 1

    It's "X-Windows" with a dash, if you want to maximize your chances of making people who insist on calling it "The X Window System" go apoplectic.

    And NeWS invented the BIG small BIG BIG capitalization style, long before NeXT copied it!

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
  73. APAX: Asynchronous Pixels and X by SimHacker · · Score: 0, Offtopic

    Since X-Windows is so pixel oriented, a natural scripting language would be a two-dimensional cellular automata like John von Neuman's 29 State Cellular Automata, which can run "Universal Constructor" programs that reproduce theselves or any other program. Since it's Turing Complete, you could script an emulator for any other language!

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
  74. Flex locks you into Flash, Laszlo supports DHTML by SimHacker · · Score: 1

    Why would anyone choose to tie themselves to proprietary Flash and FLEX, when you can have your cake and eat it too with OpenLaszlo, which supports both Flash and DHTML, and is completely Open Source?

    So when will FLEX support DHTML or SVG? The answer is NEVER, because it's designed to lock you in and make you depend on Flash 9 -- it not designed to be platform independent, like OpenLaszlo.

    FLEX is not Open Source, so you can't just add support for your favorite runtime or graphics model, the way Henry Minsky added SVG support to OpenLaszlo.

    -Don

    07.31.06
    Notes on writing a new OpenLaszlo kernel; SVG

    Posted in General at 12:30 pm by hminsky

    I've been interested in SVG (Scalable Vector Graphics) for a long time, and have thought it would make a good runtime platform for OpenLaszlo applications. With the development of the Legals release, I wanted to see how difficult it would be to port the DHTML kernel (which is still under development) to SVG. Since Firefox and Opera now support SVG 1.1 natively, it seemed like it was a good time to try this out. SVG is strong on graphics imaging and text rendering, I think of it like a free-software version of Adobe's crown jewels.

    With two days of hacking over the weekend, I got a large about of the Sprite API ported to SVG.

    Here's a version of the SVG kernel running, try this in Firefox: Try clicking on the gray area of the gray square, the red rect, or the blue rect, or the text string

    http://www.beartronics.com/svg/svg.html

    source of test LZX app
    http://www.beartronics.com/svg/sprite.lzx

    Flash version
    http://www.beartronics.com/svg/sprite.lzx.swf

    This tells me that the kernel API is pretty much on target, certainly for runtimes which have HTML/SVG javascript-like event handling.

    I was disappointed to learn that SVG 1.1 (which is what Firefox supports now) does not handle input text or wrapping text regions, however SVG 1.2 does have these, so I look forward to finishing this work when Firefox SVG 1.2 support is released, and then we will have an OpenLaszlo runtime with the beautiful imaging model from SVG.

    If time permits, I will try to clean up the SVG kernel enough to stick into an upcoming Legals release, so interested people can look at it. I haven't implemented image or data loading yet, and there's some bugs with background color names and defaults.

    SVG has been slow to gain traction, but I think it is one of the best hope for high quality portable graphics, and maybe even rich internet apps that use them, in the future.
    --
    Take a look and feel free: http://www.PieMenu.com
  75. Flash is just a generalized tag. by SimHacker · · Score: 1

    -Don

    --
    Take a look and feel free: http://www.PieMenu.com
  76. how many times does it have to be said? by master_p · · Score: 1

    What is needed is a distributed application environment. I've been saying this in every chance I have:

    http://developers.slashdot.org/comments.pl?sid=196 101&cid=16071312
    http://developers.slashdot.org/comments.pl?sid=195 852&cid=16052135

    Over and over will I repeat this, until someone that has the time and resources reads it and takes the right decision.

  77. Re:What I REALLY do not understand about the web 2 by Bull+SR · · Score: 1

    >This effect - if it exists at all on such a scale, which I doubt (any references?) - could be easily mitigated by longer delay between keepalive messages.

    Empirically I would expect increased needs for neartime delivery of information to have an effect near the consumer end of the tubes, where oversubsription is the norm and so far, seemingly necessarilly so. When it becomes common that the customer expects 32 kbps - 64kbs lag-less (VOIP realtime and one or two other neartime apps) one could predict that it will present a problem on even lightly loaded pipes (analyzed from a bursty model). Yeah, there are ways to deal with it, but they are not perfect, and I would expect voice degradation and lagging apps. It's not clear to me that end-to-end solutions are going to work on public networks because priority queuing would be gamed.

    Back in the day when I flew in a MMOG called Air Warrior, we called people with realtime packet delivery problems "warpers" because once packets caught up after a delay their plane would defy physics briefly (usually when you were just about to blow them out of the sky). Yes, this was in the age of modems, but the bandwidth requirements were miniscule (but the temporal needs were not).

    >A laggy end user experience with a VNC-like remote UI... ok, that's a valid point. But of course, it does not need to be solely pixel based and it does not need to transfer every mouse click.

    Yeah, that would be the extreme example. But is responsive apps with dynamic content updating from a distant host not a logical conclusion for where this is all headed? Maybe that's Web 2.5 or Web 3.0.

    >I just think that some simple, low bandwidth standard for 'fullscreen remote applications' would be a better idea than the extension of HTTP+HTML with a lot of heavy APIs and many layers of software.

    Makes sense. Twas just trying to point out that getting away from HTTP doesn't necessarily solve the neartime delivery issue.

  78. Re:What I REALLY do not understand about the web 2 by Flambergius · · Score: 1

    Its about scale. Web-scale to be exact. RESTful architectures (like HTTP) are proven on that scale, and pretty much nothing else is. VNC and the like are nice and have their uses, but you don't want to build an application for the web in general with them. You shouldn't be thinking about bandwidth, but rather about things like maintaining state for thousands of simultanious users, naming of third party resources and how to make your application benefit from caches.

    The REST article on wikipedia is rather terse, but can be used as a starting point. I personally found Roy Fielding's dissertation (http://www.ics.uci.edu/~fielding/pubs/dissertatio n/top.htm) pretty readable and convincing.

    --
    Computers are useless. They can only give you answers - Pablo Picasso
  79. Re:What I REALLY do not understand about the web 2 by Flambergius · · Score: 1

    I feel a bit silly replying myself, but ... Big part, possibly the biggest, of REST is that it allows the system (= web) to evolve incrementally over time.

    --
    Computers are useless. They can only give you answers - Pablo Picasso
  80. Javascript lacks audio support? Nonsense! by The_REAL_DZA · · Score: 1
    Alert( );


    To paraphrase Bill Gates: "'Beep!' should be enough sound for anybody!"
    --


    This space intentionally left (almost) blank.