Slashdot Mirror


Slashback: Echo, Lunchbox, Questions

TodLiebeck writes "The Echo framework, which is used for creating web applications that approach the functionality of rich clients, has received some significant updates since its last showing on Slashdot. The community-developed EchoPoint component library has hit v1.0 and now provides more than 50 components such as a chart container and a rich text editor. The recently released version 1.1 of Echo is now available under the Mozilla Public License (in addition to the LGPL). More information can be found in these two announcements on TheServerSide, and this recent article in the SDTimes." shimmerkid writes "After seeing almost nothing about audiolunchbox.com in your recent story about the perfect online music store, I felt a little vindicated when I received an email newsletter from them claiming they have become the "largest independent digital music store in the world." They have added Beggars/Matador and Kill Rock Stars among others, promising a total of 500,000 tracks (at 99 cents a track for unrestricted 192 kbps MP3 and Ogg) by December, and over a million tracks in 2005. The best part is that they pay the artists 65 cents a track."

Noksagt writes "The 50 questions for Bush and Kerry that were moderated and commented on in a previous /. story have been pared down to 20.

Vote for 10 of them at The New Voters Project Presidential Youth Debate. You don't even need /. mod points--just a valid email address!"

13 of 108 comments (clear)

  1. Where's the DHTML? by AKAImBatman · · Score: 5, Interesting

    Is it just me or do all the pages refresh every time you do anything? I've been doing some internal applications in DHTML lately and have learned the amount of stuff DHTML can do (even if you avoid some of the more browser specific stuff). There's little reason to refresh the page for every event.

    If you want to see what DHTML can *really* do. Look no further than DHTML Lemmings. It's an entirely self-contained application that can run on your local hard drive without the support of a server. The current level is cookied so that you don't have to start over when you close your browser. All parameter handling is done by parsing the URL with Javascript. In other words, there is ZERO need for a server.

    Less need for a server translates to less strain on the server. Less strain on the server means that your applications will perform faster for both the client and your company.

    1. Re:Where's the DHTML? by AKAImBatman · · Score: 3, Insightful

      Less need for a server != you must give up the server. In the DHTML I'm working on, I'm able to send individual field to the database without refreshing the page or doing a form submit. You see, there's a hidden iFrame that's designed to communicate one field at a time. If an error occurs upon submit, the returned version of the communications page embeds an alert popup to tell the user what the error was. After the user clicks on "ok". the field is reverted back to its previous form.

      Other implementations could mark the field in red and force focus until the user fixes it or hits escape. You could even embed some text in red all by changing the document via DHTML. The total amount of data that travels between the client and server? Less than a kilobyte!

      Less data == less bandwidth & processing
      Less bandwith & processing == more responsiveness & high load abilities
      More responsiveness & high load abilities == happier clients

    2. Re:Where's the DHTML? by AKAImBatman · · Score: 4, Informative


      More client side stuff == more memory load on the client, often disproportionate. [...] in the order of 30 MB for the application. There was only a few hundred K of javascript.


      True. But I'm doing DHTML on a 256MB machine. It's plenty fast enough. You always have to pay attention to whether DHTML will help your application or hurt it. If you need a very high level of interaction, and/or find yourself having to pump large amounts of uneeded data to the client (e.g. a combo box with ~10,000 rows), then DHTML makes sense. Otherwise, plain old HTML may actually be faster and more client friendly.

      1) Netscape 4 support. It sucks, and it's got a whole raft of bugs with dynamic frames and UTF-8.

      Time to give that up. I don't know about anyone else, but none of the sites I run support Netscape 4 anymore. It's not only 10 years old, but it's been replaced by several newer versions of Netscape, all of which function just fine with DHTML.

      Anyone who's still using Netscape 4 either has a VERY old computer, or needs their head checked.

    3. Re:Where's the DHTML? by los+furtive · · Score: 3, Insightful
      While DHTML Lemmings is a great example of the powers of DHTML, it is a poor example to contrast against a web application since it never needs to read/write from a db, nor communicate with a server.

      I do agree with your point though, although I haven't tried out Echo yet, the use of RPC via iframe, xml or whatever should help avoid reloading the page, and also decrease the effort required to maintain the state of the page (when done properly).

      Personally I've been using for this very purpose (and their excellent listgrid component) and have been very satisfied with it.

      --

      I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.

    4. Re:Where's the DHTML? by los+furtive · · Score: 3, Informative
      Crap, should have previewed ... that last paragraph should read:

      Personally I've been using domapi for this very purpose (and their excellent listgrid component) and have been very satisfied with it.

      --

      I'm a writer, a poet, a genius, I know it. I don't buy software, I grow it.

    5. Re:Where's the DHTML? by AKAImBatman · · Score: 3, Interesting

      While DHTML Lemmings is a great example of the powers of DHTML, it is a poor example to contrast against a web application since it never needs to read/write from a db, nor communicate with a server.

      While this is true, there are (unfortunately) very few public applications that make good use of DHTML. The only one that comes to mind is the example of GMail. DHTML greatly improves the user experience in that case and decreases their server load.

      Also, I gave a real-world example of DHTML here.

      That DOMAPI you mentioned looks very interesting. I'll have to check it out sometime. :-)

  2. Quote from the article makes no sense by tomhudson · · Score: 3, Insightful
    "We're moving away from the page-based perspective of Web app development, which is great for viewing documents," Liebeck said. "When you start getting into apps, with forms and validation, the page-based model breaks down." He cited as an example an application that, if the user's entries into a form are correct, will take you to the next screen, but must return a new window and highlight the incorrect fields if the entries are in error
    Maybe I'm missing something, but the example Liebeck gives contradicts his statement - it IS a page-based model, and one of the oldest ones, at that.

    If he wants a REAL example of something that acts more like a program, he should get a gmail account and see how interactive THAT is.

  3. Echo: what's with all the server round trips? by Anonymous Coward · · Score: 3, Interesting

    I picked a couple of controls from the Echopoint demo to look at:

    1. It takes ages to load. So what's it doing? Caching JavaScript?
    2. The DatePicker and DateFinder controls require a server round-trip to change the month you're looking at! That's way behind the times. So what happened to whatever it was loading for 1?
    3. The tree control seems to default to 'not client side'. That's wrong - it should autodetect.

    Now maybe this is all some protest against me because I'm using IE and it all works client-side by default in Mozilla - but that wouldn't be very professional.

    1. Re:Echo: what's with all the server round trips? by tomhudson · · Score: 3, Insightful
      I picked a couple of controls from the Echopoint demo to look at:

      It takes ages to load. So what's it doing? Caching JavaScript?
      It's currently doing a live demo of a server melting under the /. effect.
      "The operation timed out while attempting to contact my-server-is-SO-hosed-and-so-is-my-demo.nextapp.co m"
  4. "Rich" == "Fat" by IGnatius+T+Foobar · · Score: 5, Interesting

    "Rich client" is Microsoft-speak for "fat client." Don't let them define the rules of the game. They lost the browser war (yes, really, they did: they killed Netscape, but the goal was to prevent applications from moving from Windows to the Web, and at that they failed miserably) and now they're trying to take it back by relabeling the bloatedness of the conventional desktop as "rich."

    Sorry, I'm not buying it. There is no "rich." There is only "fat" (runs locally) and "thin" (runs remotely).

    --
    Tired of FB/Google censorship? Visit UNCENSORED!
  5. Competition by jole · · Score: 3, Interesting

    Echo has a wonderful model of writing web user interfaces. My company IT Mill Ltd is the author of an Open Source lisenced (LGPL) Millstone User Interface Library that is very similar (in model) to Echo. In my (biased of course) opinion Millstone provides developers with better UI components and more flexibility.

    Main difference is that Millstone UI components are not dependant on Web, but has been (as prototypes) shown to work also in Swing. When doing Web-development, Millstone provides flexibility of using XSL stylesheets (in addition to CSS) for themeing, which makes customization of Millstone UI easy and flexible.

    See the the online demo. If you have any questions, please join our just opened discussion forum.

    BTW: In addition of being an Open Source project, commercial support is provided (by us) and currently Millstone is used (has been for 3 years) in very large commercial applications.

    --
    Vaadin - the best open source framework for building web applications in Java - no plug
  6. Agnostic Widgets by LetterJ · · Score: 4, Interesting

    There are already several comments about how many round trips this uses even for changes in widgets, something I don't think should take a form post to do.

    I've been working with HTML Components/Behaviors to build elaborate interface widgets for my current project. By rolling up a bunch of code, complete widgets like drop down menu's can be put into place with a single tag.

    I'd avoided them in the past because they were IE only, but http://dean.edwards.name/my/behaviors/ (the same guy who did the IE7 compatibility stuff) has made it so the same component can work on Mozilla as well. As such, I've been looking for widget sets that can be used to build richer components.

    For example, I've got an HTML behavior for text boxes that adds an attribute of "validationrule". That behavior invokes the appropriate rule when the text box's onchange event is fired and warns the user (by invoking my "message" component's display_message() method) if the contents don't validate according to the rule.

    Does anyone know of a resource for things like this? Richer client side widgets, possibly implemented as HTC/RBL components?

  7. Echo looks cool, but... by WhiskerTheMad · · Score: 3, Insightful

    What about XUL? I took a brief look at it a few months back, and it looked pretty good-- but I decided to wait until they had a developer GUI ('cause I'm a lazy bastard :) How does echo stack up to XUL, or would that be comparing apples to oranges?

    --
    Love your country always, but respect your government only when it deserves it. -- Mark Twain