Dreamweaver user group for London and web standards

Last night, I attended a meeting of The London Dreamweaver Meetup Group. It was a quiet affair. Although six people had said they would attend, only three of us turned up—Nigel, the previous organizer, Reynold Chung, the new organizer, and myself. The group was launched in 2009, but has met only a few times, and attendance has rarely broken into double figures. So, the challenge is to breathe new life into the group and attract members who share an interest in using Dreamweaver, regardless of whether it’s part of their job or they’re just creating websites in their spare time.

To get the group going, I have agreed to give a talk on Thursday 26 January demonstrating how to create a simple mobile website using jQuery Mobile, which is integrated in Dreamweaver CS5.5. The time and location have yet to be decided, but we’re trying to fix somewhere in easy reach of central London.

Reynold has put a lot of effort into planning the relaunch of the Dreamweaver group, so I’ll leave it up to him to announce the details of what he’s got in mind. In the meantime, I’d like to share some thoughts of my own about Dreamweaver’s reputation and how it can be improved.

Does Dreamweaver produce bad code?

I’ve been using Dreamweaver on an almost daily basis for about ten years, so I know the program pretty much inside out. Even before I started writing books about Dreamweaver in 2003, I always updated to the latest version as soon as it was released. As a result, I also know how the program has developed over the years. Yet whenever I meet professional web developers in Britain, they’re almost unanimous in their hostility towards Dreamweaver. Time and again I’ve been told that no serious professional would consider using Dreamweaver because it produces such terrible code. However, when I ask how long ago it was since they last used Dreamweaver, the answer is usually “ten years ago”.

How is it possible to judge the quality of any product—let alone a piece of software—based on impressions of it ten years ago? I freely admit that the quality of the code created by Dreamweaver all those years ago was far from perfect. Back in 2001, the Web Standards Project (WaSP) set up the Dreamweaver Task Force (later renamed the Adobe Task Force) under the leadership of Rachel Andrew and Drew McLellan, working together with Jeffrey “Mr Web Standards” Zeldman. The task force had two basic aims:

  1. Improve the standards compliance and accessibility of web pages produced with Dreamweaver.
  2. Raise awareness of web standards among the Dreamweaver community.

When Dreamweaver MX was released in 2002, the WaSP task force released its findings, which concluded—among other things—that “Dreamweaver produces valid markup ‘out of the box’”, and that “the most important thing about this release is that it recognizes the importance of web standards and tries to promote them within the constraints placed on it.” So, even as far back as 2002, WaSP acknowledged Dreamweaver’s support for web standards and the quality of the code it produces. But what were the constraints the task force referred to? The main problem was that Dreamweaver MX still used <font> tags as the default for styling text—although the user could switch to CSS. That changed with the following release, MX 2004, when CSS became the default. And since Dreamweaver CS4 (released in 2008), the only way to use <font> tags has been to insert them manually.

Even so, some horrors remained inside Dreamweaver, the worst of which was Layout Mode. This was aimed at visual designers with an aversion for code, but it created a tangled mass of nested tables that collapsed like a house of cards if you tried to alter the design. As a result of behind-the-scenes lobbying, Layout Mode was deliberately hidden in Dreamweaver CS3, before being removed completely from Dreamweaver CS4. At the same time, all the sample pages that used nested tables and deprecated markup were replaced by standards-compliant CSS layouts designed by WaSP evangelist, Stephanie Sullivan (now Rewis). Another monstrosity that bit the dust in Dreamweaver CS5 was the Web Photo Album. Many of the outdated JavaScript “behaviors” have also been quietly swept away.

As well as removing the bad aspects of the program, the Dreamweaver engineers have added new features—some of them highly successful, others not quite so good. One that I would put in the latter category is Spry, Adobe’s attempt at creating an Ajax library. The idea behind Spry was good, but lack of investment, combined with the runaway success of jQuery, meant that it never fulfilled its potential. Although Spry widgets still live on in Dreamweaver, Adobe has focused its efforts on jQuery—not only incorporating code hinting for it, but also becoming a major corporate sponsor and donating the full-time efforts of several engineers. Among the really positive improvements in Dreamweaver, I would cite syntax checking and code introspection for both JavaScript and PHP, plus the dynamic incorporation of full documentation for PHP 5.3. Dreamweaver’s handling of CSS3 media queries is also a great timesaver, keeping its features in tune with web standards as they evolve.

