Posts filed under 'mozilla'

Apple, Microsoft: Birds of the same feather

Microsoft is being sued in the European Union(EU) for antitrust practices – yet again. The piece of software that’s the bone of contention is Internet Explorer. In spite of being one of lousiest browsers, extremely prone to security exploits, Microsoft’s Internet Explorer still holds a majority stake in the market of web browsers. Mozilla’s Firefox, comparatively a much superior product, comes second by quite a distance. The EU now wants to stop Microsoft from bundling IE with its Windows family of operating systems or bundle other competing browsers too. The rationale behind such a directive is to allow users the choice of trying out an alternative.Anyway, Microsoft’s practices have always been anti-competitive and for this reason it has been much vilified by the pundits.

applelogoOn the other hand, Apple, in spite of being even more closed than Microsoft, has never come under the radar of the anti-trust laws. Firstly, Apple prohibits the usage of its operating system on any hardware other than Apple branded ones. The hardware that Apple sells has significant markups even though it is not necessarily superior. So for the same hardware capability, consumers pay an exorbitant price. Isn’t that anti-competitive? How is it then that Apple never comes under the scrutiny of the anti-trust sharks? When Psystar started selling computers with Apple Mac OS installed, Apple decided to sue to the company. Many thought it would be an open and shut case, but guess what? Psystar continues to sell its brand of Open Computers preloaded with Apple Mac OS. Psystar has also brought forward anti-competitive charges against Apple. Till date Apple has not won the case. So is there are a chance that Apple might come under the anti-trust laws at last?

And Apple is a really sore loser. The recently announced Palm Pre stole the thunder from Apple in this year’s CES. Experts are predicting that the Pre would probably dethrone the Apple iPhone. So what does Apple do? It responded with a veiled threat of suing anyone(read Palm) for violation of their IP. Well the iPod design was not Apple’s and they ripped it off. They survived that because the previous patent was held by an individual who could not renew it due to financial constraints. And being the unscrupulous corporate that it is, Apple did not even think of paying a one time royalty to the guy. But when sued, they brought him over to lend credence to their case in court.

So ladies and gentlemen, next time before maligning Microsoft over a coffee-table discussion, please give Apple a fair thought. They are no better than Microsoft. The only difference is that Apple enjoys the loyalty of a few high-nosed zealots that Microsoft does not have.

2 comments January 27, 2009

JavaScript is the future of RIA

A few days back I had written an article about JavaScript being the future of RIA. Adobe Flex, Microsoft Silverlight, etc. are all nice and good to have. The fact of the matter is that a whopping percentage of people still prefer JavaScript when it comes to implementing RIA solutions. 

To corroborate this claim of mine, I had been running a poll for quite some time now. After having got around 550 odd votes I think the time is now right to publish the results. The winner by a far and clear margin is JavaScript. Flex comes second. Here is graphic showing the results:

With the release of the new breed of web browsers that run on-steroid JavaScript engines this dominance of JavaScript in the field of RIA is most likely to increase.

The data presented here is not sponsored by any camp or company. Its strictly a poll that I ran in my personal capacity.

Add comment October 20, 2008

Switch to Ubuntu Linux not Apple Mac OS

For the past few years Apple has seen an increase in its laptop business due majorly to the dismal failure of Microsoft’s Windows Vista operating system. Umpteen number of reports have been published telling people why they should consider switching to the Mac OS now that Vista has failed, but not a single one has surfaced that spells out the merits of switching over to a variety of Linux.

Linux on the server side is pretty well established with Red Hat Enterprise Linux being the dominant flavour there. It is on the desktop that there is an ongoing war mainly between three parties – Microsoft, Apple and the host of Linux vendors. The availability of a large number of Linux distributions may initially confuse a user but a harder look quickly separates the wheat from the chaff and Ubuntu/Kubuntu emerges as the best.

Traditionally Linux adoption on the desktop has been plagued by the notion that it was difficult to handle. Its really a misconception. Ubuntu has changed the face of Linux ever since its launch. The current versions are sturdy, have very good UIs and are intuitive. Program management no longer needs knowledge of the various packaging systems but is driven by an elegant UI. Productivity applications on Linux have come a long way and the crown jewel in this category has got to be Open Office. Not only do you get a great word processor, a brilliant spreadsheet program, a fantastic presentation tool and a good desktop database but you also get compatibility for Microsoft Office documents. In the majority of cases, MS Office documents can be opened in Open Office without any changes. For e-mailing, there is Evolution that offers connectivity to Microsoft Exchange and also Mozilla Thunderbird. Calendar applications are galore. There are a host of commercial and open source tools for multimedia authoring,image manipulation and desktop publishing. Applications like Scribus, Blender 3D and GIMP are the best-of-breed and have the capacity to rival their commercial counterparts. For web browsing, Mozilla Firefox comes pre-installed.

