Genii Weblog

HTML rendering with Midas/CoexEdit vs. Domino

Fri 6 Jan 2006, 10:44 AM



by Ben Langhinrichs
These are done with our Midas Rich Text LSX Version 3.60, which was just released.  I wanted a simple demo that shows some of the advantages of the Midas Rich Text HTML rendering engine over the standard Domino engine.  CoexEdit uses the same basic rendering engine, so is virtually identical to Midas.  There are plenty of advantages, but these screen shots capture at least a few.  I have used compressed versions of the big picture, then show some details in full size.  Click on any compress image to get the full size version.

Notes version (50% size)
Notes client rendering

Rendered with Midas Rich Text LSX 3.60 (50% size)
Midas rendering

Rendered with IBM Lotus Domino 6.5.3 (50% size)
Domino rendering

Several rendering issues are probably pretty apparent, but let's focus on a few specifics that may or may not be obvious at first glance.  Let's look at a few issues and some detailed pictures:

1) Borders.  Midas gives you the power to render the specific table cell borders using CSS, so you can use some borders on and some off to get the effect you like.

Notes version (annotated with details to watch for)
Notes client rendering

Rendered with Midas
Midas rendering

Rendered with Domino
Domino rendering

2) Font sizes.  Midas can generate CSS point sizes, while Domino simply uses the HTML font sizes.  See how the 12pt and 13pt sizes are the same in Domino, but different in Midas.  Same with the 10pt and 11pt.  Also, see how the 24pt size is very similar in Notes and with Midas rendering, but is way bigger with Domino.

Notes version (look at total size, 10pt vs 11pt, 13pt vs 13pt and 24pt between the renderings)
Notes client rendering

Rendered with Midas
Midas rendering

Rendered with Domino
Domino rendering

3) Paragraph indentation.  Midas can generate CSS margins, while Domino uses a very crude margin system with list tags.  In the nested lists, even at the first level, see how much more closely the Notes client and Midas indentations match than the Domino indentations.  This can wreck havoc with a carefully designed form or document.

Notes version (look at spacing between first lines, indentation of first items, then of nested items)
Notes client rendering

Rendered with Midas
Midas rendering

Rendered with Domino
Domino rendering

4) Table rendering.  See how much closer to the Notes version the nested table (with the image in it) is with Midas than with Domino.  Tables are very hard to get right with Domino, and developers often wind up hard coding them in HTML.  Unfortunately, a normal user creating Notes content doesn't really have that choice.

5) Size and spacing.  Due partly to the font size issues and partly to other spacing issues with the tables, the full height of the Notes client version is about 507 pixels, the full height of the Midas rendered version is about 562 pixels, but the full height of the Domino generated version 719 pixels.  That is a full 42% larger than the Notes client image, and will likely go right off the screen.  (Note: width is harder to measure in this case because it shifts to accommodate the width of the screen)

Well, there are lots more issues I could address, but I hope this gives some sense of what Midas can do.

Copyright © 2006 Genii Software Ltd.

What has been said:


421.1. Ben Langhinrichs
(01/06/2006 03:41 PM)

One of my projects for this year is to make versions of some OpenNTF projects that use either the Midas Rich Text LSX or CoexEdit, whichever is appropriate. I might also make a free version of CoexEdit for Blogsphere, but that is not a certainty yet.


421.2. Nathan T. Freeman
(01/10/2006 01:44 AM)

Mmmmm... free versions of stuff for OpenNTF... you know that makes you my favorite Ben, Ben. :-)

By the way, I actually have an OpenNTF project in mind that could REALLY use a rich-text red-liner, which IIRC, you have in Midas. If that's extractable, it'd be a very cool contribution.

The project, by the way, is source version control for Notes. I have a neat trick to allow source control at a server transaction level without changing the way people work with the IDE at all.