j4: (dodecahedron)
j4 ([personal profile] j4) wrote2004-09-14 05:41 pm

Help me to forget today's pain

The problem I have with Dreamweaver is that every time I hear the bastard word I get an unshakeable earworm of Gary Wright's "Dream Weaver", accompanied by the image of Mike Myers lusting after the admittedly eminently lustable-after Tia Carrere in Wayne's World.

This, however, is not a problem that the man running the Netskills course could be expected to fix, so we concentrated on other stuff like how to wrangle the software into producing accessible, maintainable web-pages.

I'd never used Dreamweaver before but found myself in the surprising position of knowing more HTML than anybody else in the class. That is, I'd coded HTML by hand ("Brave people!" said the course tutor, only half joking) and had used CSS. Fear my scary web skills. Mind you, everybody who'd been on a Netskills course before said that there was never time to get through all the "hands-on" exercises, and even the course tutor said that nobody was expected to finish, but I got through all the homework with time to spare to read LJ and check email. And correct all the mistakes in the worksheets. Suddenly I remember why everybody hated me at school.

The impression that I get is that Dreamweaver would be a fantastic piece of software for the amateur web-designer, in much the same way that all-singing all-dancing power-tools are the secret vice (ahem) of the home DIY enthusiast. Unfortunately, at somewhere in the region of $400, the amateur web-designer almost certainly can't afford it. Which is a shame, because this particular amateur web-designer would be delighted to get her geeky mitts on a copy just to play around with. I think it's possible to create sane, well-formed web-pages with it; it takes time and care, but it allows you to use nifty short-cuts for the donkey-work. There's no inherent virtue in carving HTML out of a rock with your bare hands; why not use funky pointy-clicky interfaces if they let you get the tedious bits done quickly? I don't need to prove to anybody, even myself, that I know how to create an image link or a simple table.

Like any tool, though, it's possible to use it for the forces of evil. You can, more or less, create web-pages in an entirely WYSIWYG environment (if you never click the scary 'show code' button); which means that you can perpetrate crawling tentacled Lovecraftian horrors in your HTML without even realising you're doing it. You can be seduced by Dreamweaver's amazing templating/content-managing systems, because they are actually pretty well implemented, but only later realise that they also effectively lock you into using nothing but DW to maintain your files for ever.

Still, on the whole, the course was useful. We need to know how to use DW because our content-providers want to use it, and it helps if we know where they're coming from and know why we'd prefer them not to use it -- and know how to get them to at least set some limits on the horrors they perpetrate. The bits about accessibility issues were interesting, and DW does actually do fairly well on the creating-accessible-webpages front -- validating, checking, advising, and prompting for things like alt-tags, captions, summaries, etc. (It's just a shame it not only doesn't validate for XHTML 1.0 Strict, but lies and says it does.) The course was also a handy opportunity to consolidate previously-learned HTML knowledge, which is always a good thing. In fact, the thing that I found most interesting about DW was the opportunity it presented for learning HTML -- you can drag and drop clever bits of design, and then look at the code to see how it's done.

All in all, probably a more productive use of the day than I would have otherwise achieved. And free food, though a hint to the next people to organise a similar event: Maxwell House brown powder is NOT COFFEE.

The course was also, of course, a chance to watch STUPID PEOPLE. Who needs soap operas and reality TV when the whole world is a shimmering kaleidoscope of witlessness?

Actually, most of the participants were fine -- that is, mainstream and boring rather than actively stupid. But today's Moron Prize goes to the girl who turned up late and spent five minutes disrupting everybody by faffing with her hair, her scarf, her bag, her hair again, her coat, etc.; then when her phone went off halfway through a presentation (we'd been asked earlier to turn phones off) looked up in wide-eyed amazement, saying loudly "Nobody ever phones me!" She then went to the door, with the phone still tweetling ... and then stopped, still inside the room, to take the call. And then interrupted the presentation again a few minutes later by bouncing back to her seat saying "Sorry!" in a cheerful stage whisper.

