Group test: web editors
Way back at the beginning of the web (or when it started to become mainstream) it was popular to spend hours hacking away at a keyboard to type your first web page. These early efforts were horrific mish-mashes of colour, style (or lack thereof) and seemed to consist entirely of people telling you just how they felt about certain topics. - you only have to spend some time with the Internet Archive to see shining examples of the terror that could be wrought with a simple text editor and far too much knowledge.
From there web development got a bit smarter, and it wasn't long before GUI-based tools became available to make the whole process more speedy and user friendly. Sadly, they didn't improve on the whole colour clashing, but they did make a lot more people a lot more productive. Even Microsoft, having previously dismissed the power of the web, did a complete U-turn and ended up releasing FrontPage to fuel even more abuse of the senses.
So, if you're looking around for a great web editor for Linux, just what is the state of editors for Linux and does it get any better than Vi or Emacs? Let's take a look at what options are on offer today.
Licence: Free under GPL
The in-depth reference library is Bluefish's killer feature. It adds a host of information without invading too much space.
Our first editor of interest is Bluefish, which is marketed as the programmers' HTML editor. When you launch it, you can understand why it's seen this way. Although you can't edit a graphical preview, you do get a whole host of icons crying out to be clicked on - and there are many other components that can be placed into the mix, including PHP, SQL and some limited Apache options.
All of these are designed to take some of the pain out of creating complex pages, something which is to be commended. Even better, there's a pretty exhaustive reference not only to the intricacies of HTML, but also PHP, CSS2 and Python.
As you'd expect from any code editor, there's syntax colouring and highlighting to help you monitor and correct any mistakes in your code. Coming back to the Ribbon-like interface, we found it annoying to have to click twice to get to the options we needed - once to bring up the toolbar and again to select the option we wanted.
It's a feature we find mildly annoying in Office as well, although we can understand that others may prefer it. However, the interface does seem a little on the cluttered side, even with the ribbon hiding the majority of the icons.
After a while, you'll find yourself entering code without the icons, just to avoid having to use them. If you find that you're using a handful of icons on a regular basis, you can elect to add them to the quick bar - a Ribbon-like option that gives you your own personalised shortcut area.
We are legion
One of the best features in Bluefish is that it enables you to create what it calls projects, which contain a number of pages or elements all founded on a common set of preferences. Each page is held in its own tab, making it relatively simple to have a number of pages open within the editor to cross check between them as necessary.
Access to external browsers for previewing is a little on the primitive side though, with a pre-populated list oddly based on some of the more uncommon (with the exception of Opera) web browsers available for Linux.
Don't fear: there may not be Epiphany and Firefox options to be found by default, but Bluefish enables you to edit your menu and add additional browsers to it, although you'll have to work out the command line options if you want to do more than just open the browser at the search page.
This includes the code colouring and highlighting features we mentioned earlier, which opens Bluefish up to a slightly larger potential userbase than solely web developers. It's just unfortunate that it doesn't provide you with a graphical view of what you're editing.
The addition of this feature would make Bluefish an incredibly powerful application, raising it above and beyond being a neat environment for code entry and reference.
Verdict: An overcrowded but powerful tool, enhanced by a useful reference guide. 8/10
Licence: Free under the W3C Software Licence
Technical woes ended our time with Amaya, but even without them our impressions weren't great.
One of the first web editors we came across is Amaya, and it immediately piqued our interest. What struck us was the fact that this is the editor not only used by, but also endorsed by, the W3C - they of web standards fame - immediately forcing us to cast a more critical eye than we would normally.
What's interesting is that Amaya is designed to enable you to try out some of the very newest technologies within XHTML, and also to act as a kind of standardschecking tool to ensure you produce clean pages that adhere to the rigid guidelines laid down by the W3C.
With all this in mind, we were expecting to see a pleasant interface, offering easily accessible options. What we experienced of Amaya fell short of that ideal, in that it appears to be a hastily mashed-together tool with the sole purpose of doing some limited debugging of XHTML code - when we could get it to stay open without crashing for long enough to use it.
First, let's deal with the good. By default you're editing a preview of the finished product, so you're able to apply different styles, colours and other effects on the fly. There's also the option to view the code underneath each page, enabling you to edit it as and when you require.
Unfortunately, technical issues are the program's downfall. Whether it's Ubuntu 8.10 or Amaya itself, we just couldn't do anything really meaningful, because it kept locking up our system, forcing us to resort to the power button and reboots.
We tried and failed repeatedly to do anything even halfproductive before giving up in absolute frustration. As such, we'd recommend you steer clear if you want to keep your blood pressure from sky-rocketing!
Verdict: Running Amaya is an exercise in frustration that you can easily avoid. Use for checking code only. 3/10
Licence: Free under the LGPL
Writer/Web won't wow you with its features, but it's more than capable.
At first glance you might think we're stark raving mad to include Writer in this Roundup of web editors. However, once you've recovered from the initial shock, you should see that it becomes something of a worthy inclusion.
That's because we're not talking about Writer in the form of a traditional word processor, but rather looking at the web editor aspect that opens up when you try to import an HTML document. The interface changes, and the first inkling that you have that things have changed is the presence of a little web icon in the toolbar and the appearance of the words "OpenOffice. org Writer/Web" in the title bar.
The focus here is firmly on graphical presentation and editing, with the option to switch to a Source view hidden inside the View menu. That said, when you do switch to Source view you are greeted with a very bare bones editor, featuring highlighting and not much else. If the code scares you, then it's a simple matter to switch back to the graphical environment and carry on your editing work there.
By default, Writer/Web is not accessible through the Application menu, but it's a simple matter to add a launcher based on the command ooweb to get straight to the interface. However, it's not really designed for intensive use; it struck us as being one of the lesser focuses of OOo and there mainly for completeness.
On the positive side though, it does provide the opportunity to convert a wide range of formats into HTML/XHTML, but you'll need to make sure the OpenOffice.org Java package is installed to take full advantage of this conversion ability.
Verdict: A surprising but effective editor for working with relatively simple pages in a familiar env ironment. 6/10
Licence: Free under GPL v2
Quanta Plus might be fussy about window managers, but its functionality is astounding.
Open Quanta Plus and it's quickly apparent that you really need to run it under its window manager of choice - KDE. To say that it doesn't fit very well into the Gnome desktop would be an understatement. It's undeniably a Qt application and absolutely refuses to make any attempt to integrate at all.
But that grumble aside, Quanta Plus and KDE together create an excellent first impression. The interface is clean and not too overwhelming, presented with another Ribbon-style interface to access different formats for HTML.
Like Bluefish, Quanta Plus also gives you the option to create projects spanning multiple pages, and it benefits from being extensible - there are even several useful plugins pre-installed by default.
Handy touches include integration with Cervisia, the KDE graphical front-end to CVS, as well as an image map editor for creating HTML links as part of an image. There's also the option to view a webpage preview within Quanta Plus, which is useful for flicking back and forth to ensure minor changes to your page work well without the overhead of having to load an external browser every time.
Code highlighting is enabled by default, and Quanta Plus will highlight a vast array of different types of code for you. However, it's not immediately obvious where to find the option to do so, because it's buried in the Tools menu and not the View menu.
Another great feature is the CSS tag editor, which enables you to choose from a comprehensive dropdown menu and see a small preview of what effect it's having. It's simple but effective productivity tweaks such as this that increase the usability of Quanta Plus, making it a good tool for beginners and pros alike.
Verdict: Quanta Plus shouldn't be ignored if you need a KDE editing environment. 8/10
Licence: Free under GPL v2
Screem forgoes graphical sheen in favour of neat coding features.
Screem is probably the least intimidating of our motley crew of web editors. The interface has a couple of dozen icons strewn over two toolbars and there's no sign of any Ribbon-style interface here, which is somewhat of a relief. Instead, you get a decent-sized coding area, along with a tabbed approach to documents.
In terms of features, Screem offers a number of wizards to cut down the time it takes to include objects that require just a little more coding than usual. Unlike Bluefish or Quanta Plus, there's no way of researching the different tags you need, although Screem does offer a particularly clear system for syntax highlighting.
There's also native integration with CVS, without having to use an external program as an interface to get at your code. The left-hand pane enables you to flick easily between different tools, quickly view and work with file trees, and view your document by the different tags and elements that you've used.
There's also a generous area below the editing window to display any messages or errors that crop up during development, but we found ourselves minimising this to give us more working space.
In common with Bluefish, you also get line numbering from the word go, making any debugging a straightforward affair. However, there's no graphical element to Screem, so you won't find the ability to quickly preview your page here. Strangely, however, the program does include a Print Preview icon in the toolbar.
If you're an experienced web developer we would recommend Screem to you, but it's definitely not a tool for the beginner.
Verdict: Geared more towards the advanced developer, this is a formidable tool. 7/10
Licence: Free under multiple licences
Kompozer is good for newbies, but hasn't got hardcore bite.
A few years ago an application called Nvu came onto the market. It was commonly found on Lindows - the desktop Linux environment from the principle developers and trademark owners, Linspire. Unfortunately Nvu development ceased, which was a bit of a blow, because it was a great alternative to Windows applications such as FrontPage.
Thankfully, a fork was created to carry on the work that Nvu started under the new name of Kompozer. This development work has primarily focused on bugfixes for Nvu, which had a reputation for being buggy when it was discontinued, so what are the results like?
First off, the interface looks at home in either Gnome or KDE, and reminds us of FrontPage from a few years back. It's relatively clear from clutter and provides easy access to text formatting options. There's also a useful site manager pane on the left that enables you to keep an eye on the files you're using for your new site.
As it's a graphical editor, you essentially work on the finished product rather than having to rely on switching to a preview, but there's the opportunity to switch to Source view if needed. There's also a decent amount of code highlighting available should you feel the need to tweak the underlying code.
Compared with the other environments, Kompozer is very focused on web development, only enabling you to work with HTML and XHTML pages. We would have liked the ability to natively edit CSS files, but this isn't a major problem, because you can include page-wide styles within the code.
Where Kompozer really lacks is in coding functionality - a reflection on its novice-friendly stance.
Verdict: A reasonable graphical editor, constructed mainly for novices. 6/10
Licence: Free under the Mozilla Public Licence
There's a solid base in Composer, but it's in serious need of an update.
Did you use Netscape, or can you still remember the original Mozilla browser? If so, you'll surely recall Composer with dewey-eyed fondness. As a tool for new and would-be web developers, it was a great avenue into elementary HTML coding.
Given the name, it should come as no surprise that Composer is the underlying foundation of Kompozer, which is pretty obvious when you return to Kompozer after having used Composer for some time. Admittedly that might be a bit of a logical stretch, because in 2009 it's very difficult to see anyone working with Composer for any great deal of time.
It's not that it is particularly limited; it has all the editing tools you'll need, along with quick and easy access to text formatting. It's more of a case that it's basic and frustratingly short of handy features such as the great reference system found in Bluefish, or Kompozer's site manager. That said, if all you're looking for is a simple editor to make minor changes to a web page then Composer easily fits that bill.
Unfortunately, you also have to include SeaMonkey into the package - you can't get them separately - and added to that, you can't simply launch Composer from the Applications menu, because it's only accessible once you've launched SeaMonkey.
If you're only planning to use Composer occasionally, and can stand the launch irritatio n, then you might just find that it's sufficient. However, we wouldn't recommend using it to create a multi-page site with a full complement of links to hither, thither and everywhere; instead it's for holding pages and simple HTML documents.
Verdict: Good for basic ad-hoc editing, but it's really showing its age. 4/10
Our choice: Bluefish
Out of all the editors on test, Bluefish impressed us the most with its comprehensive array of reference material and its range of features.
We were pretty up front from the start - we didn't expect to find any Dreamweaver killers among the crowd assembled here, and we weren't disappointed in this respect. The programs we did find covered a fairly wide potential user base though, and gave us reason to feel hopeful about the future.
We realise that an application such as Dreamweaver has been built over many years, and also has the significant backing of a major software company with a gigantic R&D budget. However, if you're in the market for a graphical web editor, most of the applications that we've covered can plug the gap in one way or another.
Let's start with Amaya; we can see the promise of this application, but wouldn't want to use it for anything other than checking the quality of our HTML code. The technical problems we encountered lead us to pretty much dismiss it out of hand - your mileage may vary, but we were immensely frustrated with the frequent lockups.
Next, we come to Composer, which has been around for a long time and hasn't had any significant changes since it launched. However, it can be useful for very simple editing jobs on an infrequent basis and might be a good place for absolute beginners to start. The only real issue is its reliance on an installed copy of a SeaMonkey, which is a minor annoyance rather than a burden.
Screem is an advanced editor and only really suitable for advanced programmers - it's very good at what it does, but it's far too focused for mainstream use. Kompozer swings the other way, trying to accommodate newbies and not irritate more advanced users - a good middle ground option, but not an outstanding reason to recommend it.
Quanta Plus also works very well, providing a number of useful features such as tag auto-completion, and HTML, XHTML and PHP support.
However, our winner has to be Bluefish, because it provides the best all-round package. The interface is mildly annoying and there's no way to access a preview within the application, but beyond that its excellent reference material and inherent versatility make it a valuable tool for both new and experienced developers alike.
First published in Linux Format magazine