SYS-CON UK Authors: Salvatore Genovese, Jeremy Geelan, Jamie Matusow

Related Topics: Java IoT

Java IoT: Article

Coexisting in the Java Universe - An Interview with WebRenderer's Anthony Scotney

An interview with Anthony Scotney, CTO of WebRenderer's development company, JadeLiquid Software

(This interview originally appeared in JDJ's June 2005 print edition.) Anthony Scotney is a science graduate of the University of Tasmania with majors in computer science and information systems. After graduating he established JadeLiquid Software Pty Ltd. to develop software tools that would enhance the Java programming language. JadeLiquid Software has received several awards and grants in recognition of its success including Tasmanian Export Award Finalist 2003 and 2004 and awarded the 2004 Microsoft Emerging ICT Business Award. Anthony himself was awarded the prestigious 2004 Pearcey Award for innovative and pioneering achievement and contributions to research and development in information technology. He also was named 2005 Tasmanian Young Achiever of the year.

 JadeLiquid Software Pty Ltd. is a leading provider of Java rendering components for enterprise applications and Web Services. WebRenderer can connect a client application to server business logic without changing server code or infrastructure. WebRenderer is the only standards-compliant Java Web content rendering component available commercially. JadeLiquid has a client base spanning the globe with deployments in North America, Europe, and Asia.

Q: Thanks for agreeing to talk with JDJ. Let's cut right to the chase. Perhaps you would start by unpacking the concept of a "wrapper library" itself, and then follow that general definition by situating WebRenderer in the overall Java browser space.

The challenge for Java rich-client applications is to display the rich Web content in a meaningful way. Java doesn't have a standards-compliant Web content rendering engine built into the J2SE SDK. This poses a challenge for Java developers. Java rich-client application developers were traditionally forced to use the default browser on the system external to their rich-client application to display rich Web content in a standards-compliant and reliable manner. WebRenderer addresses this limitation by providing an embeddable standards-compliant Web content rendering engine.

The concept behind WebRenderer was to build a Java browser component without reinventing the wheel. So we went about designing a Java browser component that would leverage off the standards-compliant and industry standard browsers already in existence. We started by writing code that connected to Internet Explorer and brought the browser through to Java. We then moved to bring Mozilla and Safari through and started supporting multiple platforms. The goal has always been to make the component as easy to use as possible and to ensure it is deployable just like any other Java component. The version 3 release of WebRenderer was really the culmination of years of intense development by the WebRenderer team with a specific focus upon making WebRenderer a Java browser component that is standards-compliant, Swing-compatible, easy to use and deploy.

When WebRenderer was first released there was only one serious player in the Java browser space. We saw that the space was somewhat stagnant and decided that we would re-energize the market through a Java browser component with a unique and innovative architecture. We have been able to do that and WebRenderer is now the top-tier highest-quality Java browser component. While competitors have sat stagnant for years our WebRenderer revenues have more than doubled year-on-year since release. Through the competition provided by WebRenderer we have made Java browser components more accessible to the Java community by forcing top-tier prices down by as much as 80%. The client Java space is an interesting and exciting market space to be in as we go through the re-emergence of Java rich clients. The Java community was focusing so hard on Web Services that we knew it was only a matter of time before there would be a client-Java re-emergence to drive the presentation layer of the distributed architecture.

Q: Why do you think Sun has never built a Web rendering engine into the Java SDK itself?

Sun actually developed a Java browser engine (HotJava) but it was dropped a long time ago. They kept a skeletal HTMLEditorKit for the SDK that offers basic HTML 3.2 rendering. I assume that Sun found the project too resource-intensive and in a way probably felt like they were reinventing the wheel years after Microsoft and Netscape released browsers. With Web standards evolving the resources required to develop and maintain a standards-compliant rendering component would have been larger than that required to maintain the entire Swing and AWT toolkits.

Q: Presumably WebRenderer supports JavaScript and XHTML? How about advanced CSS (CSS2)? Maybe you should just list the standards v3.0 complies with.

WebRenderer is the most standards-compliant Java browser component commercially available. The standards compliance comes from the underlying use of Mozilla technologies. The Mozilla team has followed the W3C specifications (and other standards) to a "tee" while building Mozilla. So anything that Mozilla supports WebRenderer inherits. I guess you could say WebRenderer has good parentage. Some of the standards WebRenderer supports are: HTML 4.01, CSS 1 & 2, JavaScript, XML, XSL, XSLT, XHTML, and SSL.

Q: How does WebRenderer differ specifically from other Java HTML renderers like, say, Javio or NetClue?

The challenge of rendering Web-content comes by virtue of the number, complexity, and evolving nature of Web standards. A basic Web-content rendering component must support base standards such as HTML, CSS, JavaScript, and SSL. Without support for these base- level standards Web content will either not render or render in a non-standards-compliant manner leading to an unexpected visual appearance. WebRenderer addresses the rendering challenge by leveraging off Internet Explorer, Mozilla, and Safari browser technologies to provide a predictable and standards-compliant rendering of real-world Web content.

Given that WebRenderer is a layer above Mozilla/Internet Explorer/Safari it supports all common Web standards and the rendering predictability and faithfulness is greater than its pure Java counterparts. It is an extremely time-intensive task to write a pure Java implementation of, say, Internet Explorer, which has had hundreds of people and who knows how many hours spent on its parsing and rendering. Expecting any small company to deliver standards-compliant rendering from its own implementation is an unrealistic expectation.

WebRenderer also has a very complete API that allows developers to easily extract basic right through to advanced functionality without being overly complex.

Q: What's support for Swing like?

We have spent years perfecting WebRenderers Swing support. As of WebRenderer version 3 Swing compatibility is excellent.

Q: Is it suitable for embedded devices, or is the desktop your main market?

Initially we spent some time on an R&D pilot of WebRenderer for embedded devices. While we found that we could port WebRenderer to embedded devices, we found that there was little market demand. So we focused on the desktop market. With the release of WebRenderer Server Edition we are supporting headless server environments and directing some attention to server-based Enterprise Java.

Q: What kind of organizations are using WebRenderer right now?

WebRenderer is in use in many large and small organizations throughout the world. Given WebRenderer is a component the verticals are spread across many industries such as aerospace, semiconductor, manufacturing, technology, government, education, and finance.

Some of the organizations deploying WebRenderer include Cisco, Northrop Grumman, Lockheed Martin, the U.S. Department of Defense, the European Space Agency, the European Patent Office, Groxis, and Encyclopedia Britannica.

Q: Can individual developers download a trial version, or does their organization have to buy WebRenderer outright for them to be able to try it out?

WebRenderer is available for a free 30-day trial.

Q: What kind of support do you offer to users?

Our first line of support is our well-documented Developers Guide, API, and technical examples.

We provide a complete pre- and post-sales support service that involves customization, integration, and deployment assistance and technical issue resolution.

Q: Last, we all know that the Chinese call tea "liquid jade" but what's the connection between the poet Lu Yu, who first came up with the notion about the year 780 and your endeavor well over a thousand years later? ;-)

The JadeLiquid name is fitting for the architecture choice of our components, not pure-Java, but it happily coexists.

More Stories By Jeremy Geelan

Jeremy Geelan is Chairman & CEO of the 21st Century Internet Group, Inc. and an Executive Academy Member of the International Academy of Digital Arts & Sciences. Formerly he was President & COO at Cloud Expo, Inc. and Conference Chair of the worldwide Cloud Expo series. He appears regularly at conferences and trade shows, speaking to technology audiences across six continents. You can follow him on twitter: @jg21.

Comments (2)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.