She was the same one who, at lunch -- just after the presentation detailing the things it's possible to do to make web-pages accessible, and the things one should avoid -- whined "They're never going to let us use all the nice things, though, are they?" When asked what "nice things", it turned out that she meant -- yep, you guessed it -- things like Javascript, Flash, etc. "All the stuff that makes your website look nice." Against my better judgement (that's the better judgement that tries to preserve my blood pressure by restraining me from arguing with numbskulls) I did try to make the point that those "nice things" are exactly the things that have the potential to make the website COMPLETELY FUCKING UNUSABLE for people with last year's browser, let alone people with NO EYES, but to no avail.

And she works here, too. I'm not sure whether she or the "coffee" and stale biscuits made me more embarrassed to be part of Cambridge University.

[identity profile] burkesworks.livejournal.com 2004-09-14 10:31 am (UTC)(link)
DW, in conjunction with Photoshop and a good text editor like BBEdit, rocks like a bitch, unlike the old Gary Wright choon of the same name. Want a CD-R of it for your iMac?

[identity profile] j4.livejournal.com 2004-09-14 10:37 am (UTC)(link)
Yes please! Though I'm mostly using the PowerBook now -- does it run under OS X? If not I can still use the iMac but I ♥ my shiny PowerBook. :)

[identity profile] burkesworks.livejournal.com 2004-09-14 10:59 am (UTC)(link)
Well, I haven't tried mine under OS X yet (only just put in that DV board, and am still running OS 9.2.2) but by all means give it a go. Mail me with where you want it sending.

[identity profile] j4.livejournal.com 2004-09-14 04:15 pm (UTC)(link)
What address? Will your LJ address work?

[identity profile] burkesworks.livejournal.com 2004-09-14 06:50 pm (UTC)(link)
burkesworks AT lineone DOT net

[identity profile] rysmiel.livejournal.com 2004-09-14 10:37 am (UTC)(link)
Like any tool, though, it's possible to use it for the forces of evil. You can, more or less, create web-pages in an entirely WYSIWYG environment (if you never click the scary 'show code' button); which means that you can perpetrate crawling tentacled Lovecraftian horrors in your HTML without even realising you're doing it. You can be seduced by Dreamweaver's amazing templating/content-managing systems, because they are actually pretty well implemented, but only later realise that they also effectively lock you into using nothing but DW to maintain your files for ever.

Which eminently true arguments were what allowed me to stop people using it at my last place of employ; this one is sensible enough that I haven't needed to have that fight here.

I don't see any inordinate value in hand-coding one's own HTML once one has done enough to understand the fundamentals, but I am kind of keen that people should understand the fundamentals; particularly if most of what they're going to be doing long term is writing Perl or PHP most of the purpose of which is to spit out appropriate HTML when poked.

Well done at not killing the moron who wanted to use Flash. [livejournal.com profile] zorinth's computers teacher is a moron of that ilk; we reward him for every class from which he comes home without having punched that man in the nose. [ God it's weird to be going to parent-teacher meetings as a parent, particularly when the way you're reacting to the teachers is exactly the same way you would have as a pupil and bears no resemblance to anything your parents ever did. ]

[identity profile] j4.livejournal.com 2004-09-14 10:48 am (UTC)(link)
Agree completely about learning the fundamentals of HTML first, whatever editor/CMS/etc. you decide to use.

There's absolutely nothing wrong with Flash provided you know when (and more importantly why) to avoid it. I would love the opportunity to learn it -- it'd be no more useless than plenty of other things I've enjoyed learning -- but can't really justify the time (let alone the expense) to do a course, and can't muster the energy to teach myself. But I can't really hate something which has covered the world in dancing badgers.
(deleted comment)

[identity profile] kaet.livejournal.com 2004-09-14 11:49 am (UTC)(link)
It's not really for the beginner, but I'm no fan of writing tedious long-winded html either.

Lots of the pages I write have the same style, so I invent tags like <badge> <box> and and stuff, and then use XSLT to generate the HTML. Usually when I write HTML myself I can't be bothered to do the whole no-tables-all-css div and span thing for complicated pages, so usually I end up with better HTML like this because when I wrote the XSLT first time around I read all the standards, and now don't have to, :). These days even my CGIs emit this stuff, it's much nicer than
<td class="foo bar baz banana" colspan="42">
stuff. The CGIs are invoked by an über-CGI which takes their output and XSLTs it, and then feeds it to the output, so you need no webserver support.

