Feb 22 2007 at 7:56pm

Are Tools Making us Dumber? (to hand code or not to hand code)

Kathy Seirra has an interesting post about whether automated tools make us dumber. In the article she raises a number of examples, including web design:

But should a web designer need to be an HTML coder? Or can he just use a WYSIWYG tool? The debates still rage in the web development world, although the issue should be resolved soon enough. In desktop publishing, for example, you will never hear, “Oh, you can’t just use Quark or Adobe InDesign… you really need to tweak the Postscript by hand to do it right.”

I’m not quite sure what she’s getting at here, but she seems to be saying that web designers don’t need to know how to write code. On the other hand, most of the other examples she points to imply that users should know how the technology works and be able to operate without. (I’m confused!)

Now, I don’t know too much about Postscript so I can’t address this comparison directly but I definitely do think that web designers do need at least a basic understanding of how the code works - probably more. There are so many idiosyncrasies in web design and differences in how browsers and WYSIWYG editors handle things. In addition, WYSIWYG editors are usually somewhat behind current web technologies and often don’t handle newer standards very well. Come to think of it, it would be pretty much impossible to write CSS at all without some concept of HTML tags, even in Dreamweaver.

You also have to be prepared for circumstances where a WYSIWYG mode is not available. For example, when I go in to my Wordpress templates here there is no WYSIWYG mode. Everything is in pieces, and I have to be able to edit it by hand and understand how those pieces work together. If you want to be able to modify any kind of a CMS you have to be able to work with the code.

There many other professions you could compare this to:

  • Does a photographer need to have a deep understanding of colour adjustments, exposure, lenses, hardware etc.?
  • Does a programmer need to know how the programming language he’s using works or can he just use it?
  • Does an architect need to know about building materials and structural loads or can they just draw a picture?

Of course they need to know, so why is it any different for a web designer? All professionals have fundamental tools they make use of every day, whether they be technological or theoretical or natural. HTML and CSS are fundamental tools for web designers. They have a huge amount of influence over everything we do. Browsers do not always handle them consistently. We need to be able to understand how they work.

But, I confess: I do use Dreamweaver and I like it. I have a deep understanding of how the code works and I feel that an automated tool can help me do my job more efficiently. I really don’t feel the need to waste my time writing p and li tags by hand. Dreamweaver can do that much more efficiently than I can. I  always code layouts and more complex elements by hand though. I also like to use tag complete when writing CSS. I never use the CSS interface in DW just because I find them to be really inefficient compared to my brain + tag complete. I wouldn’t even know how to go about getting DW to draw a half-decent CSS & div-based layout without getting into the code.

Back to Kathy’s post:

90% of the time we probably don’t need to know how things work under the covers. I only barely understand why 747’s ever leave the ground. I’ve never changed my own motor oil. (I have, she says proudly, topped off my windshield wiper fluid.) But I shouldn’t think about putting a bit in my horse’s mouth before I understand everything from horse anatomy to the principles of leverage that bit was designed for.

This is what it comes down to in my opinion. Are you a “passionate user” or not? Earlier in the article she brought up the example of point-and-shoot cameras. I like my basic digital camera. I don’t want to know how it all works, I just want it to take pictures. I’m not that passionate about it. I am also not that passionate about my car. I want it to get me where I need to go and hire a professional when I need service. And that probably applies to websites for a lot of small time bloggers and hobbyists. But, if you want to be passionate about something you have to have a deeper understanding.

What are your thoughts on hand-coding? Do you ever use a WYSIWYG editor? Or do you think I’m a big loser for daring to use one ? ;)

Comments RSS

