Nvu

I downloaded version 1 of Nvu on November 26, 2005 and the same download is on their site on November 24, 2006. The product has not progressed for a year. Either the developers are working on a massive change or development is dead. The two year old product is still useful and I use Nvu for the sort of tasks where you might use Microsoft's Frontpage.

(Update 2011: BlueGriffon replaces Nvu.)

The following image shows Nvu in action with nothing loaded. The top part of the screen is a menu typical of simple HTML editors. The left column is a typical file manager and the right side is a typical edit window.

Nvu editing screen with nothing loaded

Updates

Creating one large change every couple of years is a relatively new idea dating from the 1980s. Prior to that, programs were created as needed and updated almost every time they ran. Data was mixed with program code and parameters, including run dates, were often changed in code. Eventually parameters and the most frequently updated data was moved out of code so that programs could remain stable for more than a few days. At the peak of the 80s, people built huge teams to make one big change every two years and the two year plan ran over time, dragging new releases back for up to five years.

Today only Microsoft follows the 1980s style of development where changes are dragged out too long. The modern development techniques are aimed at 1970s style updates where you bring out an update every month or week. Hopefully Nvu is not following a Microsoft style development program. Nvu needs more frequent updates to ensure people see Nvu as a living product and to add several small but important enhancements mentioned below.

The Competition

When I tried Nvu against jEdit, jEdit won because jEdit had better features for PHP, HTML, CSS, and XML. The object of Nvu is visual editing but there are some things you cannot do visually and you have to drop into code. At that code editing point, jEdit wins.

There is a primitive counting system where the numbers are one, two, many. The system implies that anything over two is a crowd and not worth counting individually. In Web sites, the critical number is around ten Web pages. There are lots of small sites where you create a home page, contact page, privacy page then a few content pages and that is it. This sites are easily created using Nvu. When your content grows beyond that size, you need a content management system (CMS). When you are rapidly adding pages, you need a CMS. When you add forums or shopping carts or anything else complex, you need a CMS. jEdit is the better choice for creating a Web site using a CMS.

After the Web site is created, you can create content using s word processor then copy the edited text direct into the CMS. CMSs let you plug in Javascript based content editors that have spell checking and lots of other good features rivalling medium level word processors. Nvu has little use once you use a good CMS, such as Drupal, with a good content editor plugged in.

CMS Template or Theme

You can use Nvu to create your home page and a sample content page then give the sample to someone for translation to the formatting used by a CMS. When a project is large enough to have one person designing and another programming, the designer could use Nvu and the programmer could use jEdit or equivalent. Both programs are open source which means you can load both programs onto your computer at no cost and with no licensing restrictions. Use Nvu to design a page then use jEdit to convert the page elements to a template for a CMS.

CMSs use the terms theme and template to mean similar things, which leads to some confusion when talking about setting up a CMS. Templates usually describe the page layout and are implemented in a mixture of HTML and PHP. Nvu is good for developing HTML but not the best for PHP.

Themes usually describe the colour and other decorative features of the Web page. Themes are usually implemented in CSS. People try to use CSS to replace HTML tables as a way to layout a Web page, which starts to put template layout in the CSS file that is trying to supply a theme. The result is confusing and can be tackled by having the template definitions in one CSS file and the theme definitions in another CSS file. Whichever way you go, Nvu does not edit discrete CSS files. Nvu desperately needs a great CSS editing window.

XML is the next step after HTML. XML is moving in as the preferred format for Web page templates and Web page content. Nvu can currently create XHTML, including the strict version, which gives you Web page HTML in an XML compatible format but not full range XML. If Nvu want Nvu to be the product of choice for the long term, Nvu will have to be able to compose a wider range of XML documents. Nvu will also need an XSLT edit mode so that people can edit the XSLT transformation to convert the XML to the final output. CMSs can then use the Nvu generated XML as the Web page content and use the XSLT as the transformation element to create the formatted output. People can then grow from a static site to a dynamic site without learning to program. Their XHTML can become dynamic XHTML.

The Mozilla Connection

Nvu is based on the old Mozilla Composer component. Mozilla started as the proprietary Netscape browser which then became the proprietary Netscape package containing many tools including a Web page visual editor named Netscape Composer. Netscape helped start the Mozilla project which built an open source version of the Netscape package. Mozilla then made the smart move to split up the package into separate components. The Mozilla browser component became the separate Firefox and the email component became Thunderbird, both being the best of class products.

Nvu 1.0 is the Mozilla version of Netscape Composer separated out so that you can use the Web page visual editor without having to load a huge package. A future version of Nvu will be based on Firefox code instead of Mozilla. The conversion of Nvu code to Firefox seems to be holding up everything else.

Use

There are a few things to note with Nvu. The Nvu Web site is created with Nvu and contains a mistake on the very first page, the home page. The mistake is in the Web site configuration and shows that no matter how good your editor is, you still need to know the basic rules for constructing Web sites.

