Building Rich-Client-Like Web Apps With Echo 70
An anonymous reader writes: "IBM developerWorks is running a feature on the 'Echo' project, which is used for creating web apps that 'look and act like rich clients.' Echo uses HTML and JavaScript to render a user-interface in the browser instead of client-side plugins like Java WebStart. The API is similar to that of Swing. The article examines an example email client written with the technology. The framework itself is built on Java servlets, and is distributed under the LGPL. More examples can be found here."
advantage? (Score:5, Funny)
Re:advantage? (Score:5, Informative)
However the big thing at many companies today is 'do you have a web front end?' No, oh were going to someone who does. Why cause its considered 'cool and new and in and hip'. Yeah okay that's crap, but talk to an exective and that is what many want for some reason. My companies president is just this way. He wanted a java web application front end. He didn't know what he was asking, but he wanted it anyway. What a dumbass huh?
Why is this happening? Maintenance and deployment. I can setup a webserver and when I need to push an update to the software out to the users I just update the webserver and everyone gets it. Java applets may get broken if the right VM is not on the client. Javascript is pretty basic and much of it can be coded to work well with both IE and mozilla and netscape. There is plenty of browser detection code in JS already out there. Rich clients are what people want too.
Also this means that one can lock down a desktop system so that it only has a web browser and everything a user does is done using the browser. Similar to the old green screen models, only now the client is a little more powerful.
Imagine having ot go and install software on 3000 users desktops. Asking users to install software themselves can sometimes be asking for disaster. mac's update is pretty good, but now you just have to get the users to run the update.
Software push is the way that companies want to go, and the web offers them the easy way to push.
Yeah everything is 'web this / web that' but so what?
Anyway, this whole echo stuff is just allowing a java developer to develop code for a rich client that happens to be a web browser without having to think about cookies and maintaing state. What's so bad about that. Hey if you don't like it dont use it.
Re:advantage? (Score:1)
1. Install Linux on a good server.
2. Write your program in whatever language.
3. Install an X server on the clients.
4. Profit!
There you go. Just one place to update when you need to change something. Although not even that is needed. I maintain a program that doesn't have such a huge amount of users, but it has auto-update already. We even have support for blocking too old programs. So it's really not such a big problem.
Re:advantage? (Score:2)
Step 4 seems to fade away quickly...
Re:advantage? (Score:1)
For users that need to access the program from home it's of course much more efficent to run it locally. Home users usually aren't limited to only HTTP, though.
And in any case, a normal mail client needs much less bandwidth than webmail.
Re:advantage? (Score:2)
Re:advantage? (Score:2)
Re:advantage? (Score:2)
Now this is just painful (Score:2)
I thin
Re:advantage? (Score:3, Informative)
I take the point here to be "How does Echo fit with the needs of the creative/graphics design team when building applications?" Certainly a valid question.
First of all, I'd like to make clear that Echo isn't based on Swing, and you don't wind up u
Cart Before Horse Time (Score:2)
As a web applications developer who comes from a traditional software development background, I would state most emphatically that responsibility should be placed on the creative team not to make the mistake of believing that the user interface of an application is the place for their graphical elements.
Usability principles apply just as much to a web application as
This is dumb (Score:2, Interesting)
Web browsers are turning into the Emacs of desktop computing, and it's pissing me off. If you want a front-end, write a front-end, possibly in Java. When you need to communicate with the server, open a friggin socket. Or use XWT [xwt.org] or some other XML-RPC [xmlrpc.com]-based solution.
Oooh! But it's web-based! Fscking marketroids.
Re:This is dumb (Score:4, Insightful)
Yes, there are other ways to do it. Why do you feel threatened by another one?
Re:This is dumb (Score:5, Informative)
Echo seems interesting, and there is also Millstone [millstone.org], which is truly terminal independent, whereas Echo seems to be browser only.
Fundamentally the two platforms seem to be very similar, just take a look at the HelloWorld examples: HelloWorld with Echo [nextapp.com], HelloWorld with Millstone [millstone.org].
The important thing about a platform like this is the default component library, and at least Millstone has a versatile and strong component set that's also as small as possible. Take a look at their feature demo [millstone.org] that showcases the basic components. The feature demo itself runs on Millstone.
I'm with you (Score:2)
Re:I'm with you (Score:1, Funny)
Re:This is dumb (Score:2, Insightful)
As you said, "marketroids"...
Add a pinch of "anyone can use a web browser",
Stir in a dash of "we need lots of training for a 'proper' GUI",
Season with "GUI application support costs us money"
Then Bake until golden brown.
My problem is that I have yet to come across a browser-based interface for anything more complex than 'One-click shopping' that doesn't make me want to beat the designer over the head with a bat.
Anyone used Domino.doc - IBM's pre-eminent document management syste
OT: Your Sig... (Score:1)
That's a pet peeve of mine too (you know you're anal when you have a pet peeve about language usage
Kudos to you, sir!
Re:OT: Your Sig... (Score:2, Funny)
1) you have a pet peeve about lanuage usage
2) you turn it into a sig
3) you get frustrated at the 160ch limit because it means you can't put in the other valid use of 'effect' as a verb...
Re:This is dumb (Score:1)
Re:This is dumb (Score:1)
Java is a fat-client solution. Java applets from a modem are hair-raising. And, sockets often cannot get past firewalls without bothering the network admins with justification forms. HTTP is the way to go.
Or use XWT
My pet HTTP-GUI solution is SCGUI (Server-Controlled GUI). It attemps to be more thin-client so that you don't need the "emacs-sized browser" you speak of.
Gain, less pain (Score:3, Interesting)
I'll probably give it a shot if I can ever talk myself into playing with compilers again. Scripting languages like PHP are hard to give up...
Re:Gain, less pain (Score:2, Informative)
Yes, I know it's Win/IE only...
Re:Great! (Score:1)
Hmm . . .
Each of the sample apps don't seem to work in Mozilla Firebird 0.6.1.
Hmm . . .
(Yes, I have javascript enabled :-), I just pulled up HTMLArea [interactivetools.com]
Re:Great! (Score:2)
Warning, Echo does not work with Firebird 0.6.1 (Score:3, Informative)
Each of the sample apps don't seem to work in Mozilla Firebird 0.6.1.
Thanks for pointing this out. On looking into it, Echo does NOT appear work on Firebird 0.6.1 on either Windows or Linux. 0.6 works properly, as does a fresh nightly build that I downloaded just a minute ago. Mozilla 1.0-1.4 also should work fine. Mozilla and its derivatives are very much in the "first-tier" of target environments for Echo. It's quite frustrating to see that this problem with 0.6.1 was not previous
Re:Warning, Echo does not work with Firebird 0.6.1 (Score:2)
Diagnosis, work-around and description of fault all inside of 2 hours. That sort of support for a GPL'ed piece of software is very cool to see.
I'm definitely going to look into this one closely. Might help us with our java screen problems.
Thanks,
Jason Pollock
Re:Warning, Echo does not work with Firebird 0.6.1 (Score:1)
Wow!!!
I would have to say that the fact that you responded to this so quickly is impressive.
Software, no matter what quality, with this kind of support behind it is impressive. Because of this, I will definitely give Echo another look. Of course, I will upgrade my browser first. :-)
Very, very impressive.
Re:Warning, Echo does not work with Firebird 0.6.1 (Score:1)
swing, eh? (Score:5, Funny)
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaah!!!
That is all.
I've already made such a system (Score:4, Funny)
<html>
<head>
<title>My rich-client-like web app</title>
</head>
<body>
[ note to self: put forms and javascript and stuff here ]
</body>
</html>
EOQ
"Echo" is an unfortunate choice of name (Score:2)
Re:"Echo" is an unfortunate choice of name (Score:1)
Re:"Echo" is an unfortunate choice of name (Score:1)
Re:"Echo" is an unfortunate choice of name (Score:1)
Inefficient and Slow (Score:4, Interesting)
Re:Inefficient and Slow (Score:1)
The act of using JavaScript in place of a link should not have a noticeable impact on performance. Please take a look at the Echo high-level technical overview [nextapp.com] documentation for more information about why we're doing things like t
Re:Inefficient and Slow (Score:1)
you put this stuff in the 'critical path' between a user login and customer checkout and you're gonna lose money, period.
web apps that 'look and act like rich clients'?! (Score:4, Insightful)
Way, way too slow? (Score:2)
I would certainly like to find a workable solution such as this. However, the video poker is so slow as to be useless. People don't like waiting for a computer to respond. They want the computer to serve them, and wait for them.
Is there any way to speed the response? I'm using Mozilla 1.4.
Re:Way, way too slow? (Score:1)
Is there any way to speed the response? I'm using Mozilla 1.4.
I didn't write EchoPoint Casino, and worse, I'm not even familiar with the source code. I am all too familiar with the app from an end-user standpoint though.
I do know a bit of the history on the application though.
Slowness markets a technology negatively. (Score:2)
Tod,
Thanks for the reply. I will check into this.
Thought: I think it is unfortunate that this issue was not addressed before the story appeared on Slashdot. All the slow Java programs are destructive to the acceptance of Java, for example.
Customers have experience with their computers responding instantaneously when they work with a program on their hard drives. They want no less service from other technology. I find that it would be politically impossible to deliver an application that took any
Re:web apps that 'look and act like rich clients'? (Score:2)
I've seen enough to not be impressed.
> echopoint poker is good enough to kill a few hours
I DID specifically see that one. Refreshing the entire page when dealing? Ugh! That's NOT a rich GUI client.
If you want to see a rich GUI, look at XUL and Mozilla. Now there you can have serious rich GUI distributed apps. For a lot of people an HTML page simply doesn't qualify as a rich interface, regardless of how fancy the backend is. You're
can you build echo UI with NetBeans? (Score:1)
what echo is used for.... (Score:5, Insightful)
as some comments above state, echo will not cure little timmy's cancer.. it is a tool like all other tools and has it's place.
why not just deploy thick clients....? maintaining thick clients (or at least getting a jvms installed and running) is a pain.
it can use higher amounts of memory, it uses a lot of javascript, it can even generate a lot more html than 'absolutely' necessary.
that said, it's main purpose is for deploying 'rich' clients, generally on high bandwidth connections like a lan or corporate network.
for these possible issues (as they can be mitigated), you get 'real' component reuseability, massive refactoring support, type safety and last but not least..... no more need for html or linking.
these last 2 may seem trivial and even unnecessary, but the more important question, is why would you want to know these things? is it important when editing documents? is it important when writing thick client code to know exactly how each pixel is going to be written, and for that matter, that it's absolutely the most efficient?
the strangest part to me is why hasn't something like this already come about. every other language, java included, has some form of a Windowing Toolkit, why not a Web Windowing Toolkit. people started editing html files, then started making them dynamic, then just kept on going (myself included) like forrest gump. but why, when we began actually writing applications didn't we stop and build the tried and true abstraction models that have proven themselves over and over. if that had happened with thick clients, would we not be writing those in some form of pixel markup language?
anyways, it's not perfect (but i think it's quite close), but for that matter nothing is, but i tried it, and i don't know if i have it in me to ever go back, it was just way too much work before. i can only suggest you make the same leap.
Good luck for those who are willing to try it, it's an investment that returns.
Re:what echo is used for.... (Score:2)
the strangest part to me is why hasn't something like this already come about. every other language, java included, has some form of a Windowing Toolkit, why not a Web Windowing Toolkit.
There are otehr web wndowing toolksits, like wingS from www.mercator.de.
They mimic Swing as well, and generate HTML with a similar API like Swing does.
angel'o'sphere
Millstone (Score:2, Informative)
The code is not valid! (Score:4, Informative)
Such applications could break in future browsers. Browsers tend to become stricter and stricter. Only valid HTML is future-safe.
They can't even put a correct doctype declaration in the HTML!
And frames are crap anyway, even if you do the code right.
Re:The code is not valid! (Score:3, Insightful)
Such applications could break in future browsers. Browsers tend to become stricter and stricter. Only valid HTML is future-safe."
Rendering correct and "future-safe" HTML is a very critical concern in the development of Echo. In a few cases Echo will even render alternate non-standard HTML based on the results of browser detection. As we all know, browsers often don't conform to the spec. I'd personally love to be able to dump all such "workaround" code, but end-use
Re:The code is not valid! (Score:1, Insightful)
W3C's for example doesn't care for the following img "src" attribute:
src="/EchoWebMail/webmail?E_id=E_ls&E_z=107a6_ 0"
That would be because some characters (<> and &) are only ever supposed to be entered in encoded format (&code;) in an XML or HTML document. Most browsers are pretty loose with those, but it's not technically valid to have an ampersand that's not part of a character reference, (as < or > cannot be valid if not part of a tag)
src="/EchoWebMail/webmail?E_id=E_
Re:The code is not valid! (Score:2)
That's because the address is not correct. When the validator complains, it's most probably right, and your code is most probably wrong. Learn the rules!
And with Darren's help, we'll get that chicken! (Score:2)
Kramerica Industries
J. Peterman
Cromulent Technologies
Strickland Propane
Binford Industries
There's also Fishy Joe's, Interslice and CompuGlobalHyperMegaNet but I don't recognize which shows they come from. Anyone know?
Re:And with Darren's help, we'll get that chicken! (Score:1)
Doesn't work in Firebird (Score:1, Flamebait)
Standards compliant XHTML and CSS are the way to go with Web based apps. Sure, on old/non-standard browsers the pages might look like ass, but they should work.
Unlike this.. which only seems to work in my IE6, but not my browser of choice.
Re:Doesn't work in Firebird (Score:3, Informative)
This framework isn't written by IBM. The article is on IBM developerWorks, which is a developer's resource site that often publishes material on open-source third-party products.
Standards compliant XHTML and CSS are the way to go with Web based apps. Sure, on old/non-standard browsers the pages might look like ass, but they should work.
Unlike this.. which only seems to work in my IE6, but not my
mod_perl (Score:1)
Rich??? Yeah Right! (Score:1)
If I wanted to build rich interfaces I would use
Flash and Cold Fusion or PHP on the backend.
I don't really consider JavaScript to be "rich".
Calling a web interface that utilizes JavaScript and
HTML "rich" is about 3 years out of date.
Too bad it doesn't work with Mozillla (Score:1)
Other interesting packages (Score:1)
Multiple client-side web technologies (Score:2, Funny)
And there are a ton of languages which are supposed to make our lives better, too -
And of course we're supposed to run these wonderful things -
And whe
I am not impressed (Score:1)