CSS and Standards-Based Enterprise Software Solutions
March 6, 2007 10:53 AM   Subscribe

Is CSS and standards-based design ready for use in web-based enterprise software solutions?

I'm a consultant leading a team of developers on a project that's building an enterprise software solution (think sector-oriented ERP) which has a front end that is 99% web-based.

Most of my developers have reasonable thick client experience, or reasonable web experience using tables for layout. None of them have much CSS experience. I'm pretty comfortable with CSS and standards-based design/layout, but I don't have time to program on this project, and that's not my job description (I take the specifications from the customers and bring them down to the software engineers). I've also never used non-table layouts for more software-oriented solutions (as opposed to websites whose main focus is dissemination of information).

Is CSS and standards-based design ready for use in web-based enterprise software solutions? If so, what are some good resources that deal with this topic?

Technical details: working in ASP.NET 2.0 and developing solely for IE 6+ (for right now - they'd like to make the application cross-browser compatible, down the road).
posted by syzygy to Computers & Internet (20 answers total) 2 users marked this as a favorite
Short answer, yes, but with a big caveat: In my experience, successfully deploying a product based on .NET, while attempting to use CSS and standards-based client-side markup, is a mixed bag. You need to be working with .NET developers that are either A) very familiar with CSS and how to re-configure how .NET spits out HTML, or B) very patient.

Of course, it's been a year or two since I had to deal with .NET, so things may be different/better.
posted by o2b at 11:08 AM on March 6, 2007

You have this question backwards. CSS and "standards-based design" are ready, but IE isn't.
posted by DU at 11:12 AM on March 6, 2007 [1 favorite]

Anything you can do with tables, you can do with CSS. There is a learning curve, though. Whether it's worth the time to have your engineers learn CSS depends.

In the long run, it's a great skill to have and makes designing and modifying websites much easier. In the short term, you'll lose some productivity as your people become familiar with the standard.
posted by chrisamiller at 11:13 AM on March 6, 2007

Basically what DU said. You'll end up coming up with many workarounds to make IE 6 and 7 work with CSS standards that work under Firefox, Safari and Opera.
posted by Blazecock Pileon at 11:14 AM on March 6, 2007

Response by poster: I'm aware that IE 6 and IE 7 are not 100% standards-compliant. My question is not about IE's standards-compliance, rather it's about whether CSS and standards-based layouts are ready for use in enterprise software solutions. If so, where can I find resources that cover developing them while relying as much as possible on CSS and standards-based design?

I use Firefox for all browsing except testing these applications - I do not need anyone to tell me how much better a browser it is than IE.
posted by syzygy at 11:19 AM on March 6, 2007

touchy! when people talk about "learning curves" in css, i dont even get it. css was by far the most fun language ive ever learned, and very intuitive.
posted by phaedon at 11:22 AM on March 6, 2007

I'm aware that IE 6 and IE 7 are not 100% standards-compliant. My question is not about IE's standards-compliance, rather it's about whether CSS and standards-based layouts are ready for use in enterprise software solutions.

But the point is that it doesn't matter if the standards will do what you want if IE won't do what the standards say. And it won't.
posted by DU at 11:24 AM on March 6, 2007

I use Firefox for all browsing except testing these applications - I do not need anyone to tell me how much better a browser it is than IE.

That's not the point — rather, that it may not matter if CSS meets your needs if IE breaks it for you, or you need to devote many developer-hours to work around it.
posted by Blazecock Pileon at 11:30 AM on March 6, 2007

Best answer: This has been a settled question for me at least since Wired's CSS redesign in October 2002. (Interview with Douglas Bowman of Stopdesign. More info from his weblog.) The Business Value of Web Standards are pretty well established.

I'd recommend developing in Firefox and Safari first then tweaking for Internet Explorer, especially since you plan on opening your app up to multiple browsers later. It's easier and quicker in my experience to develop for the more standards-compliant browsers first then tweak for IE than to go the other way around.

ASP.Net: Producing XHTML-Compliant Pages With Response Filters; ASP.NET and XHTML; Building ASP.NET 2.0 Web Sites Using Web Standards.
posted by kirkaracha at 11:37 AM on March 6, 2007

syzygy, I don't think anyone's trying to tell you how much better FF is than IE. I think they're trying make the point that designing for IE 6+ will add an extra layer of difficulty to implementing "CSS and standards-based design." I also think people are also resistant to saying CSS isn't up to the task when that's really not the case.

Given that your team doesn't know CSS well and given that you're designing for IE 6+, I would not personally recommend making the shift to using CSS/standards-based design for this apparently large and mission-critical project.
posted by treepour at 11:37 AM on March 6, 2007

Best answer: syzygy,

I recently just did something exactly like this. Here are my thoughts:

We used CSS because I insisted on it. I ended up having to do a lot of the CSS myself as the rest of the team was not familiar with this, but I was okay with that.

The biggest problem is Visual Studio's support of CSS in comparision to tables. Tables show up pretty clearly in Visual Studio, they're easy to edit, you know what to expect, etc.

CSS is a mixed bag. Sometimes the divs are there, sometimes they're not and you just have to rely on the browser to define them- this makes it hard for the programmer to code for them.

Also, adding CSS was best done manually, with a text editor, or working exclusively in the "view code" tab in Visual Studio. It's also been my experience the developers aren't comfortable with this either.