I'm not suggesting for a moment that this is a good way for a beginner to do it, XSLT looks a bit like gobbledegook which is then fed through the department of work and pensions and subsequently pronounced by a railway announcer with a cold and the über-CGI is one of the hariest pieces of code I've written in the past few years.

But I can totally see the donkey-work shortcuts thing, and I think it can actually lead to less borken pages!

[identity profile] kaet.livejournal.com 2004-09-14 04:49 pm (UTC)(link)
Just rereading this it looks kind of rude as if suggesting that you are a beginner at web stuff, which I didn't mean to do at all.

[identity profile] j4.livejournal.com 2004-09-14 04:56 pm (UTC)(link)
I didn't read it like that! Stop worrying already. :)

[identity profile] j4.livejournal.com 2004-09-14 05:01 pm (UTC)(link)
class="foo bar baz banana"

Ah but but but, your classes should be called things that describe what they are, either from a what-it-looks-like point of view (at work I have classes called exciting things like "greyboxout" and "redline" and "redtext") or a what-it-does point of view (e.g. "breadcrumb" and "alert" and "footer"). This is where everybody goes "blah blah logical markup" and I go "yeah, but CSS is supposed to be for display, HTML is for logical markup", and then they go "ah-hah, then you should name classes after what things look like and not what they do" and I go "but the beauty of CSS is that you can do both!" and they go "but you smell" and I go "but I've had your mum" and we all argue over who uses a more awkward text editor.

I have been in Cambridge too long.

[identity profile] kaet.livejournal.com 2004-09-14 06:12 pm (UTC)(link)
I'm wondering about the naming and scope of these things at the moment.

The XSLT greps in loads of places in the XML source for the properties of each tag (for example you can declare a colour scheme inside each box, like "green" or "red" and the relevant shades are chosen for different things, borders, lines, and so on). It then adds to each output tag a long scree of CSS classes corresponding to its type like "box-ledger-column-nonfinal box-ledger-column-nonfinal-red box-ledger-column-tiny box-ledger-column-not-bold" and so on. Then in the CSS you can define these things as you like (exactly what shade of red in the "red" colour scheme you want the border of a ledger to be, how tiny you want tiny to be in a ledger, and so on).

It makes the css long (~20K at the moment), but it makes it static across the site, so that doesn't cost much. The problem is that it makes the tags in the HTML long. Sometimes tags can have upto a dozen of those longwinded classes assigned to them, making them over 100 bytes each! That makes the download itmes long and the HTML a pain to read. Because CSS selectors are so broken in so many browsers, I don't really have much choice but to use classes to select tags apart from the simplest of assignments (all tags and only this tag, essentially).

I could shorten the HTML considerably by using code classes like b23cf with shorter names, but that would make the HTML and CSS difficult to read (I guess I could have a big comment in the CSS, and a reference in the HTML, but even so). Doing cleverer stuff in the CSS, so I can "use the cascade" more would be nice, but I'm not sure how I could do it easily to shorten the code considerably using that, to be honest, and it would add more comlpexity. You could inherit stuff like "redness" from outer elements, but you can't say in CSS for
's that means #ff3300, but for b #ff0000 on a #330000 background, or something in that outer definition.

Another thing is that about half the CSS classes are blank, so I could save there. But there's no sensible pattern to the ones that are currently blank. I could get the XSLT to miss out those classes, but that would mean parsing CSS in XSLT (doom!) or maintaining lists of empty tags.

I guess if I had infinite time I should generate the CSS and a "not currently used" sheet, along with short tag names and documentation all from a master XML style source document. A perfecitonist's work is never done.

As I guess I've already said, my CSS tends to be half-way-between logical and layout. Afterall, there's no real dualist's border there. Saying something is the last element assumes it's being rendered temperospacially, and listing something as last can carry semantic meaning. Documents using natural texts all have connotative typographical semantics, I think, and with the demise of the supremacy of denotation, can easily by the primary payload in certain applications. There are pretty clear boundaries for a whole class of texts, particularly scholarly texts, most of which have been written in the shadow of Descartes, after all, but most of the web isn't those texts! I think that you can only hope to do your best because CSS is where the "play" is in this system.

