Battle of the Web browsers

This is a pretty good article on InfoWorld. I find it amazing that this field is still so competitive but in the end its great for the consumer. I have been using FireFox 4 lately and I have to say I prefer Chrome 10.

Battle of the Web browsers | Applications – InfoWorld.

From the article:
A good place to begin comparing the browsers is to look at a checklist test like The HTML5 Test, a slick piece of JavaScript that grades your browser as it loads the page. The HTML5 Test gives out points for the availability of a long list of features, then totals up the score.
The HTML5 Test
Raw score Extra points
Chrome 10.0 290 13
Opera 11.10 258 7
Firefox 4.0 255 9
Safari 5.0 228 7
Internet Explorer 9.0 130 5

Soon everything will be just a browser

After reading Google advances Native Client Web browser technology and seeing the amazing capabilities of CSS3 and HTML 5 the entire concept of only a web browser in the future is getting closer and closer.

Google had released a “sneak peek” of the SDK last year. In coming months, Google plans to add APIs for 3D graphics, local file storage and peer-to-peer networking. An ABI (application binary interface) is planned as well. – link

Prediction: Chrome will be #1 by end of 2011

As Neil predicted last year about Chrome, I will make one myself – the Chrome web browser will be the number one browser in the world by the end of 2011.  That is probably a crazy prediction considering its only at about 15% of market share today.

My blog is by far not a complete census but it clearly shows Chrome way ahead of every other browser besides FireFox.  Interestingly, I still use FireFox most of the time but I do find myself going over to Chrome every now and then.  Chrome was about 15% of browsers hitting my site just a month ago and IE 8.0 was close behind, the gap is getting larger.

Here is a chart of the browsers that hit my site in a single day:

What browser are you using???

Check out the browsers that are accessing my site.  I am actually amazed Chrome is so high.  I am using FireFox pretty much exclusively as of late.

Why BrowserFunction is so cool

If you are familiar with the embedded browser in the Lotus products you may or may not have heard of BrowserFunction, most likely not!  The problem is this class is not very well documented and was part of E4 and is scheduled for Eclipse 3.6.  Notes 8.5.2 does however support this SWT class so you can begin to play with it once 8.5.2 is available.

Why is this so important?  Well, just imagine, now you can completely communicate between Java and JavaScript using this.  You can use the SWT Browsers execute() or evaluate() methods to execute JavaScript from Java and now you can execute Java from JavaScript using BrowserFunction.

This implies you could potentially write all of your UI using HTML/CSS/JavaScript technologies!

The Attachment viewer is such an application, you can check out the code on OpenNTF.  I don’t use the BrowserFunction in the OpenNTF version but I have already begun to make an Lotus Notes 8.5.2 version of the plugin that has much better integration with the Notes client.  If you are writing side bar plugins and want to standardize on writing in a single technology you should check out the SWT Browser and the BrowserFunction support.

A powerful function…

Many have downloaded, looked at, and have commented on the source code for the attachment viewer project but some may not be aware of a powerful function the SWT Browser brings to the table.  As described in a past post about the architecture, the line where the browser is connected with the embedded browser process (its actually a dotted line) is where this call happens.  The function, or method, is the execute method on the SWT browser.  This allows you to run essentially any JavaScript on a given web page or DOM.  The attachment viewer uses this method to call a JavaScript function named “showAttachments()”.  The Eclipse Java code takes the current selection – which in this case it looks for IAttachment – and then passes a set of URL’s and JSON to that JavaScript function.   This is how easy it is to “connect” the web world with the Eclipse world.

String cmd = "showAttachments(" + jObj.toString() + ");";
 if (browser.execute(cmd) == false){