Post #36,712
4/28/02 11:29:44 AM
|
Perhaps you should read this:
[link|http://www.alistapart.com/stories/dom/|Meet The DOM].
Also, talk to Scott. He's got experience of making DOM stuff work properly across functional browsers (which, really, means Mozilla/Netscape 6, and IE5+).
I know it's fun to handwave and bitch about stuff, but a lot of people get a lot of stuff done with this, and your experience doesn't negate that, as much as you would seem to like it to.
Specific points I have to take issue with:
What changes in IE are designed to increase lockin?
Where do you get your figures on Netscape market share? Do you think AOL and Compuserve going to the Gecko rendering engine (figure, say, some 50 million users) will change the way corporations design their sites?
How do you know what the "biz market" (how delightfully vague) wants? Until you do SCGUI cross-platform, and demonstrate why it's better, than, say, X or HTTP or VNC or SSH (all of which are proven), then why should anyone care?
Why is DOM "broken"? What do you mean by this?
Why are you comparing intranets with the internet?
B2B is going to be all about DOM-based forms. Hook that up with SSL or HTTPS, back it up with an XML data solution (yeah yeah I know. Hey, the suits like the letters "XML". Bite me.) and you're basically looking at the future of the supply chain.
Peter [link|http://www.debian.org|Shill For Hire] [link|http://www.kuro5hin.org|There is no K5 Cabal]
|
Post #37,071
5/1/02 2:03:28 PM
|
event driven
(* I know it's fun to handwave and bitch about stuff, but a lot of people get a lot of stuff done with this, and your experience doesn't negate that, as much as you would seem to like it to. *)
I agree that a lot of stuff is indeed "doable". However, it is an akward paradigm for biz forms and the implemenations are buggy.
(* What changes in IE are designed to increase lockin? *)
There are things that work in IE that don't work in Netscape, and are probably not standard.
(* Where do you get your figures on Netscape market share? Do you think AOL and Compuserve going to the Gecko rendering engine (figure, say, some 50 million users) will change the way corporations design their sites? *)
I think you are misunderstanding me. I am making a distinction between B-to-C and B-to-B. JS+DOM+HTML is *fine* for most B-to-C. However, it is a poor match for B-to-B and intranets (BBI).
(* How do you know what the "biz market" (how delightfully vague) wants? *)
I have consulted at about 5 companies that seem to want the same thing: BBI web apps that behave like VB apps.
(* Why is DOM "broken"? What do you mean by this? *)
Again, it is optimized for e-brochures, not biz forms, and its implementation is buggy and inconsistent across vendors.
Business go with web-based BBI solutions because they don't like managing/visiting individual desktops. However, they *prefer* a classic client/server interface (VB/Delphi/Powerbuilder).
They want GUI's over HTTP. (Why other protocols are being excluded here was discussed in length about 6 months ago.)
Getting JS+DOM+HTML (JDH) to act like c/s apps is a royal pain in the butt. Even if you think that it is *possible* to get JDH to act like a VB application, you have to agree that it is not the optimum approach from a developer's perspective. VB/Delphi/PB are *optimized* for such application design, JDH is not.
At best, JDH could be "fixed" so that c/s-like apps are *possible*. But, it still would not be optimized for such solutions from a developer's perspective. (Perhaps it could all be server-generated such that the IDE acts like VB/D/PB, but the client only sees JDH. Until I see it in action, I am a bit skeptical, but would use it if it caught on and the IDE's were "normal".)
If orderQty < StockQty + 5 ....ans = yesNoBox("Inventory is Low. Still order?") ....if not ans .........closeScreen(foo) .........return ....end if end if update_screen_with_new_order....
You cant easily have strait-forward code like this in JDH with the typical CGI-like "submit" approach. (And if you do it all client-side, then you are back to the fat-client model.) The yes/no box and CloseScreen operation have to be two different "web transations". In web programming, you not only have to recreate the state on each "submit cycle", but also recreate the program pointer (execution position in the code) to pull this off. If the model behaved like event-driven GUI IDE's, life would be simpler.
|
Post #37,084
5/1/02 2:48:49 PM
|
Quoting
(* What changes in IE are designed to increase lockin? *) Perhaps in any discussion on the intracacies of DOM, one would seem more authoratative by using a little HTML - instead of trying to mimic Pascal block comments. :-)
|
Post #37,299
5/3/02 12:25:26 AM
|
WYSIWYG
(* Perhaps in any discussion on the intracacies of DOM, one would seem more authoratative by using a little HTML - instead of trying to mimic Pascal block comments. :*)
HTML is not WYSIWYG. "(*....*)" is.
________________ oop.ismad.com
|
Post #37,301
5/3/02 12:44:36 AM
|
Use blockquote.
<blockquote type="cite"> Rhubarb rhubarb </blockquote> produces Rhubarb rhubarb
and is substantially easier to read.
Peter [link|http://www.debian.org|Shill For Hire] [link|http://www.kuro5hin.org|There is no K5 Cabal]
|
Post #37,350
5/3/02 1:02:41 PM
|
still not WYSIWYG
(* Use blockquote .....substantially easier to read. *)
Still not WYSIWYG. Do you really find that significantly harder to read? I personally see no problem with Pascal-style, but everybody's eyes are different. Besides, I got into the habit while trolling slashdot and others with anti-OO rhetoric :-) It might take a while to break the habit.
Blockquoting like that is too easy to mistype anyhow. A typo that may "work" in IE may not work in Netscape, for example. That is why I trended toward WYSIWYG ascii.
________________ oop.ismad.com
|
Post #37,446
5/4/02 2:15:47 AM
|
Get over yourself
"too easy to mistype"?
That's what the Preview thinger is for.
Pascal style "comments" in discussions are significantly harder to read because they have more visual overhead.
But then, you're just determined to be obtuse so I might as well abandon this.
Peter [link|http://www.debian.org|Shill For Hire] [link|http://www.kuro5hin.org|There is no K5 Cabal]
|
Post #37,540
5/4/02 11:39:41 PM
|
whatever
(* Pascal style "comments" in discussions are significantly harder to read because they have more visual overhead. *)
I honestly disagree. But, everybody's eyes and heads work different. Thus, if you say they are harder to read (for you), then I respect that. However, I am still gonna use Pascy. If you don't like it, then don't read it.
(* That's what the Preview thinger is for. *)
That does not necessarily detect browser differences for mistyped HTML.
________________ oop.ismad.com
|
Post #37,595
5/5/02 9:50:33 PM
|
Mistyped HTML...
... the HTML filter here will detect such things. It isn't an issue.
Regards,
-scott anderson
"Welcome to Rivendell, Mr. Anderson..."
|
Post #37,090
5/1/02 3:31:32 PM
|
GUIs over HTTP.
Java.
Game over.
You don't like it?
Sucks to be you.
Peter [link|http://www.debian.org|Shill For Hire] [link|http://www.kuro5hin.org|There is no K5 Cabal]
|
Post #37,204
5/2/02 12:30:12 PM
|
Java applets == fat client (-nt)
re: "Java. Game over."
________________ oop.ismad.com
|
Post #37,295
5/3/02 12:10:45 AM
|
Er, no.
A JRE doesn't really qualify as a "fat client".
HAVING to run Windows, now THAT's fat.
Peter [link|http://www.debian.org|Shill For Hire] [link|http://www.kuro5hin.org|There is no K5 Cabal]
|
Post #37,297
5/3/02 12:22:36 AM
|
Obese
(* A JRE doesn't really qualify as a "fat client". *)
It ain't skinny.
The biggest factor of a "fat" client is downloading programming code to the client. IOW, depending on the client executing app-specific code written in a Turing-complete language.
My HR benefits were available on some Java applet written by (or for) a fairly large benefits mgmt company. It took about 20 minutes to download via modem to check on my HMO status. F that!
(* HAVING to run Windows, now THAT's fat. *)
But that is not a remote-app issue. IOW, besides the point.
________________ oop.ismad.com
|
Post #37,300
5/3/02 12:41:11 AM
|
Still wrong.
You can get Java on a mobile phone or a Palm Pilot.
[link|http://java.sun.com/products/cldc/|http://java.sun.com/products/cldc/]
"At the heart of CLDC is Sun's K virtual machine (KVM), a virtual machine designed from the ground up with the constraints of inexpensive mobile devices in mind. Named to reflect that its size is measured in the tens of kilobytes, CLDC is suitable for devices with 16/32-bit RISC/CISC microprocessors/controllers, and with as little as 160 KB of total memory available -- 128 KB of which is for the storage of the actual virtual machine and libraries themselves."
128KBytes
At what point do you concede?
Peter [link|http://www.debian.org|Shill For Hire] [link|http://www.kuro5hin.org|There is no K5 Cabal]
|
Post #37,353
5/3/02 1:13:38 PM
|
You are missing the point.
It is *not* the size of the VM that matters. Besides, the mobile-phone VM's don't have "normal" GUI widgets like scrollable grids.
It is having to download *app-specific* programming code that is the problem. Mainly because:
1. Creates security problems when coders find ways around VM security.
2. Takes too long to download the app-specific code.
3. Enhances browser/client versioning issues because a "dynamic" language is more complex than a "static" one.
4. Allows business logic to go to the client, creating more security risks (similar, but not identical to #1 since one is harming the client and the other the biz). VM-destined code is relatively easily disectable. A server based solution does not normally allow one to see the biz logic code itself, including the compiled form.
________________ oop.ismad.com
|
Post #38,374
5/12/02 8:39:37 AM
|
I've got a better example.
The bank with my day-to-day account uses a Java applet for over-the-web account management, like paying bills, viewing online statements, etc. I often use it from behind a V.90 modem. It doesn't take any longer to load than most pages on the web. I also found another applet from the same bank used to query their share price. Also quite small.
Your HMO's applet is either far too large or their server was being very slow and very difficult. You should find an email address and tell 'em; they might be wondering why it's not very popular and have no idea why.
Wade.
"All around me are nothing but fakes Come with me on the biggest fake of all!"
|
Post #38,481
5/13/02 2:41:25 PM
|
Exception to the rule
Your HMO's applet is either far too large or their server was being very slow and very difficult.
I have had multiple slow experiences with different applets and different machines. If developers bust their balls, then yes one can make a smaller applet (usually by moving as much of the biz logic to the server as possible. Which brings up another issue: biz logic on the client is relatively easy to reverse engineer. Bytecode labelers and analyzers readily exist.)
It is moot anyhow, because MS is pulling the plug on most Java in their browsers, making it even less consistent than before.
The Java Applet model is pretty much dead.
|
Post #38,485
5/13/02 2:55:53 PM
|
Huh?
MS is pulling the plug on most Java in their browsers, making it even less consistent than before So - the divergent version of 'java.not' produced by MS is gone, with no return in sight - they aren't putting out a version that would be forced to actually be Java. This makes Java less consistent... How?
Imric's Tips for Living- Paranoia Is a Survival Trait
- Pessimists are never disappointed - but sometimes, if they are very lucky, they can be pleasantly surprised...
- Even though everyone is out to get you, it doesn't matter unless you let them win.
|
Post #37,103
5/1/02 5:09:29 PM
|
Re: event driven -> ASP.NET
Maybe you should look at ASP.NET. The event model requires a round trip to the server for page refresh, but it handles the form state and event dispatching for you. Form elements and other chunks of the page are represented server-side as controls (objects!). The DOM is also available if needed. The VS.NET IDE is VB like in that you double-click on form elements and define event handlers and all that rot.
It is a very nice framework. Too bad it sits on IIS and W2K server. Hopefully one of these open-source .NET clone projects will recreate it on a better platform some day. Or maybe someone will create a Java version or equivalent, if they haven't already.
-- Chris Altmann
|
Post #37,212
5/2/02 12:55:09 PM
|
Real GUI's or bust
(* The VS.NET IDE is VB like in that you double-click on form elements and define event handlers and all that rot. *)
Yes, but the result is still CGI-like, and not classic GUI. I started reading up on it, and there still seems to be a lot of "e-brochure" artifics in the .NET stuff.
What do you mean by "all that rot"? Those are what makes GUI's powerful and relatively simple. An event can change anything anywhere in the app display without worrying about recreating state or sending a complete new copy or what-not.
The point is that I don't see any reason why one could *not* design an app in the traditional VB/Delphi/PB way, and then have it run in a GUI browser over HTTP without downloading new Turing-complete programming code. (I realize that certain features may not work as well as under c/s, but the majority of what is needed will.)
The .NET stuff does not seem like the magic solution. It simply gives more legs to the HTML browser paradigm, but the paradigm itself is the fault that must be replaced.
CRC should never have to leave Delphi (a future version) to have a thin-client GUI solution over HTTP.
________________ oop.ismad.com
|
Post #37,227
5/2/02 2:40:00 PM
|
I realize...
I realize that it doesn't go as far as what you propose would be the ideal solution. I was just pointing out that there are attempts to do what you mention near the end of your previous post; put an more traditional event driven API and IDE on the back end of the "typical CGI-like "submit" approach". There are other similar frameworks for Java and mod_perl as well.
s/rot/stuff/
-- Chris Altmann
|
Post #37,279
5/2/02 8:51:28 PM
|
question, and Master Image
(* There are other similar frameworks for Java and mod_perl as well. *)
Do you mean similar to .NET, or to my "ideal" solution?
The general solution, I have come to tenatively conclude, is to maintain the "master image" (MI) of the interface (widgets, forms, widget content, etc.) on the server. You don't write to the client directly, but to the MI, and then echo the MI to the client as needed. For regular CGI-like flow, you probably have to echo the entire MI to the client each time, since HTML forms were not originally designed to be incrementally altered. However, in a more GUI-friendly approach, you only echo the parts of the MI that changed back to the client.
Whether the MI is stored (on server) via XML, objects, linked lists, or tables is a secondary issue. (The advantage of tables over objects is that if you are using a load/unload paradigm, like CGI, then the table stays there between calls, but you would have to recreate the object web {including instances} if using OOP to store the MI. Perhaps Smalltalk can pull it off, but in other OOPL's it is a bit more difficult.)
Conceptually, it is a lot like the Cytrix/PC-Anywhere approach where the master image (bitmap) is on the server, except that the "primatives" are GUI widgets specs and *not* image pixels. This avoids having to send every cursor movement back and forth between the client and the server.
I have been giving these issues a lot of thot lately.
________________ oop.ismad.com
|
Post #37,290
5/2/02 11:07:54 PM
|
Similar to .NET
I was thinking of Struts for Java, though it is not the exact same thing. I'm not sure what I had in mind for mod_perl.
-- Chris Altmann
|
Post #37,362
5/3/02 2:28:33 PM
|
I find CGI approach wonderfully limiting
What do you mean by "all that rot"? Those are what makes GUI's powerful and relatively simple. An event can change anything anywhere in the app display without worrying about recreating state or sending a complete new copy or what-not. Writing web apps means essentially breaking your app into the classic MVC categories. The only thing that should "recreate state" is server-side data; you use CGI for this. Everything else should be either static, or client-side-modified; you use JS+DOM+HTML for this. Now, although I agree with you that JDH is not as "powerful" as a GUI, I find that not to be a significant limitation in my work. Instead, it forces me to think about bandwidth and workflow much more intentionally, separating out those bits which *need* to be passed from client to server (or vice-versa) and which don't. Therefore, my apps are much cleaner and network-optimized than most GUI apps, both ones I've built and others I have used. Just my 2 cents.
--------------------------------- Many fears are born of stupidity and ignorance - Which you should be feeding with rumour and generalisation. BOfH, 2002 "Episode" 10
|
Post #37,368
5/3/02 3:15:02 PM
|
Agree for the most part...
...but I sure wish that they'd do a little more work on the input side of things. A combo-box would be nice. (also be nice if the drop down lists were not restricted to a single character lookup). A standard drop-down and popup menu would be nice. Maybe even throw in an input Grid for grins. I find that the later versions of HTML give me a great deal of control over drawing but I get the impression that the input controls have not really changed since V1.0 (other than adding events).
It would also be nice if the standards committee hadn't leaned towards deprecating Tables. Although divs and spans can emulate the table technique, it's more involved and time consuming. They give you greater control in that it is tree based, but a lot of times you just want a rectangular two-dimensional array to start dumping stuff.
That said, I don't want a bunch of subthreads going back and forth on every page - loading and unloading things on the fly. I'd rather they just standardize the browsers (we're getting much closer) and then maybe enhance the input features a bit.
|
Post #37,542
5/4/02 11:54:32 PM
|
Spank-A-Matic ?
(* Now, although I agree with you that JDH is not as "powerful" as a GUI, I find that not to be a significant limitation in my work. *)
What I find is that managers keep wanting weblications to resemble VB-like GUI apps. JDH-CGI is crappy for that. The same app would be roughly about 1/2 to 1/3 as much code in a C/S GUI tool, be more natural UI-wize, and quicker to develop.
I don't like funky paradigms to get in the way of my vision of how I want the interface to be. I want to conduct a symphony with whatever instrument I feel like, within reason.
I will have more to post about this soon.
(* it forces me to think about bandwidth and workflow much more intentionally, *)
You like it because it herds and punishes you? Leave S&M to the hookers.
Just don't use bound countrols in C/S tools and filter large search lists/grids at the server stage, not on the client, and you shouldn't have that many bandwidth problems.
________________ oop.ismad.com
|
Post #37,637
5/6/02 12:42:07 PM
|
Sorry, I misunderstood.
What I find is that managers keep wanting weblications to resemble VB-like GUI apps....
<snip>
Just don't use bound countrols in C/S tools and filter large search lists/grids at the server stage, not on the client, and you shouldn't have that many bandwidth problems. I continue to be under the assumption that bound controls and filtering on the client are the essence of VB-like GUI apps. If this isn't the case for you, then what do "VB-like GUI apps" entail that's different from web apps? Comboboxes?
--------------------------------- Many fears are born of stupidity and ignorance - Which you should be feeding with rumour and generalisation. BOfH, 2002 "Episode" 10
|
Post #37,865
5/7/02 8:22:27 PM
|
The pudding is not even in alpha
I continue to be under the assumption that bound controls and filtering on the client are the essence of VB-like GUI apps. If this isn't the case for you, then what do "VB-like GUI apps" entail that's different from web apps? Comboboxes? You can change just about anything anywhere on any screen at any time (within the app). If web apps are (or can be) so similar to C/S GUI apps, then how come there are no VB/Delphi/PB-like IDE's for developing them? (The closest thing I know of is the Oracle Forms using it's Java-applet-based "GUI Browser". But Oracle Forms stinks to high heck. It has a certain "personality" that you have to negotiate with. It does not easily allow "changing anything anywhere on any screen at any time" and forces outdated Windows-3x-like conventions on you. If their GUI Browser was only an open standard or OSS, then it might go further.)
________________ oop.ismad.com
|