If you are a developer programming in open technologies like Java/JEE or C/C++, adopting to Linux is really easy. All major JEE vendors support Linux as a platform for their offerings. Eclipse, NetBeans and IntelliJ are some of the best IDEs around that have Linux versions. For C/C++ there is KDevelop, Anjuta and many more IDEs offering best-of-breed features. Microsoft .net developers might have it a bit more difficult. Although Mono allows you to run .net applications on Linux, tooling support till now is not the greatest. In any case, if some one is going to use Microsoft technology for development, its much more likely that she/he would stick to Windows. So thats not really a great problem.

Ubuntu has a large number of hardware drivers in it making it very close to being the best distro for plug-n-play. In fact in a few areas it surpasses the great Apple Mac OS. Here’s an example. The Linksys WUSB54GC USB Wireless Adapter worked out of the box on Ubuntu 8.04 whereas in Mac OS it did not.

Security wise both Mac OS and Ubuntu are equally good though some would argue that Ubuntu is probably better. There are GUI tools available to tweak the security settings in a system. 

In the look and feel department, Linux has improved in leaps and bounds. In Gnome and KDE you have two of the best windowing systems. With the KDE 4.1.1  environment, users get a light, responsive, and aesthetically appealing desktop that can rival even the Mac OS. Also with Compiz it is possible to extract effects from a Linux desktop that were hitherto unavailable on any other system. I doubt it exists in the Mac.

So why are people not going over to Ubuntu? Beats me. If you are looking for commercial technical support, Ubuntu does offer that. If you are looking at extreme personalization options Ubuntu offers that, probably even more than the Mac OS. If you are looking for easy upgrades to future versions, Ubuntu offers that. If you are looking for ease of use, Ubuntu offers that. If you are looking for robustness and security, Ubuntu is the best. Ubuntu can be installed on all types of hardware and even on older hardware. Mac OS does not offer this flexibility.

The more I use Ubuntu, the more I fail to understand the lure of the Mac OS. Is it the snob value or stupidity that make people consider a Mac over Windows and not Ubuntu?

227 comments October 17, 2008

JavaScript for RIA gets yet another boost from WebKit SquirrelFish

Rich internet applications or RIAs are becoming a defacto standard for web applications. The selling point of RIAs is to provide responsive web applications that behave more like desktop applications than traditional web apps. Initially JavaScript seemed to be the only option for creating RIAs but it suffered from certain maladies, most important ones being performance and cross-browser compatibility. Taking advantage of this, Adobe came up with Flex and more recently Microsoft offered Silverlight. Both these platforms took away a portion of developers who were working on providing RIA capabilities in brower based apps.

With the popularity of Flex and to a limited extent Silverlight, JavaScript seemed to be heading for certain death until recently. The announcement of TraceMonkey from Mozilla and the subsequent release of Google Chrome that incorporated a JavaScript virtual machine called V8, JavaScript seems poised to make a come back. Both TraceMonkey and V8 have put the JavaScript engines on steroids and the reported boosts in performance are impressive. TraceMonkey is slated to be released with Mozilla Firefox 3.1 but interested people can have a taste of it by using the v3.1alpha releases from Mozilla’s web site. Chrome has already drawn rave reviews with its fast performance and responsiveness of JavaScript apps.

The latest salvo in this war between JavaScript and other technologies comes from WebKit. WebKit forms the core of brilliant web browsers like Apple Safari, KDE Konqueror and Google Chrome. The programmers at WebKit recently announced their own improvements in the JavaScript engine called the SquirrelFish Extreme. This new engine is supposed to be more than twice as fast as its previous incarnation. Here’s a graphic to show the performance boost:

According certain other studies SquirrelFish is reported to have beaten Google’s V8 and Mozilla’s TraceMonkey on performance. Click here for that study.

So is SquirrelFish Extreme the fasted JavaScript engine yet? Well we would have to wait for some more data to decide that one. But one thing is for sure – JavaScript is here to stay.

With all this attributed importance to JavaScript by the major players, the indication is stronger than ever that RIA developers would switch over to JavaScript once its major problems are sorted out. The work that is being done seems to be concentrating on this very aspect. 

