Tuesday, October 9, 2007

Running RDC 4.5.3 in non IE browsers

Yesterday, at OCUG someone asked - why can't RDC 4.5.3 run on a MAC? It's a web application!

First I thought the gentleman is asking about running the 4.5.3 middle tier on MAC and a thousand reasons flashed in my mind about why we can't do that right away. But later I understood the real question is - why not we support 4.5.3 on other browsers such as Firefox and Opera. Few others asked me the same question later.

Leaving the support details aside, let me offer the technical perspective on this issue as I anticipate others also wondering about the same in future (or more importantly to save myself from the gibes expected from fellow tech community for coming out with a cutting edge AJAX app that runs only on IE!!).

I agree, it is a web application, and in theory it should run on all browsers. Ignoring the existing plethora of implementation differences across different browsers that currently exist for - HTML, CSS, and JavaScript, still the main reason for not supporting other browsers in this particular release is the lack of a common vector graphics-rendering library that is natively supported across all browsers.

In 4.5.3, all the line graphics drawn by customers on a CRF using the backend layout editor tool need to be translated into equivalent graphics elements and finally be custom drawn on a web page. For rendering a CRF page in a browser, we cannot simply use standard HTML elements such as input, checkbox, radio button etc.,

In the absence of a common graphics library, we need to generate a different version of a CRF for each browser separately using a different technology. For example, to support Firefox and IE, we need to generate SVG version for Firefox and VML version for IE. Of course, one might argue SVG is available in both Firefox and IE. But the problem with SVG on IE is that IE still requires and depends on an external plug-in (Adobe) to render and view SVG. As you all know - "plug-in" is a big taboo for 4.5.3.

Given the tight schedules, we couldn't do both - SVG for Firefox and VML for IE. And of course IE is higher on business priority. However, the good news is - we have architected RDC solution to support different browsers, if there is a demand in future. In fact, most of our client code developers use Firefox extensively. They do this by simply ignoring the layout element graphics for the most part as rest of the application works just fine. I can't help but wonder what a joy it would have been, had we chose Firefox instead of IE, as we could have spared ourselves from all the IE related issues that we had to chase and fix for 4.5.3.

My real wish and hope for future is - all browser vendors (or at least one particular one :-) comes to terms and start natively supporting a standard technology for drawing graphics on web pages.

1 comment:

Anonymous said...

Very interesting Srini! I also use Firefox more often than IE. How does Mac's Safari compare to Firefox and IE in terms of graphics library/SVG vs. VML?