WebRenderer was kind enough last month to give me a license for my academic work on WebSeer. They have one of the best Java-based HTML renderers. The secret is that it uses the actual Gecko codebase on the backend to do the rendering, so its fast, machine dependent, and exactly what you'd see in a Firefox browser.
However, up until this year, I wasn't interested. Why? To be honest, their API and event model was fairly annoying and hard to use. They don't give you very sophisticated DOM element methods, so you're forced to reconstruct JS calls on the document in order to get things like background color on a table cell. Their event model is shaky, though to be fair, it's a hard problem. Determining when a complex document is loaded is not easy I guess. Often I won't get document complete events and sometimes I'll get multiple if there are behind the scenes redirects. I understand that it's hard to avoid this with what HTML can do these days, but I want some of this encapsulated better.
The thing that made me reexamine WebRenderer is that they finally made it lightweight. The advantage of the "pure Java" implementations out there (IceSoft Browser for instance) is that they are lightweight so can be drawn on top of and tossed around without visualizing. (The main disadvantage is that the rendering is often pretty bad.) The main version of WebRenderer doesn't allow this type of rendering. It essentially dedicates a particular part of the screen to allowing Mozilla code to draw the HTML document. You can't touch it after it hands over control really, besides some integrated event handling.
It's nice to be able to highlight portions of the screen and interact with the actual document and the tool that I'm building within WebSeer to do labeling needs that ability. So I'm a strong proponent of WebRenderer now for this reasion. I am concerned that it still has some major flaws from a document analysis perspective. However, if you're just looking for integrated lightweight Java rendering, I'd highly recommend it.
Monday, August 6, 2007
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment