Browser Based WYSIWYG Editors
By Adrian Sutton
Lately there’s been a number of blogs from people looking for Java WYSIWYG editors that work in a browser. The latest one from Bertrand Delacretaz is enough to prompt me to speak up. Firstly, I work for a company that develops a browser based WYSIWYG editor so I’m biased, but I’m also an expert in the field. We’re the top of the line in browser based editors and there’s really only a couple of other companies that can compare with our product. There are thousands of other products on the market that provide varying ranges of functionality, most of them are tied into a particular browser, particular platform or both. Mostly, they don’t provide a full editing experience to users or are difficult to integrate. Here’s a few things you should look at when you are shopping around for a WYSIWYG editor:
- Platform and browser support. Do you really want to tie your application into a single browser or a single platform? How do you plan to handle the eventuality that you wind up having to support a different platform?
- Ease of integration, particularly having a similar architecture across platforms. There are a number of editors that require you to integrate them into your system in different ways depending on which browser and which OS you’re running on. Duplicate effort means more expense developing the system and a greater chance of bugs in the integration.
- Advanced editing support. Some applications just need to provide bold, italic and underline for their users and any solution will do. Most of the time though giving users more power will allow them to be more efficient and enjoy using the system more. Check how the product handles lists and tables in particular as these are the hardest parts of HTML to edit. Also look for CSS support – can you enforce a standard corporate style?
- Expandability/customizability. Can you adapt the system to do what you want? A standard feature of the better editors is the ability to create custom toolbar items or menu bar items which can callback to javascript methods, insert custom HTML or a range of other actions which allow you to develop extra functionality or better integrate the editor into your system. The best example of this is being able to replace the insert image dialog so that the user can search through the images in a CMS system.
- Ease of deployment. Users need to be able to get at the software. Look for something that deploys automatically (yes the java runtime can be automatically deployed, as can ActiveX objects and obviously JavaScript solutions) and upgrades automatically (JavaScript or Java solutions are the best at this and ActiveX is capable of it too).
- Support. It’s very rare that any of these solutions are a perfect fit straight off and you will most likely need to spend time reading the documentation and contact the company’s support team to get help to integrate it perfectly into your application. The difficulty of this will depend on how tightly you want to integrate the editor into your application, simple things like just being able to edit a standalone HTML document and save it again can be achieved straight off. More complex things like integrating your scripting language, templates, inserting images from your CMS repository and a huge range of other things can be more difficult and are entirely situation dependant. Choosing a good editor to start with will make things much easier, but you’ll most likely need some experts to point you in the right direction at some point as well. One other thing I really want to point out (and this is where I delve into the specifics of
one of our products), is that these editors shouldn’t be limited to just working in a web page. They can be embedded into a thick client application too with some really stunning results. A great example of this is Ephox’s latest product, EditLive! for XML. It provides a forms based editor XML which is pretty cool in itself, but what I’m really proud of is that the Visual Designer, which allows you to create XSLTs and XSDs for your forms, is an applet that uses the EditLive! JavaBean (our HTML editor packaged up in a form that’s easy to embed in an application). It doesn’t use any internal APIs either, it could have been completely created by someone outside of Ephox. It’s absolutely amazing the kind of power that is available to applications that embed something like the EditLive! JavaBean – you get the ability to override any function in the editor and handle it yourself, including pre and post processing for that action, you can define your own custom tags and views to go with it (a feature we’ll be adding to our applet version soon through CSS as well), all while leveraging the hard work we’ve put in to make editing HTML easy. Anyway, I’ll leave that there before it turns into too much of a sales pitch, but suffice it to say that the WYSIWYG editor area is as active, innovative and exciting as most of the other IT buzzwords at the moment. In most systems it’s also the part that is most used by users and the quality of your editor is often a critical factor in the perceived quality of your system. Do try to pick a good one.