Is this the second coming of JavaScript based applications? Just wait and watch.

Add comment September 22, 2008

Google Chrome performs better than Firefox 3.1 Alpha 1 … at least for now

Reports have been rife that Mozilla’s TraceMonkey JavaScript engine would leave Google’s V8 in the dust. As of the latest build, this does not seem to be the case. 

TraceMonkey is the new JavaSctipt engine that would be integrated in Mozilla’s next release of the Firefox web browser (v 3.1). Presently the alpha release of the browser is available for download and since its still alpha TraceMonkey is disabled by default. To enable TraceMonkey for Firefox 3.1a1, go to the about:config URL and add a Boolean preference with the name javascript.options.jit.content and set it to true.

I used the SunSpider JavaScript Benchmark tests to see how Google Chrome and Mozilla Firefox 3.1a1 measure up against each other. Here are the results:

Mozilla Firefox 3.1a1

Total:                     2413.0ms +/- 1.4%

3d:                   	    267.0ms +/- 5.8%
	cube:                89.4ms +/- 0.8%
	morph:               78.2ms +/- 2.6%
	raytrace:            99.4ms +/- 15.1%

access:                     340.2ms +/- 5.1%
	binary-trees:        42.8ms +/- 32.8%
	fannkuch:           156.0ms +/- 2.0%
	nbody:              101.8ms +/- 3.7%
	nsieve:              39.6ms +/- 5.7%

bitops:                     272.8ms +/- 1.6%
	3bit-bits-in-byte:   51.6ms +/- 1.3%
	bits-in-byte:        67.4ms +/- 1.0%
	bitwise-and:         66.8ms +/- 4.6%
	nsieve-bits:         87.0ms +/- 1.8%

controlflow:                 31.6ms +/- 2.2%
	recursive:           31.6ms +/- 2.2%

crypto:                     167.0ms +/- 1.7%
	aes:                 60.8ms +/- 0.9%
	md5:                 53.0ms +/- 4.7%
	sha1:                53.2ms +/- 4.2%

date:                       201.8ms +/- 12.2%
	format-tofte:       122.2ms +/- 20.6%
	format-xparb:        79.6ms +/- 2.4%

math:                       257.0ms +/- 1.5%
	cordic:             114.0ms +/- 0.8%
	partial-sums:        91.2ms +/- 2.2%
	spectral-norm:       51.8ms +/- 8.4%

regexp:                     209.0ms +/- 10.2%
	dna:                209.0ms +/- 10.2%

string:                     666.6ms +/- 2.8%
	base64:              67.4ms +/- 2.8%
	fasta:              120.4ms +/- 3.3%
	tagcloud:           118.0ms +/- 4.9%
	unpack-code:        273.6ms +/- 4.3%
	validate-input:      87.2ms +/- 9.2%

Google Chrome

Total:                     1291.8ms +/- 1.5%

3d:                          92.6ms +/- 1.8%
	cube:                22.8ms +/- 13.6%
	morph:               39.8ms +/- 8.1%
	raytrace:            30.0ms +/- 10.2%

access:                      66.6ms +/- 4.7%
	binary-trees:         5.4ms +/- 12.6%
	fannkuch:            22.8ms +/- 4.6%
	nbody:               23.2ms +/- 17.9%
	nsieve:              15.2ms +/- 6.8%

bitops:                      49.2ms +/- 2.1%
	3bit-bits-in-byte:    4.2ms +/- 13.2%
	bits-in-byte:         9.0ms +/- 13.8%
	bitwise-and:         14.4ms +/- 7.7%
	nsieve-bits:         21.6ms +/- 8.7%

controlflow:                  2.6ms +/- 26.2%
	recursive:            2.6ms +/- 26.2%

crypto:                      44.6ms +/- 2.5%
	aes:                 17.0ms +/- 5.2%
	md5:                 14.4ms +/- 4.7%
	sha1:                13.2ms +/- 7.9%

date:                       215.8ms +/- 5.0%
	format-tofte:       136.4ms +/- 3.6%
	format-xparb:        79.4ms +/- 10.1%

math:                        86.0ms +/- 4.2%
	cordic:              46.6ms +/- 6.7%
	partial-sums:        29.2ms +/- 1.9%
	spectral-norm:       10.2ms +/- 13.4%

regexp:                     309.2ms +/- 1.8%
	dna:                309.2ms +/- 1.8%