If you're not going to program it, I'd say stick to tables. Otherwise, it'll be well worth the effort. Our site works in every browser and everyone loves it.
posted by unexpected at 11:57 AM on March 6, 2007

Yes, you can build enterprise applications to conform to Web standards.

Does the customer really want to spend the extra time and money required to do it, though? Cross-browser compatibility tends to fall by the wayside when it comes out that supporting a miniscule number of non-IE users (we're talking corporations here) will add significantly to the cost of developing, testing, maintaining, and supporting an application.
posted by backupjesus at 12:31 PM on March 6, 2007

You might as well take the time and learn how to design properly with CSS and modern layout techniques, because you're going to have to at some stage any way.

Your HTML will be much simpler and easier to code and maintain. It's actually a lot easier than laying out with tables when you know what you're doing. It's not a big learning curve either.

Tables are for tabular data, not for layout. The sooner we get our heads around this them better.

Answer: Yes, emphatically.
posted by ReiToei at 12:34 PM on March 6, 2007

Kind of tangental, but why not (as suggested) design in FF, and then use conditional comments, which makes it a lot easier to keep track of all your workarounds.
posted by djgh at 1:09 PM on March 6, 2007

You are asking two different questions.

1. Yes CSS is ready, it has been for a while.
2. Your knowledge of CSS has nothing to do with the issue. It is whether the devs will embrace it. If they are coding for ASP.NET, I'm leaning towards no, as it will take considerable effort to get VS.NET to output clean CSS, and I doubt they will want you touching their code.
posted by mphuie at 2:41 PM on March 6, 2007

Best answer: A big part of this depends upon the complexity of the design. In the web applications I've worked on, I have tried very hard to keep the designs as simple, straightforward and semantic as possible, with the understanding that even then, getting IE to "play nice" would mean some compromises.

If your group is used to pixel-perfect layout, or you need things aligned right and left on the same line, or you absolutely have to have the footer be on the bottom of every page no matter the length of the content (in other words, if you can't compromise on layout), then no, you're not ready to make the jump from tables. It will just be too big of a pain in the ass.

Remember, however, that CSS isn't just about laying out things without relying on tables. It's also styling headings and text consistently, and keeping all the border-this, font-size-that, margin-whatever and padding-you-know's OUT of the HTML itself. You can (and should) do this. For positioning of elements, stick with what you're familiar with. For text styling, however, use CSS. It's just far, FAR easier to make sweeping changes to styles this way.
posted by Civil_Disobedient at 3:33 PM on March 6, 2007

My question is not about IE's standards-compliance, rather it's about whether CSS and standards-based layouts are ready for use in enterprise software solutions.

Technical details: working in ASP.NET 2.0 and developing solely for IE 6+

You kinda answered your own question there! i doubt your team are ready from your questions. You'll probably just give them a bunch of headaches and you won't be thanked for it.

It's possible and of course css and compliant markup are ready for enterprise solutions. It's all down to whether the developers are ready to go down that path and .NET just doesn't make it any easier imho.

If the enterprise software solution depends on IE compatability and is being built with .NET then o2b and all are spot on. It is a bitch to work with. It is however possible but requires more work.

I love working with php because I kind of know it and I can mark it up easily (I'm not really much of a programmer, layout and standards compliancy are pretty much what I focus on at work).

Been working on a .NET project that you could consider "Enterprise Software" and it's much much harder. from a laymans point of view (mine), there are these vb controllers or something and they are outputtng the code. I can add classes but don't have the same flexibility I would have if I was working with a php or even asp developer. Maybe it's the way it's being programmed but it just seems harder... It's taking me ten times longer than say marking up a standard html file. Maybe after a couple of projects working with .NET developers I'll "get them" and they'll get where I'm coming from, but I'd introduce it slowly and only if they are keen to work that way.
posted by twistedonion at 3:43 PM on March 6, 2007

Response by poster: du and blazecock: Sorry for the touchy reply. You're right that IE's quirks regarding CSS are something that I have to take into consideration when trying to decide whether or not it makes sense to switch to a CSS-based layout.

I simply saw your two answers and was afraid that this discussion might end up a browser-bashing fest, and that other aspects of my question would go unanswered.

Apologies, and thanks for the input.
posted by syzygy at 12:10 AM on March 7, 2007

Good advice above, but I gotta ask, then why can't the customers just take the specifications directly to the software people, huh?
posted by SuperNova at 12:16 AM on March 7, 2007

Response by poster: Thanks for the great answers and resources. To follow up, on version one of the module we're working on right now, we're using a mostly tables layout with CSS for fonts and some dimensioning.

I'm trying to push my developers toward using CSS more, and understanding how powerful it is. I asked this question with version two of this module and my customer's other modules in mind. They would like to do a complete redesign of the application, perhaps starting in June or so of this year. I'd love to be able to sell them on a CSS-based layout, because I really hate using tables - they're hell when it comes to tweaking design.

I'll continue pushing the developers to work with CSS where it makes sense in our current module, and hope they learn enough and see the light to be able to use it in more places, and more efficiently in our next projects.

Thanks again!
posted by syzygy at 12:24 AM on March 7, 2007

« Older iTunes 7 not working   |   The news is out to get us! Newer »
This thread is closed to new comments.