One of the example pages contains a classic error that will be ignored by some really nasty browsers, the unsafe kind, but creates problems for modern browsers. Again it is an error to do with logic, not the format of the page. You need to test with multiple browsers and research everything that fails in any browser.

Web Site Manager

The file manager can become a Web site manager if you define Web sites to Nvu. Nvu contains an FTP (File Transfer Protocol) client that can copy Web pages to the Web. You go to File then Export As and define the Web site. From then on you can click File, Publish to put the Web page up on the Web site.

The FTP part of Nvu is similar to the FTP part of Homesite and a few other Web page editors. If you want more control over the file transfer then use Filezilla. If you have more than one person working on your Web site pages then you need source control through systems such as Subversion. Hopefully a future Nvu will include a Subversion client.

Edit Views

The edit window can show the Nvu "normal" view which is the visual view, a HTML view, a text view, and a browser preview. You compose your Web page in the normal view then switch to the HTML view for fine tuning of the HTML. The following image shows the HTML view for the default empty page shown in the previous image.

Close up of Nvu editing screen in HTML tags view

The following image shows the source view for the default empty page shown in the previous two images. This is a view similar to jEdit and similar editors. You can create anything in this view including erronious and stupid HTML.

Close up of Nvu editing screen in Source view

The following image shows the preview view for the default empty page shown in the previous three images. This is a view similar to Homesite and some other editors. Normally these preview screens are hopelessly inaccurate compared to a real browser and some editors let you click a button that pops up a real browser. The Nvu people have access to Mozilla code which means they can present the real browser in the preview window. Once Nvu is updated to the current Firefox, the Nvu preview screen will be useful.

Close up of Nvu editing screen in preview view

Markup Cleaner

A few editors provide tools to clean up your HTML. Their definition of "clean up" varies. I tested Nvu with a well known Web page that is well formed but not completely efficient. Nvu reported removing an empty block and a trailing break. I ran the cleaner again and NVU removed more empty blocks and breaks. The page content moved up slightly but there was no report from Nvu that could be used to check exactly what was removed. I would have to start up jEdit to compare the Web page before and after cleaning.

There is a definite problem with Nvu finding one set of errors the first time then fining similar errors the second time. Why did Nvu leave half the errors the first time? Another problem is that Nvu left lots of unused HTML in the page. The unused HTML is from a duplication of effort during creation of the page. A great markup cleaner could highlight duplication and suggest ways to reduce the HTML. I have manually edited Web pages at major sites and reduced the Web pages by up to seventy percent. Nvu is a long way from being a great markup cleaner.

HTML Validation

Homesite and other editors provide a HTML validation tool that attempts to check everything in your HTML against rules that can easily go out of date. Nvu does not include a local tool and instead submits the HTML to the W3C HTML validator. W3C write the rules for HTML and their validator should be the final arbitrator of correct HTML. I prefer the Nvu approach when online but you cannot be online all the time. Choose an editor to suit the way you work and the amount of time you are online.

CSS Editor

There is a CSS editing tool that seems useless. I could not edit my CSS. I think the CSS editor is only for CSS within a HTML page, not CSS in a separate file. That makes the CSS editor useless for all the CSS on all the sites I work on as all of the sites have all their CSS in separate CSS files. Allowing direct editing of CSS files is another small enhancement to Nvu that will improve Nvu from student's practice editor to professional tool.

Installation

Download Nvu from www.nvu.com/download.php. Microsoft Windows 2000 Professional is used in this example installation.

  1. Download nvu-1.0-win32-installer-full.exe. The download is 6.7 megabytes.
  2. Disconnect from the Internet before going to Administrator mode.
  3. Log in as administrator.
  4. Start nvu-1.0-win32-installer-full.exe. You will see the following welcome screen. Click [Next>] to continue.
    Welcome to the Nvu Setup Wizard
  5. The Licence Agreement screen lets you read the software licence then agree or disagree. Click () I agree then [Next>] to continue.
    Display of the GPL licence agreement which is included with the software in a text file.
  6. Select the destination for the software at the following screen. Accept the default and click [Next>] to continue.
    Accept the default location in Program Files or type in the name of the directory to receive the software or browse for a new location
  7. Select the name for the software shortcuts folder. Accept the default and click [Next>] to continue.
    Accept the default location in Program Files or type in the name of the directory to receive the software or browse for a new location
  8. At the Select Additional Tasks screen, select () Create a desktop icon then click [Next>] to continue.
    Options to create a desktop icon  and create a quick launch icon
  9. At the Ready to Install screen, click [Next>] to continue.
    List of all the options you set in previous screens
  10. The installation part takes only a few seconds.
    Progress screen that flashes past to quick to read
  11. At the Completing the Nvu Setup Wizard screen, click [Finish] to exit the setup program and start Nvu.
    Option to start Nvu

Conclusion

If you want to visually edit a few Web pages, try Nvu. When you want to expand your Web site to a dynamic site using a content management system, use jEdit or equivalent to manually recycle the Nvu created page as a template.