Slashdot Mirror


Developing a Standards-Compliant Web App?

dogas queries: "I work for quite a large company that is creating quite a large web-based enterprise-level application. We've been in development for a long while, and currently our app is only native to IE 5.5. At this point it would take a *lot* of effort to bring our app up to to be Standards-compliant. Now management wants our app to be more flexible, such that if the customer wants to customize the look-and-feel, it won't be a major undertaking that will kill the structure. Naturally, we're switching to a CSS-based layout, ripping out the IE proprietary Javascript in favor of ECMAScript, and bringing the whole app to XHTML 1.0 Transitional compliance while we're at it. Since we started coding the front end at about the time of the browser wars, we didn't have the luxury of planning to use the W3 standards (especially since they were not complete, and browsers weren't honoring them anyways). I'm wondering what type of priority creating a standards-compliant web app is in other companies, and if that priority is being raised given the benefits of creating pages that separate structure from style from behavior."

85 comments

  1. Standards Compliance by polyp2000 · · Score: 5, Insightful

    Standards compliance is always a good thing. But dont for a moment think that it means crossbrowser/platform compatibility. Nothing beats actually testing your application on at least the most popular browsers on the most popular platforms. More often than not you will have to make comprimises in order to achieve compliance and compatibility at the same time.

    --
    Electronic Music Made Using Linux http://soundcloud.com/polyp
    1. Re:Standards Compliance by ajagci · · Score: 3, Insightful

      Standards compliance is always a good thing. But dont for a moment think that it means crossbrowser/platform compatibility.

      Standards compliance clearly does not mean cross-browser or cross-platform compatibility: almost all standards define certain behaviors as "implementation dependent" or "undefined", and they often leave many issues completely unmentioned (and hence undefined).

      In order to write something that works cross-platform, it doesn't just have to be standards-compliant, it also has to avoid all implementation dependent or undefined effects in the standard. Depending on the standard, that can be easier (Scheme), moderately difficult (Java), or very hard (C, C++).

    2. Re:Standards Compliance by p3d0 · · Score: 2, Interesting

      You're right, of course, but I think she was talking about web applications, where most people's browser doesn't support the standards. This problem is far worse with web apps than with Scheme, Java, or C++, although the latter did suffer severely with this problem a while back.

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    3. Re:Standards Compliance by saden1 · · Score: 1

      On the current project I'm working on I test on Mozilla 1.5 and then test on IE 5.5. IE has problems rending standard HTML but with minor tweaks the pages appear properly on both browsers.

      This works for me!

      --

      -----
      One is born into aristocracy, but mediocrity can only be achieved through hard work.
  2. Don't code for IE, but for mozilla/netscape by sofar · · Score: 0, Troll


    Only mozilla/netscape are truly cross-platform, and available to anyone for free. Don't let the choice be made for you!

    1. Re:Don't code for IE, but for mozilla/netscape by polyp2000 · · Score: 3, Insightful

      As much as I understand the underpinnings of that statement, You cant go around making comments like that. Only coding for mozilla /netscape is just as lazy and ignorant as the idiots that only code for IE. The trick is to build for compliance, have a nice clean design and test cross platform and cross browser as much as possible. Iron out the bugs and make comprimises (usually graphic design) where there are style problems you cant fix.(Degrade gracefully)

      I will say though its about time people gave up on NS4.7 it is the browser from hell!

      --
      Electronic Music Made Using Linux http://soundcloud.com/polyp
    2. Re:Don't code for IE, but for mozilla/netscape by Anonymous Coward · · Score: 0

      Who modded this rubbish as insightful? There are loads of cross-platform browsers around. Lynx works on more platforms than Mozilla. Opera and Konqueror work on about the same number.

    3. Re:Don't code for IE, but for mozilla/netscape by cyb97 · · Score: 2, Interesting

      I'd say opera is pretty crossplatform, too. Not as free as mozilla/netscape, but it's beginning to emerge as the true and only choice for smartphones and communicators/PDAs.

      So I guess it's only a matter of time before IE-junkies realizes that it might be smart to check out their shit in browsers that doesn't make up their own standard as they go along

    4. Re:Don't code for IE, but for mozilla/netscape by TiggsPanther · · Score: 2, Insightful
      The trick is to build for compliance, have a nice clean design and test cross platform and cross browser as much as possible. Iron out the bugs and make comprimises (usually graphic design) where there are style problems you cant fix.(Degrade gracefully)

      (emphasis mine - see bottom)

      I defintiely agree with the parent here. Try to make sure it's viewable on as many browser/platform combinations as possible. Yes, maybe the newer ones will still look prettier, but as long as older browsers at least display the basics.
      Testing under IE, NS/Moz (multiple platforms), Opera (if possible, and even Lynx means you can see which ones display it as you want, which fail but still display the text, and which bomb out totally (see bottom).

      If using CSS, testing how it looks when you eliminate the stylesheet is always a good idea. In fact, designing the layout before even adding the Styles means you know that it's at least legible in "plain" format (the "KISS"/"Get it Right in Black & White" methods)

      Oh and personal peeve. Never hardcode your font-sizes and the absolute width of your pages. There's nothing worse than a page which takes up about half of your 1280x1024 screen and displays in a tiny little 10pt font.
      Yes some browsers cab nabdate a minumum font-size, but too many sites also implicitly state sizes of tables and positionsing - and therefore readable font0sizes start to ovelap badly.

      I will say though its about time people gave up on NS4.7 it is the browser from hell!

      Oh yes. I gave up on Netcape 4.x on my site a couple years ago. Not only did it not display my styles properly, but it couldn't even fail cleanly.
      Even Lynx would show a style-free version of my pages, whereas NS4.x actually lost half the text.

      Tiggs
      --
      Tiggs
      "120 chars should be enough for everyone..."
    5. Re:Don't code for IE, but for mozilla/netscape by kroekle · · Score: 1
      I will say though its about time people gave up on NS4.7 it is the browser from hell!

      As a consultant that works with many clients, I'm truly surprised at how many companies still use NS 4.x as there minimum browser standard (even for intranet apps). I can show them all sorts of statistics that NS 4.x is used by less then 2 % of internet users (Broswer stats/trends) and even less on there sites, it still doesn't matter. It takes me more time to test/code around the shortcomings of NS 4.x then to test/code the entire site.

      But the clients pay my bills, so that's what I do.

    6. Re:Don't code for IE, but for mozilla/netscape by E_elven · · Score: 1

      >Only mozilla/netscape are truly cross-platform, and available to anyone for free.

      Unfortunately Moz/FB have problems with some CSS.

      --
      Marxist evolution is just N generations away!
    7. Re:Don't code for IE, but for mozilla/netscape by Anonymous Coward · · Score: 0

      Care to elaborate? Pretty much everybody agrees that they have by far the most standards-compliant rendering engine, so it's a bit surprising that you are complaining about it.

    8. Re:Don't code for IE, but for mozilla/netscape by E_elven · · Score: 1

      On Moz/FB, this doesn't colour the bg:

      body { background: #000000; ... }

      This does:

      <body style="background: #000000">

      This is non-compliant behaviour of the strangest order.

      --
      Marxist evolution is just N generations away!
    9. Re:Don't code for IE, but for mozilla/netscape by Anonymous Coward · · Score: 0

      Additionally, there're some problems displaying borders on empty elements.

    10. Re:Don't code for IE, but for mozilla/netscape by aWalrus · · Score: 1

      Even Lynx would show a style-free version of my pages, whereas NS4.x actually lost half the text.

      You can avoid that by using "@import" when specifying your external style sheet files instead of "<link rel..."

      The @import method is not supported by Netscape 4.x and thus will throw an unstyled page (better than nothing, and can be made accesible to boot if you do your homework).

      --
      Overcaffeinated. Angry geeks.
    11. Re:Don't code for IE, but for mozilla/netscape by foandd · · Score: 1
      On Moz/FB, this doesn't colour the bg:

      body { background: #000000; ... }

      Hmmm, just tried it in Firebird 0.7 and Moz 1.3; works fine in both. *shrug*

    12. Re:Don't code for IE, but for mozilla/netscape by Anonymous Coward · · Score: 0

      Some people just need to learn CSS. html, body { background-color: #000; } logo { background: #000 url(l.png) 50px 50px no-repeat; } NGLayout CSS handling is the best availiable in any browser!

  3. Same story here ... by Tux2000 · · Score: 1

    A web-based application, developped in the second half of 1990ies, containing cludges for Netscape 4 and other workarounds. Some parts of the code - unfortunately the most important ones - were coded in a few night sessions, and need a major rewrite since at least two years.

    Our new plan: A facelift that makes the application look a little better, and no more development except for a little customizing. It has to stay like this for at least a year. During that time, we will develop a completely rewritten version of the application, with a redesigned data model, a new modular approach, conforming to standards, faster, with a lot of new features, new ideas and new bugs.

    (And because I am the one who does the main design and coding, I will make sure that all output is nice and valid HTML 4 with CSS. If browsers can't display it, it's not my fault. Netscape 4 is dead and will no longer be supported in the new millenium.)

    Tux2000

    --
    Denken hilft.
  4. separating content and presentation by ajagci · · Score: 4, Informative

    Separating content and presentation would be a good thing. But the currently supported web standards (HTML, XHTML, JavaScript, DOM, CSS) don't let you do it by themselves. To achieve that kind of separation, you need to use some kind of server-side technology and you need to generate preference-specific HTML anyway.

    But even if you manage to do that, it's not clear that it's a good thing: regular folks don't feel all that comfortable authoring abstract markup. They want to write their web pages in something WYSIWYG and they will (trust me) manage to encode lots of assumptions about how the content is ultimately presented.

    So, you have to pick some kind of middle ground: not too much user customization but some (maybe light/heavy). Not too much server side separation of content and presentation, but some. Not too much JavaScript and CSS, but a little may help you out quite a bit. Etc.

    1. Re:separating content and presentation by p3d0 · · Score: 1

      So what exactly is your advice? Basically do a bit of everything, but not too much? I don't see how that's helpful.

      --
      Patrick Doyle
      I mod down every jackass who puts his moderation policy in his sig. Oh, wait a sec....
    2. Re:separating content and presentation by BigJimSlade · · Score: 4, Insightful

      Separating content and presentation would be a good thing. But the currently supported web standards (HTML, XHTML, JavaScript, DOM, CSS) don't let you do it by themselves.

      I'd have to disagree with that. Most of the standards movement for web design focuses on "semantic markup". Only headings, paragraphs, and the like should be included here. No fonts, colors, etc. This is your content. Yes it has tags, but when using XHTML 1.0 Strict it is also XML, meaning that an XSLT could be used to generate that content from some XML source on the server if necessary. Using CSS to do placement & styling of elements is very feasible for 95+% of the market.

      As others have mentioned, standards compliant != cross-platform. However, standards compliance is very much supported by the technologies you mentioned.

      Additional reading:
      A List Apart - lots of articles on integrating useage of standards-based web design
      Jeffery Zeldman's Weblog - a big proponent of web standards

    3. Re:separating content and presentation by E_elven · · Score: 1

      Uh, no. A web document is currently a three-part ordeal:

      1. Content. This is your data, text, articles.
      2. Structure. This is the XHTML. Tables, links etc.
      3. Layout. This is CSS. Style, display and layout.

      One may need server-side stuff for the content part.

      --
      Marxist evolution is just N generations away!
    4. Re:separating content and presentation by ajagci · · Score: 1

      I'd have to disagree with that. Most of the standards movement for web design focuses on "semantic markup". Only headings, paragraphs, and the like should be included here. No fonts, colors, etc. This is your content. Yes it has tags, but when using XHTML 1.0 Strict it is also XML, meaning that an XSLT could be used to generate that content from some XML source on the server if necessary. Using CSS to do placement & styling of elements is very feasible for 95+% of the market.

      You're missing my point. My point is that CSS is insufficient to let people express the kinds of presentations of content they might want to create. Yes, it lets you fiddle a little with font sizes, colors, and some placement and floats. But none of that support even comes close to what one would need to do the kinds of things that people who design document styles would want to do.

      In fact, the link "A List Apart" that you point to shows some of the inadequacies of CSS for specifying presentations; but, frankly, it barely scratches the surface.

      No, adding XSLT into the mix is not sufficient either. XSL:FO was an attempt to give people more control, but even XSL:FO is insufficiently powerful for expressing quite common document style design choices (and both CSL and XSL:FO are far too complex for the limited functionality they actually offer).

      Hence my point: you get a very limited set of presentation choices with CSS; take advantage of them as much as you can. But because the set of choices is so limited, there are many aspects of the presentation that will, effectively, be hard coded into your HTML even if you use all facilities for semantic markup available in HTML (or XML+XSLT).

    5. Re:separating content and presentation by pragma_x · · Score: 1

      Mod parent up!

      I cannot stress enough that the 'future of web design' is pretty much now. (lack of W3C standards-compatibility in IE not withstanding)

      If you keep your xhtml to just raw DIV tags and data, you force yourself to use the CSS code for layout. Once this is done, you achieve an unprecedented degree of flexiblity in design, as you can modify the page in broad strokes simply by altering the CSS.

      For those interested: A perfect example of this is the CSS Zen Garden. Click on any of the styles listed on the page and you'll see what I'm talking about.

    6. Re:separating content and presentation by PylonHead · · Score: 1

      I guess I'm missing your point too.

      Have you seen the CSS zen garden?

      100s of attractive layouts all using the same XHTML document.

      --
      # (/.);;
      - : float -> float -> float =
    7. Re:separating content and presentation by aWalrus · · Score: 1

      You don't know much about CSS, do you?

      The same XHTML document can be styled in completely different ways. Parts can be moved around, floated, made to disappear, etc. The only thing you need is to mark up each thing as what it is (paragraphs, blockquotes, headers, etc).

      And tables are a thing of the past, by the way. Tableless design is one of the things that allow for this kind of flexibility.

      --
      Overcaffeinated. Angry geeks.
    8. Re:separating content and presentation by ajagci · · Score: 1

      While those designs vary color and text a lot, they actually illustrate how primitive CSS is: almost all of them are single column text with some stuff shoved into the margins.

      Some of the style sheets have deep knowledge about the content (i.e., the individual paragraphs). Almost all of them are highly resolution dependent and fail to render correctly for fonts whose metrics differ from those they assume. Many place things incorrectly at absolute coordinates and don't work correctly at small or large window sizes. Some depend on text-rendered-as-graphics, which obviously won't work if you apply it to different content.

      Most importantly, however, all those styles only work for very specific content: you can't apply those CSS styles to other documents and obtain any kind of decent rendition. All the Zen Garden shows is that you can vary the appearance of a single piece of text with many styles. That is not "separating content and presentation".

      LaTeX comes close to separating content and presentation: you can have many different kinds of texts and many different kinds of styles, and you can mix and match them.

      CSS, on the other hand, just isn't powerful enough to separate content and presentation in any interesting, general way. It doesn't even come close. CSS is a useful tool for coding some minor variations of the presentation of content, but that's all. And you have to be very careful; the examples in the Zen Garden are clear examples of how not to do it.

    9. Re:separating content and presentation by ajagci · · Score: 1

      You don't know much about CSS, do you?

      You don't know much about layout, do you?

      Parts can be moved around, floated, made to disappear, etc. The only thing you need is to mark up each thing as what it is (paragraphs, blockquotes, headers, etc).

      Yup, but that's not what separating content and presentation means. In order to separate content and presentation, you'd have to be able to write interesting style files that work for lots of different kinds of content. But the set of CSS styles that actually work correctly independent of content is very limited. Try doing something as trivial as turning arbitrary text into two balanced side-by-side columns. You can't do it with CSS.

      So, using CSS, you can do nearly arbitrary things with a specific piece of content, or you can do a very limited set of things with almost any content. But to separate content and presentation, the style needs to be able to adapt to a wide range of textual content, and that CSS can't do. TeX/LaTeX can, as can many other formatters, so it's not like it's an unsolved problem. CSS is just way too limited.

    10. Re:separating content and presentation by PylonHead · · Score: 1

      Thank you. I now understand what you are saying, and I am enlightened.

      Very unusual for slashdot.

      --
      # (/.);;
      - : float -> float -> float =
    11. Re:separating content and presentation by aWalrus · · Score: 1

      Ok. You really don't know what you're talking about, do you?

      Admittedly, you goaded me into looking for info on how LaTeX works (I had used it, but didn't study the format up close). It tends to be more strict than XHTML/CSS actually, and does require good markup of a document. If you want to see some reference, check out this document.

      CSS is very flexible for making layouts. Please suggest what you think LaTeX can do that CSS can't. Prior to that, though, you may want to take a look at the spec (and yes, most of that stuff does have good support, even in Explorer).

      --
      Overcaffeinated. Angry geeks.
    12. Re:separating content and presentation by aWalrus · · Score: 1

      Except he's wrong.

      Usual for slashdot.

      --
      Overcaffeinated. Angry geeks.
    13. Re:separating content and presentation by PD · · Score: 1

      I have just one question. I've looked all over for the answer, unsuccessfully. You seem to know what you're talking about.

      How do I make a CSS layout thingy that lets me put a big image next to the nav bar?

      My web page (www.pdrap.org) has a photo album. If you look at http://www.pdrap.org//photo_albums/year_2003/April /anole/pdr_0132.html for example, you'll see what I'm talking about.

      In Mozilla, the photo is directly to the right of the nav bar. The photo makes the page very wide, so Mozilla puts a horizontal scroll bar at the bottom, which is what I want.

      IE seems to detect that the photo would make the page too wide, so it puts the photo below the nav bar.

      Any hints for me? I'm not a whiz at this. The whole reason why I switched my website to nothing but CSS was to play with it and learn it. I used to have frames before, which worked fine.

    14. Re:separating content and presentation by ajagci · · Score: 1
      Please suggest what you think LaTeX can do that CSS can't. Prior to that, though, you may want to take a look at the spec (and yes, most of that stuff does have good support, even in Explorer).

      Here are some things:
      • Write a style sheet that takes text, breaks it into screen sized pages.
      • Write a style sheet that breaks text into a sequence of columns of fixed width and with the same height as the viewport, letting the user scroll horizontally through the columns.
      • Write a style sheet that puts text into two columns and balances the height of the two columns.
      • Place two boxes onto the page and have text first fill one box then the other (i.e., have the text flow between them).
      • Put text into a tight-fitting box with an aspect ration of 4:3 for a chosen font.
      • Resize an image to be the same size as a piece of text.
      • Resize an image to be the same size as the upper case character "X" in the font that is used in the default paragraph mode.
      • Load just enough text and graphics from the server to fill a single window.

      The list goes on and on and on. LaTeX can do all of those because (1) it's a full programming language and (2) it has full access to font metrics.
    15. Re:separating content and presentation by Anonymous Coward · · Score: 0

      I may be missing some subtlety, but the way I read the CSS spec, either behavior is correct. Even if the CSS spec were unambiguous, you might actually want either behavior. I don't see a general way in which you can specify what kinds of combinations of floats should lead to scrolling and what kinds of combinations should lead to breaking.

      Don't get me wrong: CSS is much better than frames or tables for building navigational structures. But it isn't quite the same model, and it has its own limitations. That's my point in the first place.

      What's the solution in this case? Most web designers would probably pick a fixed width for the navbar in pixels and then position the body next to it in terms of absolute positions. That's not as bad as it may sound: even with "width:20%", the navbar doesn't adapt to text size anyway (only to window size). And your images are resolution dependent anyway. And count your blessings that you don't have to have text flow from the navbar into the body.

    16. Re:separating content and presentation by aWalrus · · Score: 1

      Ok. Those things can't be done with pure CSS. You have a point there. They can be done with a combination of javascript/CSS, though (that last one would require server side technology), but they're actually kind of pointless.

      What you're describing is stuff that graphic designers love and wish web pages could do. It's also stuff that doesn't work for the internet. You can't assume that everyone uses the same software/hardware, or that everyone has X font. The spec states that people should be able to customize these things, too.

      What's more: even if you can do all that stuff, are you really doing it to arbitrary text? don't you need to specify which image you want to use for which character in what part of the document? If you need a header, and the rest of the content is normal text, are you seriously only counting letters until you get to the part where you want to change formatting?

      You suggested you can do all this with complete separation of layout and content, but the documentation indicates that LaTeX has a bunch of inline commands and identifiers. Is that not true? And if you're really putting this all together from outside the document (which would be just arbitrary text) doesn't that defeat the purpose originally stated, since you need to know the text intimately to make a competent layout? We're not just talking columns and alignment here. We're talking a full-fledged web site layout.

      --
      Overcaffeinated. Angry geeks.
    17. Re:separating content and presentation by ajagci · · Score: 1

      Ok. Those things can't be done with pure CSS. You have a point there. They can be done with a combination of javascript/CSS, though

      Oh? Give it a try. A lot of them involve some pretty tricky optimization, not the kind of thing you could do in JavaScript even if JavaScript had all the information actually available to it.

      What you're describing is stuff that graphic designers love and wish web pages could do. It's also stuff that doesn't work for the internet. You can't assume that everyone uses the same software/hardware, or that everyone has X font.

      Actually, the complete opposite is true. It is precisely because CSS can't do these things that web pages mix content and presentation. For example, it is precisely because CSS can't get at precise font metrics that graphic designers have to hard-code assumptions about fonts into the sizes of bounding boxes and cross their fingers. It is exactly those things that then break when users don't have the "right" fonts or try to override font choices.

      What's more: even if you can do all that stuff, are you really doing it to arbitrary text?

      Not "arbitrary text", but "arbitrary text marked up for that style". The point is that LaTeX can have dozens of wildly different "article" styles and hundreds of thousands of different article texts, and you can mix and match them, and they work.

      The same is not true for CSS: you cannot design anything even remotely close to article styles with CSS (or even CSS and JS). You can't even do a simple two column style that works reliably.

      And if you're really putting this all together from outside the document (which would be just arbitrary text) doesn't that defeat the purpose originally stated,

      Again, you misread. I didn't claim that LaTeX can render "arbitrary text", I claimed (carefully) that it can render "arbitrary textual content", that is, as long as that content that has been marked up correctly logically (OK, LaTeX has some glitches in the implementation, but it is at least trying to do the right thing and usually succeeding).

      We're not just talking columns and alignment here. We're talking a full-fledged web site layout.

      Yes, and the logical layout for that would consist of logical markup like like identifying link relationships, link text, body text, and all that. You know, roughly like what people are actually trying to do with CSS: a DIV for site navigation, a DIV for related information, a DIV for body text, a DIV for page information, a DIV for the header, and a DIV for the company logo. With a decent layout system, I should be able to define styles that transform that into separate pages, or into a sequence of balanced columns, or lots of other things, independent of what those DIVs actually contain. But with CSS, I just can't (and neither can you...).

      Another problem with CSS is that what it actually does do in terms of making geometric tradeoffs (e.g., table column sizing, float placement) is often so horrendously complex that it is essentially unpredictable (read the sections on table sizing or float placement and try to reason about them).

    18. Re:separating content and presentation by aWalrus · · Score: 1

      Ok. I'm sorry I jumped into this with an attitude. You seem to have thought this out well.

      Although your statements about using columns in particular are true for CSS, I think you're selling the standard short. Check this out:

      This is my site
      This is the exact same markup, when passed through a different stylesheet

      Both of those use the same markup. One is ~800px wide, the other 320px wide. This is a demo I'm preparing for a tutorial on some CSS techniques. The title images (Rants & Articles, News, and Shout) are actually the same, just cropped and repositioned with CSS. The change in layout is rather dramatic, particularly where the floating frames are concerned. This is all standard, cross-browser compliant CSS. I didn't add extraneous divs to achieve the second layout, just structured my document correctly from the start.

      There are still a few quirks (namely, the empty space at the bottom) which is why I haven't published this on the site yet.

      --
      Overcaffeinated. Angry geeks.
    19. Re:separating content and presentation by ajagci · · Score: 1

      Both of those use the same markup. One is ~800px wide, the other 320px wide. This is a demo I'm preparing for a tutorial on some CSS techniques.

      Yes CSS is useful. There are quite a few properties that can be abstracted out of the content using CSS (and even more with JavaScript). My point is just that CSS is still pretty far away from the kinds of separations of style/content that other common typesetting systems routinely achieve.

      I didn't add extraneous divs to achieve the second layout, just structured my document correctly from the start.

      Right, but in both layouts, the main content just flows straight down inside a single rectangle and the stuff around it is fairly static from a layout perspective as well, so it wouldn't need more DIVs.

      Note that your navigational elements don't adapt when I force a bigger font (try 24px). That might actually be fixable, but it is quite common: most of the more interesting layouts . But you also use a lot of text-in-graphics.

      Also, neither of those two layouts seems to adapt in any interesting way to window size. In fact, rather than degrading properly for small windows, the navigational elements on the overcaffeinated.net home page just disappear entirely to the left (and can't even be reached with scrolling) in Mozilla 1.5.

      The holy grail is really to let you mark things up in XML and then specify presentation using some combination of something-like-XSLT, something-like-CSS, and maybe something-like-JavaScript. But we aren't there yet. And that's a shame because the technology is well-known in some circles, just, apparently, not by the people who designed those standards.

    20. Re:separating content and presentation by Anonymous Coward · · Score: 0

      If you keep your xhtml to just raw DIV tags and data, you

      ...you miss the point and screw things up. HTML is supposed to describe the various parts of a document. If you throw away meaningful elements in favour of <div> elements (not tags), then you are throwing away meaning. This is crucial in environments that do not have CSS available (e.g. text-only situations, search engine rankers, favelets).

      By all means, throw away <font> elements. But don't replace things like <h1>Heading</h1> with the oft-seen, but completely meaningless <div class="h1">Heading</div>

  5. Accessibility by andrewmc · · Score: 5, Insightful

    If this application is visible on a public website, making it standards-compliant is a major step towards making it accessible to the partially sighted, blind or motion-impaired. The company may also have staff that fall into this category. Making the site accessible in this way could even be a legal requirement (depending on your country) and it's just the right thing to do anyway.

    1. Re:Accessibility by __past__ · · Score: 2, Informative
      Making an accessible web app also makes it more usable for people without any disabilities actually, not to mention for non-people like search engines. The WAI guidelines are really a collection of best practices for web development - Even if you don't need to put up a triple-A conformance label on your app, it is always good to keep them in mind.

      The W3C WAI resource page has pointers to everything you need to know. A popular tool that helps evaluating web accessibility is Bobby, but unfortunatly it isn't free.

  6. Ask Slashdot? by Joff_NZ · · Score: 2, Funny

    Standards compliant pages? Why don't you just ask CmdrTaco et al?

    *cough*HTML 3.2*cough* :-)

    --
    The revolution will not be televised. It won't be on a friggin blog either
    1. Re:Ask Slashdot? by CaptainBaz · · Score: 1

      The problem with slashdot is that it *isn't* HTML 3.2 (a STANDARD!) compliant - if it was, it would validate. It doesn't.

    2. Re:Ask Slashdot? by Stalin · · Score: 1

      I believe the joke has gone right over your head.

    3. Re:Ask Slashdot? by CaptainBaz · · Score: 1

      No, it got the "joke" - I was just pointing out why it was wrong. It's a commonly held misbelief that slashdot produces HTML 3.2 code. It doesn't...

  7. It's a Noble Aim by icerunner · · Score: 3, Interesting

    Aiming for standards compliance is always a good thing, IMHO. However, you will find that you will have to make compromises along the way given that not all browsers comply with the standards to the same degree.

    About 2 years ago I was involved in redeveloping our proprietary Web app to comply more with standards. It was a huge uphill battle to try and convince management that this was what they wanted. Complying to standards meant we had to drop or significantly change features of the app to ensure that it would work cross-browser and remain accessible.

    My main advice is that whenever you ahve to make compromises on functionality and compliance, try and veer to the side of compliance. Your customers will (hopefully) thank you for it in the long run. Especially, if like me, they don't use IE or Netscape :-)

    1. Re:It's a Noble Aim by jafuser · · Score: 1

      Parent is correct.

      It's nice that some of us can live in fantasyland where the theories of standards compliance are the only guidelines used to create the framework or "demo", before they finally hand the project off to the unlucky grunts who have to actually make it work in the real world.

      --
      Please consider making an automatic monthly recurring donation to the EFF
  8. Don't confuse the two! by JimDabell · · Score: 5, Insightful

    What are you aiming for - compliance with the W3C specifications, or separation of content and presentation?

    You can use all those nasty <font> elements and still adhere to the specifications. Use HTML 4.01 Transitional or XHTML 1.0 Transitional (following Appendix C).

    The benefits of adherance to public standards means increased compatibility with present and future browsers, and reduced business risk.

    Separation of content and presentation is slightly more risky, due to buggy browsers, particularly Internet Explorer. If you are going to do this, make sure you have somebody familiar with CSS first that knows the limitations of the various browsers.

    You may want to do it in two stages - first separating out the minor styling, such as fonts and colours, and then getting rid of the table layouts when you've laid the groundwork.

    Older browsers like Netscape 4.x will almost certainly cause you major problems. The normal technique these days is to hide stylesheets from them using their bugs against them. That way, they get the plain, unstyled HTML page (which should still be functional if you are doing things right).

    Newer browsers have something called "doctype switching". Make sure you trigger standards-compliant mode so that they are at least trying to do the right thing.

    Don't rush headlong into CSS if you've not spent much time with it before. There are plenty of things you can do to screw up a page (e.g. pt or px-sized fonts) that aren't immediately obvious to the newcomer.

    Luckily, the things I'm working on are fairly new, so we'd need a pretty strong reason not to use the relevent specifications and separate content from presentation.

    1. Re:Don't confuse the two! by arkanes · · Score: 1

      Don't get rid of table based layout - use tables for broad layout (columns, for example) and use CSS for styling and minor presentation details (indetation, spacing within your columns, etc). It's more cross platform compatible, it's more flexible, it renders faster on all common browsers, and it maintains at least the broad layout of your page in pre-CSS browsers. Maybe when CSS3 is finally around and supported it'll be suitable for full-page layout. CSS as it stands (and especially the pratical state of it's implementation) makes it very difficult to proper full page layout, unless you're willing to lock yourself down to specific pixel sizes.

    2. Re:Don't confuse the two! by Trelane · · Score: 1

      Go visit the CSS Zen Garden. Pure CSS-XHTML separation is available now.

      --

      --
      Given enough personal experience, all stereotypes are shallow.
    3. Re:Don't confuse the two! by E_elven · · Score: 1

      Excellent stuff out there. Mod parent up.

      --
      Marxist evolution is just N generations away!
    4. Re:Don't confuse the two! by arkanes · · Score: 1

      That doesn't make anything I said not true. Especially the pixel-precision layout issues, which can be really annoying when you're generating dynamic content. Writing pure CSS layouts these days is just like writing table based layouts in the early 90s - you spend alot of time and energy accounting (with usually less than 100% success) for various browser issues, and with generally less than spectacular results. Theres no point in it, unless you're pedantic. Note that "Pure CSS-XHTML seperation" rarely succeeds anyway - the way you tag your content into parent/child relationships affects your layout, no matter what you do. The way that browsers are able to scale and size tables based on thier content is the boon of the web programmer.

    5. Re:Don't confuse the two! by Trelane · · Score: 1
      use tables for broad layout (columns, for example) and use CSS for styling and minor presentation details (indetation, spacing within your columns, etc).


      This is what I was specifically objecting to. For broad layout, pure CSS works fine. Yes, you have to hunt down the spacings the same as you do in a table, but your recommendation of using tables falls short, imho. I don't see a real reason to abuse tables as a page layout anymore. I've converted a page which is similar to your standard page from a table-based layout to pure divs and CSS, and it worked just fine.

      In summary, you can go either way. I like CSS because it simplifies maintenance. You can still abuse tables if you want to, but it's no longer required.

      --

      --
      Given enough personal experience, all stereotypes are shallow.
    6. Re:Don't confuse the two! by chris_mahan · · Score: 1

      I also think that tables can make a mess of things when you are working from a text editor, because unless you have very good indentation, you have to do trial and error and that's frustrating and error-prone.

      That's the reason I use tables for tabular display but not for layout.

      --

      "Piter, too, is dead."

  9. Simple validation is the key. by ptaff · · Score: 4, Informative

    One of the major advantages of going "standard" is simply the correctness of the XHTML/HTML you'll send to the browser; no missing tags, no misordered, no proprietary tags will do 80% of the job. The W3 validator is your friend.

    Most of the trouble with "IE-enhanced" pages is the interpretation of errors by parsers. If I write:

    [p][strong]foo[em]bar[/strong]baz[br]

    In what tags is the 'baz'? depends on who reads it, mmh?

    Except for NN4, unrecognized CSS tags will just go unnoticed for lower-version browsers, so that if your structure is OK, it should be usable for most browsers.

    You might want to test with Mac's browsers (IE5 at least) to make sure your ECMAscript works; some core methods are missing.

    And, should you need an incentive to go table-less, there is a great presentation that summarizes the advantages.

    The css Zen garden is a great example if you want to show colleagues why separating presentation from content is a neat idea.

    1. Re:Simple validation is the key. by eddy+the+lip · · Score: 1

      Zen garden is great, but I think it's still more in the "this is where we can go" category than the "production website" category. You can make a site with all your presentation in CSS, but because of the buggy CSS implementation in some browsers that are still out there (cough*IE5.5) there are some things that you can't reliably do yet. What the site looks like is still the most important thing to a lot of clients out there.

      Your best strategy is still to use tables for the broad layout, as much as I hate them, and CSS for all your content markup.

      We've been slowly dropping how much presentation is in HTML over the past (too many) years, but in some recent internal proof-of-concept tests that we've done, there were too many restrictions on the design required in order to get things working with what's still out there.

      Believe me, I can't wait for the day...maybe in another year or two.

      --

      This is the voice of World Control. I bring you Peace.

  10. Terminology! by Anonymous Coward · · Score: 2, Insightful

    In what tags is the 'baz'?

    You mean "elements", not "tags".

    unrecognized CSS tags will just go unnoticed

    There's no such thing as a "tag" in CSS. Are you talking about rulesets?

    The Zen Garden is an exercise in graphic design, and a rebuttal to the myth that standards-based code is ugly. Most of the entries are highly fragile, not very usable or accessible, and are NOT suitable to use as examples for production websites.

  11. From an interoperability standpoint. by Big+Sean+O · · Score: 2, Insightful

    Web standards are important from just an interoperability standpoint.

    When you're sure that everyone uses the same browser, it means you can use a 'standard' that works for you. But enterprises are increasingly called to support a wider range of hardware and software.

    Using data standards is a key component to interoperability. The more universal the standard, the more likely the systems will interoperate. That applies to any enterprise and any system, from CD recording format, to Unicode, the NATO Phonetic Alphabet, to Webstandards, to the Incident Command System.

    Heck, Law School's main purpose (besides removing your soul) is to teach you the standards and processes of working the legal system. For the most part, the Law is the system that ensures the interoperability of property (heh).

    You can certainly roll your own standard, or stick to an old one, but you run the risk of not being interoperable. In a world of increasing interdependence, you will probably want to implement your own solution, but ensure that the "public" parts are interoperable.

    --
    My father is a blogger.
  12. More reasons for standard/cross browser compliance by okock · · Score: 3, Interesting

    Regarding web applications: I believe it's always good to support multiple browsers - even if you don't need to because you write applications for a closed user groups, that uses only a known browser.

    As soon as you start to automatically test your web applications with scripts (e.g. HttpUnit) there is suddenly another browser: The test script. The more browsers you support from the beginning, the higher the chance that you can easily automate tests for your application.

    Your mileage may vary with read-only sites, but others have already elaborated about this.

  13. we aim for browser compatibility by truffle · · Score: 1


    The development house I work at has a primary goal of our applications working on any of our major supported browsers. The major supported browser are based on Web statistics on the browsers our customer actually use. We dropped Netscape 4.7 finally a few months ago (thank god).

    This seems a sensible approach, unless you can force you customer to use a specific browser, you need to make sure the app works on their browser. Standards compliance is one way to shoot for compatibility, but knowing the quirks of each browser, and testing on each browser, is the only way to ensure things actually work.

    In general this approach results in standards compliant work that will work on future browsers. For example, when Safari came out we only had to make minor adjustments to our CSS files to make everything look perfect on Safari.

    --

    ---
    I support spreading santorum
  14. Lots of solutions by d2tu · · Score: 1

    As with any programming project there are multiple solutions...the hard part is picking the best one for your situation. I don't know what sort of backend technology you are using (php, .net, j2ee, etc.) but in my experience I've found that its best to create the front end in Dreamweaver because it creates good "cross browser" javascript and html that displays consistently across browsers. One rough benchmark is to design the page for Netscape 4. If it works there then it will work anywhere but in recent times I've started to give up on Netscape 4 because users really have no excuse to not downloading Firbird or Mozilla (if they don't want to use IE). Another option you have is to store all the content as xml and apply an xslt transform to produce the HTML or to whatever standard you could possibly want in the future. This would also allow for customizability of interface for users. That would most likely require a large overhaul of your current system though. I've built cross-browser compatible sites before and your best bet is to just keep the site as simple as possible with minimal bells and whistles invovling javascript, dhtml, and such. Flat html is the way to go and even then it gets hairy when Netscape 4 is invovled. I'm just glad that at my company I develop internal web apps for only IE 5.5+. It's one less thing to worry about when devloping which is always a good thing.

  15. Abandon All Hope Ye Who Enter Here by eviltypeguy · · Score: 1

    Been There, Done That. The company I work for builds an advanced online asset, work order, project, task, crm management system that uses CSS, JS, and XHTML extensively. If you're really set on doing this, plan on only being able to support two browsers (harsh, but reality). The latest Netscape/Mozilla and IE6 are the only two that are practical to support right now. IE5.5 and older versions of Mozilla/Netscape have such broken CSS support that you'll never get a complex CSS layout to look equally good and be almost 100% spec compliant.

    The almost 100% spec compliant comes in where if you begin using the overflow attribute in your XHTML or a div based layout you have no choice but to come up with an additional stylesheet for IE users that uses Microsoft's proprietary CSS expressions. Most of IE's absolute positioning and width behaviours are completely broken when using div tags. The good news is that you'll probably only need a few lines in the IE specific stylesheet and you can detect the user-agent and only include the tag to ref the stylesheet for IE if necessary.

    Additionally, you'll find that IE6 and Mozilla/Netscape also differ slightly in their DOM behavior and that IE6's support for some 'standard' spec tags like the tag are broken in their behaviour.

    The only other browser that even comes close at the moment to being able to render complex CSS layouts that use overflow, etc. is Konqueror. Opera's JS/DOM and lack of full overflow support prevents us from supporting them.

    You would be far better off choosing a simple, functional design that uses Javascript minimally, uses HTML 4.01 transitional and a table based layout and very basic CSS1 than trying to do a complex XHTML, CSS2/CSS3, DOM layout. You'll lose much less hair :)

  16. Audience anyone? by duffbeer703 · · Score: 3, Funny

    Only latin is a true cross-cultural language. Latin texts have been written since the time of the Roman Empire.

    Don't let the passing fad of the "English" language make a choice for you. Target the american market with latin pages!

    --
    Conformity is the jailer of freedom and enemy of growth. -JFK
  17. My 2 cents... by zonix · · Score: 2, Informative

    Do yourself a favour and go for the Strict versions of the (X)HTML markups directly. Don't waste time with Transitional markup, because you'll be creating the same old tag soup that all the browsers (old and new) will happily eat in quirks mode. When the day comes (after your transition?) and you finally set that DTD to Strict, all your pages will be blown to bollocks because the browsers will now render them in strict standards compliance mode.

    Why bother? You can't really benefit from Style Sheets in quirks mode anyway? Remember, the rendering is completely different between quirks and strict standards compliance mode, and with good reason! The browser developers finally had a chance to do it right with strict standards compliance mode rendering because their implementations are made from scratch from the same thorough W3C spec. With quirks mode they just use their old layout engines from back during the browser wars.

    You'll benefit greatly from the Strict versions of the (X)HTML markup. While taking full advantage of Style Sheets and ridding your old (X)HTML sources of the deprecated presentational tags, you'll end up with more easily maintainable (X)HTML sources. Think about it, most of your pages might already consist of 80% tags related to presentation. When you have removed these from one page and put the presentational information in an external style sheet, it won't be that much of an effort to apply these resulting style sheet rules to the rest of your pages. Why? Because most of the time you'll just be removing deprecated tags. Sure, there's still a bit of structure to deal with, but it's a worthwile task.

    I've written "(X)HTML" in this comment a couple of times now. As I see it, the Transitional/Strict issue is infinately more important than the HTML/XHTML issue. When you have Strict HTML markup it's really a no-brainer to convert it to XHTML, because it's pretty much about syntax, well formedness. Try taking a look at W3C's HTML compatibility guidelines for XML. If you do yourself a favor and explicitly use closing tags, etc. you can convert your HTML to XHTML with a couple of regular expression substituions. That's pretty much it. Bottom line: the main difference between the Strict versions og HTML and XHTML is largely syntax. (There are some elements of your DOM that require special attention with respects to applying CSS, but this statement is essentially true.)

    If you care about having the same result shown accross browsers (especially IE), then watch out for XHTML.

    (Borrowing a bit from a previous comment I made here on /.) IE can be a stick in the wheel, because it ignores the XML declaration in XHTML documents beginning like this:

    <?xml version='1.0' encoding='iso-8859-1'?>

    IE expects to encounter the DOCTYPE first, which doesn't make sense - and would be non-valid XHTML markup. When IE encounters the above declaration it throws itself into quirks mode, unconditionally!

    Sure, the XML declaration is not strictly required, however if you read the W3C XHTML spec it says:

    An XML declaration is not required in all XML documents; however XHTML document authors are strongly encouraged to use XML declarations in all their documents. Such a declaration is required when the character encoding of the document is other than the default UTF-8 or UTF-16 and no encoding was determined by a higher-level protocol.

    Another point. XHTML pages should really only be created for the purpose of being served - by your web server - as application/xhtml+xml. See W3C's document on XHTML Media Types. IE doesn't support the application/xhtml+xml media type, and this together with the above mentioned deficiency makes for quite a showstopper with respects to the adoption of XHTML - it's sad, really.

    Mozilla and Opera will handle XHTML documents served as application/xhtml+xm

    --
    What would an EWOULDBLOCK block, if an EWOULDBLOCK could block would? -- me
    1. Re:My 2 cents... by Anonymous Coward · · Score: 0

      Shooting for Strict XTHML is an OK goal, but:
      (1) IE/Opera/Safari/etc treats XHTML like tag soup anyway
      (2) Mozilla is much slower when rendering XHTML.

      I think XHTML could be a important part of the back-end publishing workflow, but for final delivery to web browsers, there's really no reason to do it -- The browsers aren't optimized for it. The "newest version" is not always the best choice.

      So I would ignore all of this guy's advice about DOCTYPEs and MIME types and just send it as text/html -- your Mozilla-using customers will thank you.

      Also be aware that XHTML makes it much more complex to have script or style blocks.

      IE doesn't support the application/xhtml+xml media type

      No. IE doesn't support XHTML, and therefore correctly ignores the MIME type. Browsers that accept "application/xhtml+xml" and then use tagsoup are the broken ones (Opera, etc).

  18. Refactoring is usually better... by jtheory · · Score: 1

    we will develop a completely rewritten version of the application

    Obviously I don't know the details of your situation, but in general it's a bad idea to start from scratch again. It almost always looks like the best solution to the developers (myself included), because we always like working on new projects, new ideas, etc., but when you really sort out the risks and costs it's often hard to make the case.

    First of all, time estimate: version 2 -- especially since you're adding new features -- will probably take as long as version 1 did to reach a useable level. Don't forget the common estimating pitfalls (like, "a year feels like an awfully long time") just because you're looking forward to working on fresh code. If version one took "the second half of the 90s" version 2 may not be stable (let alone feature-complete) before 2006.

    Given that, do you really know what the needs of your customer base will be over the next few years while your application remains static? All of your new code will be useless in business terms until it reaches the functionality and stability level of the old version.

    And because I am the one who does the main design and coding, I will make sure that all output is nice and valid HTML 4 with CSS. If browsers can't display it, it's not my fault.

    Heh... of course by definition it *would* be your fault. Remember those "cludges for Netscape 4 and other workarounds"? Well, you still gotta do browser-compatibility testing (check your server logs to see what browsers are most important), and you might even have to break standards to work around bugs -- mostly bugs in IE, I'm guessing, since it looks like IE6 is going to be out there for a very long time.

    My point: usually the better solution is to make your upgrades and improvements step by step -- even if you end up replacing ALL of the code when you're done! You don't have to release every step (especially since many of them won't change the user experience at all) but you do have to keep the whole thing working.

    If you can automate testing you can start really tearing into stuff. Once you've wrapped good interfaces around some of those chunks of ugly crufty code, you can sit down and write a replacement component from scratch. At the end of the day, drop in the replacement, run the tests, fix bugs, and go home. Once you have the mess tidied up nicely (and still working) you can start changing functionality.

    I don't know what language you're working with, but obviously a good IDE or editor will help immensely with this stuff.

    --
    There are only 10 types of people: those who understand decimal, those who don't, and, uh, 8 other types I forget.
  19. A Piece of Advise by mchappee · · Score: 2, Insightful

    I'm the lead developer of a commercial web-based document management system. It has a huge PHP and javascript codebase and runs well on any modern browser (IE 5.5 and up, Mozilla 1.0 and up, Konqueror, Safari, etc). Here is the most valueable piece of advise that I can give you: Make the developers use Mozilla. Seriously, code that works on Mozilla is probably going to work on IE, but the reverse is not true. Using Mozilla will force standards compliance in the development cycle so that it won't have to be bolted on later. They're going to whine and bitch and moan, but make it happen. You'll save hundreds of thousands of dollars down the road.

    Matthew
    www.para-docs.com

    --
    /. finds me to be 20% Troll, 80% Funny
    1. Re:A Piece of Advise by JimDabell · · Score: 1

      code that works on Mozilla is probably going to work on IE

      That's not true. There's gigantic amounts of CSS 2 that works in Mozilla, Opera and KHTML, but not in Internet Explorer. The most prominent areas are the selectors and tables.

      The only place where Internet Explorer usually gets things "right" is where it actually does the wrong thing, but what a newbie developer expects.

      For instance, text-align: center shouldn't centre block-level elements, just text. Internet Explorer gets that wrong, but to a newbie it looks like it "works" in Internet Explorer, but not in anything else.

      Another example is the CSS content-type. If you claim that your stylesheets aren't CSS, but rather text documents, Internet Explorer ignores you (in contravention of the HTTP 1.1 RFC) and treats them as stylesheets.

      Having said that, I completely agree that Gecko should be used as the reference rendering when developing. There's no point developing against Internet Explorer and then finding out you've not been following spec. You just have to be aware of what things are just plain broken in Internet Explorer before you waste time using them.

    2. Re:A Piece of Advise by lux55 · · Score: 1

      My advice:

      Dynamic HTML: The Definitive Reference

      Paid for itself twice over the first time I used it -- saved me probably a week's hassle right off the bat (working with text ranges and selections).

  20. Excellent! by E_elven · · Score: 1

    I applaud you and your organization. It's a hard choice to go standards-compliant, but for the survival and evolution of the Internet it is the only viable choice. There's some amazing stuff you can do with plain CSS (menus without ECMAScript, anyone?), and a little ECMAScript so there's no reason why any proprietary extensions are needed.

    Eventually when browsers can rely on users producing correct code, their bloat will be reduced and they may see great speed gains.

    I have personally found Opera to be the most-compliant in average use. Moz would be more so, but there are some basic things in CSS that disturb it. IE is getting better.

    --
    Marxist evolution is just N generations away!
  21. this book seems to be a decent place to start by avi33 · · Score: 1

    Designing with Web Standards was recommended here, in a recent discussion on DHTML and javascript.

    While the review I've seen on Amazon point out that it's more of an evangelical book (with a decent explanation of the technologies involved) than a technical roadmap, the table of contents (pdf) looks good. It seems that the book addresses the real world issues of refreshing an existing site (what to update vs. what to leave as-is) and instead of flash-bashing, a somewhat objective analysis of where it belongs on a site. I haven't bought it myself, but we plan on refreshing 18 global sites sometime soon (with a team of 3), and hope to do them in a way that expands our use of standards without having to burn a million hours grepping out <font> tags.

  22. What's the question? by Call+Me+Black+Cloud · · Score: 1

    Really, I don't see a question there...

  23. Extremely high by falsification · · Score: 1
    what type of priority creating a standards-compliant web app is in other companies, and if that priority is being raised given the benefits of creating pages that separate structure from style from behavior.

    Extremely high priority, and yes.

    One big reason: lower total cost of maintainability.

  24. My simplistic recomendation by spitzak · · Score: 1

    1. Remove any test for "what browser the user has". A lot of sites would improve considerably if they would just send their IE-specific stuff to any browser. Often the alternative code is broken because they never test it, or worse it is some crap that says "You need IE". This also forces users to change the browser id to IE, which is throwing off surveys as to browser popularity.

    2. Just do all your work with IE if that is what most people have. Try the site now and then in Mozilla, Opera, and Safari, which will get most of the alternative engines. Just make sure it is readable and somewhat usable. It really should not be all that hard.

    1. Re:My simplistic recomendation by Stalin · · Score: 1

      Little wonder your site doesn't validate.

  25. "content and presentation" is misleading by Crayon+Kid · · Score: 1

    I always thought there's more to this, and this expression doesn't say it right. It should be "content, structure and aspect". Content is the actual (linear) content; structure is the way it gets displayed in 2 dimensions; and aspect is the final touch (fonts, colors). Usually people bundle the last two together, but as a fellow poster said above in real life you have to separate them eventually doing something server-side or using XSLT.

    --
    i ate crayons when i was a kid and now i have two braincells and the blue ones taste nicer
  26. Air Force web apps suck by pmsyyz · · Score: 1

    Jesus Christ, I'm so tired of these Air Force web apps that don't work or only half work in Mozilla Firebird. CAMS, CBTs, PWRR Manager. Oh, and yesterday I found that the IDEA program website sends all their ASp generated web pags as text/plain.

    --
    Phillip
  27. I had the same dilema by HogynCymraeg · · Score: 1

    But I've opted to use XWT for the simple reason that browsers are NEVER 100% compatible with each other or anything else. I decided pretty quickly that until these issues are ironed out you're going to be heading for a whole bunch of trouble. XWT provides web applications on any browser by d/l a jar to the browser, it renders locally, uses xml-rpc over http for server communication and means you can reuse any java code that you have made/can find. It's not perfect, but it's a whole lot closer to what you need than trying to be "standards compliant".

  28. Blame the company, not the W3C & Browsers by BladeMelbourne · · Score: 1
    ripping out the IE proprietary Javascript in favor of ECMAScript

    Why don't you still use JavaScript, however use cross-browser code? JavaScript conforms to ECMA 262 - and any standards compliant browser will understand it (more than will understand JScript or ECMAScript).

    Since we started coding the front end at about the time of the browser wars, we didn't have the luxury of planning to use the W3 standards (especially since they were not complete, and browsers weren't honoring them anyways)
    ...our app is only native to IE 5.5...

    This is pure crap. The browsers wars were in full swing with MSIE 4 and Netscape 4. By MSIE 5.5 - the air had cleared. Standards were released LONG before MSIE 5.5:
    CSS Level 1 - 17th Dec 1996
    HTML 4 - 18th Dec 1997
    CSS Level 2 - 12th May 1998
    XHTML 1 - 26th Jan 2000

    These standards were complete, and have been for many years. HTML/CSS1 have been complete standards for many years, and are honoured pretty damn well. XHTML and CSS2 are nearing the same level of support.

    Whilst I support your move to standards compliance - it sounds like poor research on behalf of dogas' company is to blame. Unless of course, the application coding began before 1998.

  29. Speaking of IE and DOCTYPES by Stalin · · Score: 1

    http://msdn.microsoft.com/library/default.asp?url= /library/en-us/dnie60/html/cssenhancements.asp

    I have found that IE really loves fucking up when reading the DOCTYPES. The W3C specification lists the DOCTYPE definition as using three lines (and in my experience won't validate otherwise - at least when writing XHTML) but IE decides that is incorrect and will ignore the definition thus NOT switching to strict mode and totally screwing up the rendering of your document.

    I fully agree with using HTML/XHTML strict mode only. It will only benefit you down the line. If it is a personaly site I tell the IE users to get over it or get Mozilla. If that is not an option I just rethink my layout so that all browsers will render the page fairly accurately in strict mode.

  30. not really true by magnum3065 · · Score: 1

    Certainly there are situations in which server-side technology is necessary to generate the page content from the data sources, but it's pretty amazing how well you can separate layout and presentation from the page content simply by using a decent XHTML page and good CSS. A great example I recently discovered is the cssZenGarden. The site provides a basic XHTML page with no real presentation information. When viewed without the CSS it's quite bare text, no images, just some various levels of headers and some bulleted lists. However, webdesigners are challeneged to create unique/interesting designs simply through the use of CSS (no modification of the XHTML is permitted). A few of my favorite designs are sub:lime, Not So Minimal, and Burning , but be sure to check out the others.

  31. Re: Using JS by some+guy+I+know · · Score: 1

    And what happens when tinfoil-hat-wearing paranoids like myself, who have all scripting turned off, visit your site?

    --
    Those who sacrifice security to condemn liberty deserve to repeat history or something. - Benjamin Santayana
  32. X-Browser web apps by Anonymous Coward · · Score: 0

    X-browser support is paramount in my organization. We develop our apps to run on IE, Mozilla and Netscape, using platform independent DHTML components like Milonic's DHTML menu and the cool new WebTabs DHTML tab widget . The need for us to supply Opera support has also been growing in the last year.

  33. Re: Using JS by HogynCymraeg · · Score: 1

    You cant use the app? Er.. that's like saying "OK, so what if i dont put petrol in my car, how am i supposed to drive it then?". Besides, most applications are not built for tinfoil hatters.