At the recent HTML5 Live conference in London, Opera evangelist Bruce Lawson jokingly asked me when Dreamweaver was going to stop writing crap code. I’ve known Bruce for some time, and realize that it was meant as a gentle leg-pull, but such thoughts are a decade out of date. Many web professionals use TextMate or Coda to build their websites, but it isn’t the software they use that makes them professionals. It’s their knowledge of HTML, CSS, and other web technologies. In the hands of an unskilled person, TextMate and Coda will produce rubbish. If you know what you’re doing with Dreamweaver, you can produce just as clean code—and possibly a lot quicker.

Raising awareness of web standards in the Dreamweaver community

I’m not a member of WaSP, but I’m passionate about web standards. Getting a Dreamweaver group off the ground is going to take a lot of effort, but I hope that it attracts a wide range of people who use Dreamweaver or are simply interested in web development. Although it will be important to show people the mechanics of using the program, I would like the topics discussed to cover web development and standards in general. When I teach Dreamweaver, I tell students to forget about the mechanics and to concentrate on understanding the markup that is being generated. Once you know HTML and CSS, using Dreamweaver falls easily into place.

Of course, some people might ask why London needs another group devoted to web development and web standards. After all, London Web and London Web Standards (LWS) are both well established and thriving. My hope is that the Dreamweaver Meetup Group can play a complementary rather than a rival role. Both London Web and LWS tend to gather large crowds, which could be intimidating for someone who is just starting out in web development or who has responsibility for maintaining a website as part of wider duties. I also hope that by showing people how to create standards-compliant sites in Dreamweaver, we can remove some of the unjustified prejudice against the program. Dreamweaver isn’t perfect, but nor is it the horror that some people portray.

This entry was posted in Dreamweaver. Bookmark the permalink.

9 Responses to Dreamweaver user group for London and web standards

  1. I agree entirely, at the end of the day Dreamweaver is just a tool and it is the user that sets their own standards as to the quality of the code they produce.

  2. Kiran says:

    I think its great tool for designing sites,lot of my friends are using dreamweaver and when I asked them , they suggested me this tool and one month back, i bought it on subscription.
    Its a good tool.

  3. Ove Klykken says:

    There is a reason developers still think DW creates crappy code. There’s a whole army of web amateurs, and some professionals, that find Dreamweaver (relatively) easy to work with and only use Design View. So even the code should be the duh-veloper’s responsibility, it becomes a reflection on the software. Not fair, but what is.

  4. David Powers says:

    I think that was true in the past, but Dreamweaver now requires a much better understanding of HTML and CSS. So, the amateurs find it more difficult to use. A lot of the criticism of Dreamweaver is based on outdated perceptions. It’s a case of blaming the tool rather than the people who are using it.

  5. Tiara says:

    Thank you so much for putting together the tutorials on adobe. They are an incredible help!

  6. Andoyo says:

    There are a lot web programmers in my country (Indonesia) don’t like Dreamweaver really much. This is because they don’t know how to use it. I also didn’t like Dreamweaver because I don’t know how to work with it.

    But I learned those program when I was studying Web Design in New Zealand.

    Now, I love it. Dreamweaver helps me a lot doing my web stuff, create a faster and clean code comparing to write the code manually. I teach my web design student to learn HTML and CSS, after that they will use Dreamweaver to fasten their work.
    Thanks a lot to your books Dave and for the online tutorial you have writen in Adobe’s website.

  7. Pingback: Why I’m no longer a member of the London Dreamweaver Meetup | Musings of a code slave

  8. Gary says:

    I have a webpage with some dynamically generated spry elements following much of the tutorial in your book The Essential Guide to Dreamweaver CS4 with CSS, Ajax, and PHP. The webpage seems to work as is should and generates no errors. However, when the page is accessed through a Google search the page generates the following error…

    Caught exception in Spry.Data.Region.prototype.evaluateExpression() while evaluating: {ds_RowID} == {ds_CurrentRowID} Exception:SyntaxError: invalid object initializer

    This error is being caused by Google generating malformed URL in its search results; like the following…

    mywebpage.php?row={ds_RowID}

    I suspect that this error is being caused because the link is being generated by JavaScript which Google is having difficulty interrupting. Is there a way that I can fix this and make Google interpret the link correctly?

    Thanks

  9. David Powers says:

    Hi Gary,

    Sorry for the delay in replying. I was travelling abroad, and have been up to my eyeballs in other work. I don’t know the answer to your problem. Search engines like Google understand JavaScript, so your link should be correctly interpreted. But it looks as though the Spry code is being indexed instead of the dynamic value. I suggest that you post a question in the Spry forum on the Adobe website, or maybe ask Google. I wish I could be of more help, but Adobe seems to have abandoned further development of Spry, and is concentrating on jQuery instead.