[identity profile] huskyteer.livejournal.com 2004-09-15 01:59 am (UTC)(link)
No no no, you shouldn't call a class 'redtext', because in a few months your boss might say "Make all the red text blue and italic instead", and then things will get confusing! The what-it-does method is much better. According to popular sources, anyway.

[identity profile] j4.livejournal.com 2004-09-15 02:03 am (UTC)(link)
What when the red text doesn't fulfil any specific function -- it just happens to be red? I mean, when it's just colour-red, rather than logical-red? After all, accessibility whatnots state that you shouldn't be using colour to signify anything important... ;^)

[identity profile] oldbloke.livejournal.com 2004-09-15 03:04 am (UTC)(link)
Nah, you just create a new class blueitalictext and globally edit all the refs to redtext.
Then, when they change their minds two months later, one easy edit changes it all back.

[identity profile] kaet.livejournal.com 2004-09-14 11:50 am (UTC)(link)
Bugger, lj's gone all Mondrian on me. That'll teach me to trust lj to do escaping!

[identity profile] huskyteer.livejournal.com 2004-09-14 02:42 pm (UTC)(link)
but found myself in the surprising position of knowing more HTML than anybody else in the class. That is, I'd coded HTML by hand

This makes me wince. I discovered on a CSS course that my colleague, who has a qualification in web design, has no idea how to code a simple page from scratch. Everyone needs to know this stuff! It's not rocket science! [livejournal.com profile] cybersofa taught me the basics of web design in an hour (back in 1994, when there was less to know) and I've passed this knowledge on to others.

Dreamweaver is great for doing tables, lists and other dull things quickly, and it colours your code so you can see what's going on. But it still - even MX 2004 - barfs chunks of unnecessary taggage into my nice clean HTML.
karen2205: Me with proper sized mug of coffee (Default)

[personal profile] karen2205 2004-09-14 03:22 pm (UTC)(link)
Even *I* can code HTML + CSS by hand and I'm not in IT.

[identity profile] j4.livejournal.com 2004-09-14 04:12 pm (UTC)(link)
You don't have to be in IT! Plenty of people who are "in IT" can't write HTML! And plenty of people who aren't, can! It's nothing to do with anything! It's like saying "I can write, even though I'm not in journalism"!

(And... breathe.)

Sorry but we've just had the other side of this, which is "We want to be able to do our own web stuff, we just employed somebody who's just finished a degree in computer science so they will be able to do it". Well, um, no, a computer science degree doesn't necessarily tell you how to write for the web and/or code HTML, any more than a degree in linguistics tells you how to write a novel.

My analogies are breaking down.
ext_3375: Banded Tussock (Default)

[identity profile] hairyears.livejournal.com 2004-09-14 05:09 pm (UTC)(link)

There's too many people just finished an IT degree who can't program in any language, muttered HairyEars darkly, having spent much of the day 'maintaining' their code.

HELP! HELP! I need to get out of the house more!


[identity profile] oldbloke.livejournal.com 2004-09-15 01:08 am (UTC)(link)
Many people in IT don't seem to have the first F£$^ing clue about computers, IME.
karen2205: Me with proper sized mug of coffee (Default)

[personal profile] karen2205 2004-09-15 03:50 am (UTC)(link)
*nods* - I think there should be a vocational qualification in web design - because to a recruiter looking for an web designer someone with a computer science degree might sound ideal. There currently, to the best of my knowledge, aren't any qualifications web designers can gain to prove their skills.