6 Responses to “Are Tools Making us Dumber? (to hand code or not to hand code)”

  1. In desktop publishing, for example, you will never hear, “Oh, you can’t just use Quark or Adobe InDesign… you really need to tweak the Postscript by hand to do it right.”

    Has she ever seen Postscript? Here’s an excerpt from a postscript file I just created:
    (StandardSymL) cvn findfont dup length dict begin
    {1 index /FID ne {def} {pop pop} ifelse} forall
    /Encoding [
    /.notdef /exclam /universal /numbersign /existential /percent /ampersand /suchthat /parenleft /parenright /asteriskmath /plus /comma /minus /period /slash
    /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question
    /congruent /Alpha /Beta /Chi /Delta /Epsilon /Phi /Gamma /Eta /Iota /theta1 /Kappa /Lambda /Mu /Nu /Omicron
    /Pi /Theta /Rho /Sigma /Tau /Upsilon /sigma1 /Omega /Xi /Psi /Zeta /bracketleft /therefore /bracketright /perpendicular /underscore
    /radicalex /alpha /beta /chi /delta /epsilon /phi /gamma /eta /iota /phi1 /kappa /lambda /mu /nu /omicron
    /pi /theta /rho /sigma /tau /upsilon /omega1 /omega /xi /psi /zeta /braceleft /bar /braceright /similar /Upsilon1
    /Euro /minute /lessequal /fraction /infinity /florin /club /diamond /heart /spade /arrowboth /arrowleft /arrowup /arrowright /arrowdown /degree
    /plusminus /second /greaterequal /multiply /proportional /partialdiff /bullet /divide /notequal /equivalence /approxequal /ellipsis /arrowvertex /arrowhorizex /carriagereturn /aleph
    /Ifraktur /Rfraktur /weierstrass /circlemultiply /circleplus /emptyset /intersection /union /propersuperset /reflexsuperset /notsubset /propersubset /reflexsubset /element /notelement /angle
    /gradient /registerserif /copyrightserif /trademarkserif /product /radical /dotmath /logicalnot /logicaland /logicalor /arrowdblboth /arrowdblleft /arrowdblup /arrowdblright /arrowdbldown /lozenge
    /angleleft /registersans /copyrightsans /trademarksans /summation /parenlefttp /parenleftex /parenleftbt /bracketlefttp /bracketleftex /bracketleftbt /bracelefttp /braceleftmid /braceleftbt /braceex /angleright
    /integral /integraltp /integralex /integralbt /parenrighttp /parenrightex /parenrightbt /bracketrighttp /bracketrightex /bracketrightbt /bracerighttp /bracerightmid /bracerightbt /space /.notdef /.notdef
    /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
    /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
    /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
    /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
    ] def currentdict end

    That’s not easy to understand, HTML was designed to be human readable, Postscript was not. So the comparison between postscript and HTML lacks merit.

    There isn’t much need to use a WYSIWYG editor for HTML, it’s not difficult to understand. A good editor will make the tedious bits easier though: auto-completion, lists of standards-compliant tags from menu bars, automatically creating data tables etc.

    Also, whether an author requires assistance with coding depends upon their experience and the project. If the project is an authors first, and it’s just a simple home site there’s nothing wrong with using a WYSIWYG editor. If the project is a dynamic web shop and the author is a professional they should know how to code. It’s doubtful WYSIWYG would work well for their purposes anyway (because of dynamic content).

  2. I hand code *everything* from HTML to ASP.Net. My tool set includes NotePad++, Visual Studio, TextMate and CSSEdit.

    The only time I ever open DreamWeaver is when I need to update the standard web template for work but I use it in code mode. My “passion” is due to an obsessive compulsive need to control how my code looks. I am a code control freak and have been since the first time I looked at the code FrontPage generated *shudder*. Until WYSIWYG editors can make perfectly standards compliant HTML that utilizes CSS layout techniques (ya right!) I won’t change my methods.

  3. Dreamweaver can though. I wouldn’t use it if I didn’t think it could code (at least simple things) just as well as I can. I *wouldn’t* do it for layout but I don’t hesitate for simple text structure. As CSS is becoming more capable we are able to simplify HTML a lot.

    I’m trying to think of non-standards compliant stuff that it does but nothing is coming to mind. Whenever I’ve found validation errors it’s because of human error not Dreamweaver.

    I used to have obsessive control over code too - even down to indenting and where line breaks are, but since then I’ve decided I’ve got too many other things to worry about ;)

  4. I’ve been using Dreamweaver for years to get sites to look the way I want. Especially when CSS appeared (and I didn’t bothered to learn it) it was great to have a WYSIWYG editor to get things going. I never really apreciated the handicraft of making web pages compared to writing decent code in a decent language like Java. Recently, however, I decided to do it the hard way in order to actually learn something about CSS, Javascript and the like. Ok - it is time consuming, but I suspect that the time is invested in shorter debugging and development times in the future. I will most certainly return to Dreamweaver or something similar later on. Now I am using TextMate which is a brilliant code editor and really makes code easier to edit.

    I was also a bit confused by the PostScript part of the Sierra post. What was the point with that? There has been attempts of making things more WYSIWYG for a long time in many programming languages. 4GL was one of the first and it has been completely abandoned. VB and .NET I guess still is pretty succesful. Sun had ideas about this with the Java Beans thing but it didn’t turn out well. A recent trend (5 years or so) is integration platforms where web services, Java calls, XML transformations and who knows what is easily integrated in a nice GUI. It is not WYSIWYG for the end user but it is an abstraction on top of the code level. Some things are suited well for WYSIWYG, some things are not. I just try to avoid tools that reduces the quality and fell happy about tools that enables my creativity!

  5. It depends on how you define a web designer… if it’s someone who JUST designs basic websites, then yes, they can do their job without knowing HTML. It doesn’t mean that they can necessarily do their job WELL, but these people only class themselves as ‘designers’.

    (that doesn’t mean they SHOULDN’T know how to code HTML, it just means it is possible for them to do the job without knowing it)

    Now there is no way a proper web ‘developer’ can do their job without knowing the code.

  6. I was happy get rid of frontpage when I learned (presentational) HTML at the age of 13 (7 years ago), it was much simpler to code in notepad. I was equally happy to get rid of presentational HTML and learn CSS when I resumed my webdesign days a few months ago. Nowadays I usually code in dreamweaver because of the CSS tips that appear while typing in code view (I’m lazy :P) and that’s about it. But it can be a time saver when used to create boring stuff like tables (but not for layout!!) and lists.
    I have a reasonable understanding of CSS, but I sometimes refrain myself from doing crazy cool designs because I don’t think it’s possible to code them. What I’m saying is that if I didn’t know anything about CSS, I’d design pages freely and let the coders worry about it later :P But I realise I just have to study harder to be able to code whatever I come up with without crippling my imagination, and I love to code. :)

Leave a Comment


(will not be published) (required)