Slashback: Echo, Lunchbox, Questions 108
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!"
Where's the DHTML? (Score:5, Interesting)
If you want to see what DHTML can *really* do. Look no further than DHTML Lemmings [193.151.73.87]. It's an entirely self-contained application that can run on your local hard drive [xs4all.nl] 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.
Re:Where's the DHTML? (Score:4, Insightful)
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
Re:Where's the DHTML? (Score:1, Informative)
More client side stuff == more memory load on the client, often disproportionate.
which can negate the whole "re-use our old PCs, thin client" thing. I implemented an LDAP browser in DHTML for the day-job a few years back. The drawbacks were
1) Netscape 4 support. It sucks, and it's got a whole raft of bugs with dynamic frames and UTF-8.
2) Memory consumption, in the order of 30 MB for the application. There was only a few hundred K of javascr
Re:Where's the DHTML? (Score:5, 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.
Re:Where's the DHTML? (Score:2, Interesting)
True. But I'm doing DHTML on a 256MB machine.
Glad to hear it. Every once in a while we still get asked to do projects for sub-standard kit, though, e.g. we did one last year Win 95 with 32 MB (!) - I think it had end users across Africa or something.
I don't know about anyone else, but none of the sites I run support Netscape 4 anymore.
Yeah, it was a few years ago. Even then, Netscape 4 w
Re:Where's the DHTML? (Score:2)
I decided this a few years ago while working at a company doing ecommerce stuff. Basically our policy was for the site to be usable with NS4, but we never went out of our way to get DHTML stuff to work. One example I can remember is selecting options for a product (i
Re:Where's the DHTML? (Score:3, Informative)
It allows the server to communicate back to the remote app.
Nice lemmings post BTW.
Re:Where's the DHTML? (Score:1)
Re:Where's the DHTML? (Score:2)
Re:Where's the DHTML? (Score:2, Informative)
What you propose would be the equivalent of a Java application that woul maintain all of its state information in UI elements, with everything running client-side.
The way Echo works it is not possib
Re:Where's the DHTML? (Score:3, Interesting)
Believe it or not, DHTML can still improve this situation. Let's take the tree control as an example. Right now the current state of the tree is pushed to the client. When the client modifies the tree, it gets refreshed. But why?
Let's say we have a tree that looks like this:
Using DHTML, the serve
It's a packet network (Score:2)
So making the + sign in the tree listing an html link which yeilds a new page with the tree unfolded really doesn't cost you much different in performance, and it requires much less smarts and compatability on the browser side.
Now on the other hand, if you're text-editing a
Re:It's a packet network (Score:2)
In the real world, however, the savings would be immediate even with the exact example I gave. The reason is that most pages contain sidebars, titles, helpful text, and other controls. All of that data adds up, and can often be 10K or larger. In the DHTML web application I'm working on, pages are regularly 70K+. Yet since only minor parts of the page change, the savings are significant.
Re:Where's the DHTML? (Score:4, Insightful)
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.
Re:Where's the DHTML? (Score:4, Informative)
Personally I've been using domapi [domapi.com] for this very purpose (and their excellent listgrid component) and have been very satisfied with it.
Re:Where's the DHTML? (Score:4, Interesting)
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 [slashdot.org].
That DOMAPI you mentioned looks very interesting. I'll have to check it out sometime.
Re:Where's the DHTML? (Score:2)
I guess my only problem with it at this moment seems to be the necessary interfaces to the server to retrieve data. I've been partial to attempting to do server access (when required, say, on final save) in an iframe that's i
Re:Where's the DHTML? (Score:2)
2. Look at the second link I posted. There's a link to download the source, sans the graphics and sound.
3. Pages communicate via a combination of cookies and parsing the URL parameters.
4. To snag the graphics from the site, download the source code and try something like this:
find . -exec grep level_image {} \; > temp.txt
cat temp.txt | grep gfx | cut -d \' -f 6 > levels/gfx/gfx.txt
cd levels/gfx
wget -i gfx.txt -B [http://whateverthebasurlwas]/levels/gfx/ -nd
Re:Where's the DHTML? (Score:1)
In the current version, when Echo is notified of a server-side change to the state of the user interface, it will update the client by refreshing whatever HTML frame has changed. The long refresh delay you're seeing is in no small part caused by the demonstration server being entirely overloaded due to
Re:Where's the DHTML? (Score:2)
The long refresh delay you're seeing is in no small part caused by the demonstration server being entirely overloaded due to
Actually, I got to it before it was Slashdotted. The page refreshes were fast enough, but not so fast as to be unnoticeable. Even if you manage to make the "flash" the user sees invisible, they'll still notice when their screen scrolls back up to the top. I used to save the scroll position before refresh on an advanced calendar control that I had
Re:Where's the DHTML? (Score:1)
On the "maintainable JS issue", I can't tell you how many times I've had to rebut arguments of "Echo uses JavaScript, Java
Re:Where's the DHTML? (Score:2)
Unfortunately, I don't remember if they do and I can't check (for obvious reasons). Personally, that's not a hack I ever liked much. Especially since you have to set the location at the end of the page. This can cause the page to "jump" a little after reloading, making the flash that much harder to eliminate.
I'm looking forward to you guys using more DHTML.
Quote from the article makes no sense (Score:4, Insightful)
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.
Re: (Score:3, Interesting)
Re:Quote from the article makes no sense (Score:2)
And a table viewer that gets 1000 rows at a time from the server in "data:data:data:data" format, parses them out on the client side and showing 25 rows at a time. Only when you go beyond
Re: (Score:2)
Re:Quote from the article makes no sense (Score:2)
Re: (Score:2)
Re:Quote from the article makes no sense (Score:2)
Of course, I welcome feeeeeeedddddbbbbaaaaaccccckkkkkkk :-)
PS: I have 6 gmail invites, so if anyone wants ...
Re:Quote from the article makes no sense (Score:2)
Re:Quote from the article makes no sense (Score:3, Interesting)
Quickly served by the server (1000 records actually as quick as serving 25 records formatted by the server).
Then it's just a matter of doing a split betwen the colons, and some javascript to manipulate the page to change the values based on whether the user clicks next or previous..
I chose this as opposed to, for example, name=value, because that's more verbose, hence more time to send. I want speed and ease of codi
Re:Quote from the article makes no sense (Score:2)
Re: (Score:2)
Re:Quote from the article makes no sense (Score:2)
Re:Quote from the article makes no sense (Score:2)
He was running a server on a Windows box, so I showed him how, by replacing his page with a dummy page I wrote on his box w. notepad, I was able to get a command prompt...
Then I asked him if he'd like me to change the parameters so that, instead of giving me a command prompt, it would run "deltree c:\*.* /y".
Client-side is for presentation of data and user interaction, and preliminary che
Re:Quote from the article makes no sense (Score:2)
The question is what happens in the client after your request has been validated - they believe that a page submit/refresh should not be done, it should be done as it is in thick-client apps. Pop a messagebox, show your errors in a status bar, whatever. That's not a bad idea, really.
Re:Quote from the article makes no sense (Score:2)
Re:Quote from the article makes no sense (Score:1)
Re:Quote from the article makes no sense (Score:2)
Re:Quote from the article makes no sense (Score:2)
He means that from the development perspective it's moving away from a page based model.
In other words, the developer using the echo api codes their app much like any "normal" gui app using swing etc.
The fact that its really page based underneath is nicely hidden away.
We have been using the echo framework for over a year now and I can tell you its the nicest way I've found by a long way to develop web applications.
Re:Quote from the article makes no sense (Score:2)
Sorry about that - I'm not anti-java, just anti-swing :-)
Re:Quote from the article makes no sense (Score:1)
Re:Quote from the article makes no sense (Score:1)
http://www-106.ibm.com/developerworks/java/library
Another item worth checking out to better explain how Echo actually works from a technical perspective is to take a look at the "high-level technical overview" on the nextapp.com site:
http://www.nextapp.com/products/echo/do [nextapp.com]
Re:Quote from the article makes no sense (Score:2)
It seems to me you're asking the server to do a lot more work than my approach, which pushes almost all the work onto the client machine. Mind you, that's just my opinion. I want the server to just send the data, and the client to burn its cpu cycles to display it appropriately.
Mind you, I also subscribe to the theory that any transaction can be made stateless through proper design, such that it (the requested tr
Echo: what's with all the server round trips? (Score:3, Interesting)
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.
Re:Echo: what's with all the server round trips? (Score:4, Insightful)
Re:Echo: what's with all the server round trips? (Score:2)
It would have perhaps obviated the so-quick meltdown they had this morning, for one.
Re:Echo: what's with all the server round trips? (Score:2, Informative)
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?
The Slashdot effect has killed our server. Demos have since been temporarily pulled.
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?
The DatePicker/DateFinder are very old controls. They've since been replaced by the ClientDatePick
Framework for PHP? (Score:1, Interesting)
seems to be something like this, but I think it needs more support...
echo rocks (Score:2, Interesting)
"Rich" == "Fat" (Score:5, Interesting)
Sorry, I'm not buying it. There is no "rich." There is only "fat" (runs locally) and "thin" (runs remotely).
"Rich" != "Fat" (Score:1)
Features include: cut'n'paste OLE style stuff, full RTF editor, collapsable folders, alerts, the lot.
And all the Web designers running Mac Os X can access it 95%. They give the web client a big thumbs up.
It runs fine over my VPN to home.
So there is "rich" as in functionality. "Thin" vs. "Fat" came from having to do a local install. To access the Outlook web client, all you need is a browser, and not even IE.
Really it's pretty sensational, go check i
Re:"Rich" == "Fat" (Score:1)
http://www.macromedia.com/software/flex/
They lost the browser war - not quite (Score:2)
Well, sort of. Actually IE-specific Web applications are just fine as far as Microsoft is concerned. Especially ones that use
Microsoft doesn't care which Windows-only technology people use as long as it's Windows-only.
And by the way, it is possible to build new technologies that are as thin as the Web model, but that provide a much
Re:"Rich" == "Fat" (Score:1)
"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).
Just for the
Competition (Score:3, Interesting)
Echo has a wonderful model of writing web user interfaces. My company IT Mill Ltd [itmill.com] is the author of an Open Source lisenced (LGPL) Millstone User Interface Library [millstone.org] 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 [millstone.org]. If you have any questions, please join our just opened discussion forum [millstone.org].
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.
Re:Competition (Score:1)
Re:Competition (Score:1)
IE6.0 exact version is 6.0.2800.1106 ... if it helps ...
You like to live on the edge, don't you?
Re:Competition (Score:1)
what's the point? (Score:1, Insightful)
Re:what's the point? (Score:1)
Re:what's the point? (Score:1)
Re:what's the point? (Score:1)
Take a look at Zope (Score:3, Interesting)
http://www.zope.org/
Agnostic Widgets (Score:4, Interesting)
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?
Re:Agnostic Widgets (Score:1)
After all, for as much as people try to dress it up, building stuff on the web is basically text requests (http get and post) and data response (html and other files). If you funnel everything through
Echo looks cool, but... (Score:3, Insightful)
Re:Echo looks cool, but... (Score:1)
Re:Echo looks cool, but... (Score:1)
My advice (as someone who has only briefly looked at Echo but developed 2 fully fledged XUL apps) is that if you want to develop a rich web app now, use echo or something similar. It has more browser support, and the clear APIs will stop endless frustration/banding your head aga
Another rich web app development tool (Score:2)
It allows you to create object-oriented web apps in C which compile into tiny servers (and I mean tiny - the web server fits into the L1 cache on most computers). But they come with all the usual features like a templating system, database access and so on.
Rich.
Get rid of roundtrips... FLA** me! (Score:1)
Drug Policy (Score:3, Interesting)
There were three questions on drug policy, and for some reason they cut the best one and left the other two. Specifically it was the one pointing out the indisputable fact that alcohol is vastly more harmful and deadly than marijuana, so why the hell is alchol legal while marijuana is illegal?
It's a real bitch of a question for a polititian to directly confront, and I really wanted to see how they each handled it. The only options are to come out for legalization, to blatantly lie, to blatantly weasle out of the question, or blatant hypocrisy.
Well, I guess there's one other option, to come out for prohibition of alcohol. Chuckle.
-
Re: Borders, family values. (Score:1)
And, of course, the question relating to traditional family values went down in flames. Apparently, ya just can't have that shit here on
Echo is quite poor (read slow) (Score:1)
In reality there is nothing stopping the development of web applications that replicate the usability of traditional desktop applications, but have the power of large connected databases.
If you want to look at some good resources checkout:
www.bindows.com
www.netwindows.org
The power of web applications was hinted at in the first dot com era, but it is actually a viable r
Mod Parent Up (Score:2)