[identity profile] j4.livejournal.com 2004-09-15 03:55 am (UTC)(link)
Well, Netskills (http://www.netskills.ac.uk/) do qualifications, and you can probably get C&G in web design now, and there are probably hundreds of other even less meaningful "qualifications" out there... but why make people pay for a piece of paper to prove they can do something, when a portfolio of web stuff they've already done will do just as well?

(Yeah, they could still lie about what they've done, put other people's pages in their portfolio, etc. But then, when did a prospective employer last check your qualifications?)

[identity profile] k425.livejournal.com 2004-09-15 06:36 am (UTC)(link)
any more than a degree in linguistics tells you how to write a novel.


ITYM speak many languages.

You need a degree in literature to write a novel.

[identity profile] j4.livejournal.com 2004-09-15 06:59 am (UTC)(link)
I do know what linguistics is, and I think the relationship between computer science and writing/designing-for-the-web is more like the relationship between linguistics and novel-writing. It's a crap analogy, perhaps, but it was at least a deliberate one.

[identity profile] k425.livejournal.com 2004-09-17 07:53 am (UTC)(link)
It was a joke.

Perhaps I should start using smilies.

[identity profile] j4.livejournal.com 2004-09-17 07:58 am (UTC)(link)
Sorry.

(Actually, personally I don't mind smilies at all; and this isn't uk.misc.)

[identity profile] j4.livejournal.com 2004-09-14 04:15 pm (UTC)(link)
and it colours your code so you can see what's going on

But emacs does that! 8-) And so does TextPad, which is actually quite nice.

even MX 2004

Our course tutor said that not many people were bothering with MX 2004, as it wasn't much of an improvement on original MX, and it was better to wait for MX 2006. Sigh.

[identity profile] oldbloke.livejournal.com 2004-09-15 01:03 am (UTC)(link)
I'm going to lift much of that and send it to Wystan, our website man, as we currently push DW as the least bad of a bad bunch that's available to us.
Maybe we can mention some of your caveats in our documentation.

[identity profile] j4.livejournal.com 2004-09-15 01:23 am (UTC)(link)
Yikes! Er, okay. I didn't realise I was reviewing the thing for anything real! :) I can try to come up with some more considered comments if you want...

And I should also say that despite all the ranting I am also still bouncing about all the shiny things DW can do.

[identity profile] oldbloke.livejournal.com 2004-09-15 03:10 am (UTC)(link)
Oh, I just thought it'd give him a giggle, really.
I expect he's aware of the XHTML 1.0 Strict thing.
He might not have realised the full enormity of the lock-in-to-DW aspects, though.

[identity profile] j4.livejournal.com 2004-09-15 03:24 am (UTC)(link)
the full enormity of the lock-in-to-DW aspects

I may be being unfair to it on this point. Basically, it's very very easy to set up lots of funky templating, shared libraries of code snippets, etc. and for DW to magically update all your files when you change a shared bit. Or even when you move a file within its explorer-like file-system, it updates all the links. You can create 'accounts' that let people edit some files but not others; you can make templates which are partially editable but with the important bits locked down, and anything created with your template will change when you change the master file, etc. etc.

IOW there's a lot of impressive joined-up thinking within the bounds of the DW environment; but once you make changes outside that environment I don't know (because I didn't get long enough to play) how well it deals with that when you put them back in DW. Basically, it's trying to be a CMS as well as an editor, and by and large it does it pretty bloody well, but like any CMS if you buy into it wholesale you may find it irksome buying out again.

On the other hand, AFAICT it keeps all its magic spells in comments, so you could edit your files in DW, then run a script to strip all the DW comments, and then serve them as if they were ordinary static HTML. Probably. I dunno.
sparrowsion: photo of male house sparrow (string-handling kitten)

[personal profile] sparrowsion 2004-09-15 05:49 am (UTC)(link)
Thinking about this has reined in my urge to post sarky comments1 to the latest c.l.py poster to complain about the lack of a "fully featured" IDE for Python. Wanting something that holds your hand but doesn't exactly do all the work for you (or at least very clearly shows you what it's doing) might be a good way of learning, but I can't help thinking that relying on it for serious development is asking for trouble. I've not used an IDE (as an IDE -- I've used components) for ... well, as long as I've been in this job. Because it ties you down far too much to what it thinks is the right way of doing things, and what it's capable of.

1is all i want to be able to program fast
And having your development environment pop up autocompletion options and documentation all over the place would make you *faster*?
How do you guys program without a feature like this?
By being competent enough to not need a crutch.
Why does the adage "A poor workman blames his tools" spring to mind?