string:                     425.2ms +/- 2.4%
	base64:              53.6ms +/- 11.0%
	fasta:               46.0ms +/- 0.0%
	tagcloud:           117.0ms +/- 2.8%
	unpack-code:        148.8ms +/- 2.0%
	validate-input:      59.8ms +/- 0.9%

Well from these results it looks like Google Chrome is almost twice as fast as Mozilla Firefox 3.1a1 in its present form.  Firefox trumps Chrome in the date tests and the regexp tests. In all the others Chrome outdoes Firefox by a huge margin.

Hopefully the final version that would be coming out of Mozilla will have better results.

1 comment September 11, 2008

The new faster and better Mozilla Firefox 3.1

The next version of Mozilla’s Firefox web browser is 3.1 and its going to have quite a few enhancements in it. Some of the features that are planned are:

  • Multi-threading support in JavaScript programs
  • Built-in ability to play Ogg Vorbis music files
  • Built-in ability to play Ogg Theora video files
  • Improved document object model
  • Significant performance enhancement in the JavaScript execution engine through the incorporation of TraceMonkey

The last one is going to have a major impact and can very well pave the way for the resurrection of JavaScript based web applications, a breed of applications that has been steadily losing market share to technologies like Adobe Flash/Flex and Microsoft Silverlight.

JavaScript has been around for a long time now and is used to enhance user experience of a web application. However it has been plagued with browser incompatibility and performance overheads. Mozilla plans to minimize the performance impact by using TraceMonkey. According the Mike Shaver, Mozilla’s interim vice president of engineering, with TraceMonkey the JavaScript performance nearly doubles compared to Firefox 3.0 that uses SpiderMonkey as the JavaScript engine. Also, with TraceMonkey, Mozilla brings 3D graphics and image editing capabilities to the JavaScript arsenal.

The following graphic shows the performance enhancement:


The figures seem to be to good to be true.

TraceMonkey is an amalgamation of SpiderMonkey and a technique called tracing developed at the University of California at Irvine by Andreas Gal and others. TraceMonkey is a just-in-time compiler that creates the binary file on the fly. The novelty about TraceMonkey is that it concentrates on translating selected part of the JavaScript code that are more performance intensive. This it does through tracing and recording program execution.

TraceMonkey is already built into the developer versions of Mozilla Firefox 3.1 but disabled by default.

Well the browser wars are back again and this time its going to be a lot tougher. Microsoft’s Internet Explorer had initially steamrolled Netscape’s Navigator through an enhanced user experience and developer experience. They offered DOM elements and JavaScript calls that let developers do cool stuff with their HTML and JavaScript code. Netscape could never measure up and died. Of course Microsoft’s dominance on the desktop helped the cause.

If Mozilla’s TraceMonkey offers this kind of a serious performance boost, it won’t be surprising to find developers writing applications that targeted Firefox specifically, just like those innumerous sites that would function properly only on Internet Explorer.

If Mozilla delivers on its promise, then the day is not far when we would be seeing applications that have a disclaimer saying “Please use Mozilla Firefox 3.1 for proper function”. And oh, by the way, Adobe and Microsoft, please take note.

1 comment August 25, 2008

Mozilla Labs Aurora: What web browsers are going to be

Mozilla labs is where Mozilla experiments with new technologies and applications. One of those experiments is the next generation web browser. Aurora is a concept video created by Adaptive Path in partnership with Mozilla Labs. So what is shown in the video below is more of a concept rather than an actual application that is in incubation. Nevertheless, its worth a watch.

Add comment August 6, 2008


Express your opinion

I am on LinkedIn

View Prosenjit Bhattacharyya's profile on LinkedIn

Blogroll

Recent Posts

Top Posts

My Posts

Blog Stats

My Categories

apple app store future technology google google chrome google phone iphone iphone 3g ipod Kubuntu laptop Linux mac book macbook air mac book pro macbook touch mac os mbp microsoft mozilla new laptop notebook open source operating system rich internet application smart phone Ubuntu Uncategorized web browser windows

My Tags

adobe android android market apple apple iphone apple iphone 3g app store call drop chrome firefox flex g1 google google android google chrome google phone iphone iphone 3g iphone 3g problem ipod javascript kde Kubuntu laptop lawsuit Linux mac macbook macbook pro mac os microsoft mozilla new apple laptops new macbook new macbook pro notebook open source palm psystar silverlight smart phone t-mobile g1 Ubuntu web browser windows