With Internet Explorer 9, Microsoft showed Wednesday it's trying to retake the browser initiative.
IE remains the Net's dominant browser. But perversely, it became something of a technology underdog after Microsoft vanquished Netscape in the browser wars of the 1990s and scaled back its browser effort.
That left an opportunity for rivals to blossom--most notably Firefox, which now is used by a quarter of Web surfers, but also Apple's Safari, which now runs on Windows as well as Mac OS X, and Google's Chrome, which aims to make the Web faster and a better foundation for applications.
Microsoft has been pouring resources back into the IE effort, though, and at its Professional Developers Conference in Los Angeles, some fruits of that labor were on display. In particular, Windows unit president Steven Sinofsky showed off IE 9's new hardware-accelerated text and graphics.
The acceleration feature takes advantage of hitherto untapped computing power in a way that's more useful than other browser-boosting technology--Google's Native Client to directly employ PC's processor and Mozilla's WebGL for accelerated 3D graphics, for example--according to Dean Hachamovitch, general manager of Internet Explorer.
"This is a direct improvement to everybody's usage of the Web on a daily basis," Hachamovitch said in an interview after Sinofsky's speech. "Web developers are doing what they did before, only now they can tap directly into a PC's graphics hardware to make their text work better and graphics work better."
... Read moreWith a project called Closure Tools, Google plans on Thursday to start helping developers who aspire to match the company's proficiency in creating Web sites and Web applications.
Google is a strong proponent of using JavaScript to write Web-based programs, part of its Web-centric ethos. Indeed, the company has pushed the language to its limits with services such as Gmail and Google Docs, and it developed its Chrome browser in part to enable JavaScript programs to run faster.
But writing, debugging, and optimizing heavy-duty JavaScript can be difficult--in part because a given JavaScript program sometimes works differently on different browsers. Google's open-source Closure Tools project is an attempt to help with some of these challenges.
The first in the suite of tools is the Closure Compiler, a software package designed to boil down a JavaScript program so it's smaller and runs faster. For example, a function named DisplayAddress() could be replaced with just a().
Along with the compiler come some extra tools that run in the Firefox browser. One, Closure Inspector, is an extension for Firefox's Firebug add-on designed to help programmers understand and debug the rewritten JavaScript--linking a() back to DisplayAddress(), for example. Another add-on for the Google Page Speed extension lets programmers see how much the compiler helped.
Google also plans to make the compiler available as a Web application hosted on its Google App Engine service.
The second element is called the Closure Library, a collection of prebuilt JavaScript code that lets programmers handle relatively sophisticated technology--arrays and string manipulation, for example.
Last are Closure Templates, more prewritten code to ease creation of JavaScript and HTML user interfaces.
In an earlier era, programming tools were expensive packages bought by a select few, but open-source software, new marketing strategies, and new business methods have made that approach the exception rather than the rule these days. Now programming tools are often a means to another end--encouraging programmers to produce the software that will make Windows or the Palm Pre useful and therefore popular, for example.
In Google's case, the objective is often to make the Web more popular because it sees more activity on the Web as corresponding directly with more activity on its revenue-generating search site. Among the high-profile projects to this end are Chrome, Chrome OS, and Android, all subsidized by Google's powerful search-advertising business.
One interesting contrast to Closure is another Google project called Google Web Toolkit. It's designed to accomplish some of the same goals as Closure, including paving over browser incompatibilities and producing high-performance JavaScript. But with GWT, coders write programs in Java that gets translated into JavaScript.
So one last question: why the name?
Google's reply: "Being a functional language, the concept of a function closure is fundamental to the JavaScript language."
Google released an Internet Explorer plug-in Tuesday designed to let Microsoft's browser use the features and performance of Google's own Chrome browser.
The software, called Google Chrome Frame, lets IE 6, 7, or 8 use Chrome to render Web pages and execute their JavaScript programs, Google said. To use it, people must install the open-source plug-in, currently in the developer preview stage, and Web developers must insert a line of code onto their Web sites that engages Chrome Frame when a person visits the site.
"For users, installing Google Chrome Frame will allow them to seamlessly enjoy modern Web apps at blazing speeds, through the familiar interface of the version of IE that they are currently using," said Google programmer Alex Russell and product manager Mike Smith in a blog post.
But the plug-in might needle its rival more than revolutionize Web browsing. For one thing, it takes a long time to get a lot of Web developers to update their sites. For another, how many people dissatisfied with IE's performance haven't already installed a higher-powered browser?
Google argues that the feature will appeal to some folks, though, including people in corporate settings who might not have a choice of browser and people who prefer IE's interface, said spokesman Eitan Bencuya. And people are familiar with plug-ins as a way to expand what browsers can do.
"It's a much lower barrier to entry than switching browsers," Bencuya said.
He added that Google has built support for the feature into one of its own Web sites, the Google Wave project that's a hybrid of e-mail, instant messaging, and wiki collaboration.
Opera Software has completed its first release candidate of Opera 10, a browser that the company says has better performance, a Turbo mode for slow Internet connections, support for a variety of Web standards such as Web fonts, and improvements to the Opera Mail feature.
"Now, we are very close to releasing the best browser in Opera's long history," Jan Standal, Opera's vice president of desktop products, said in a statement. "We hope everyone who has helped us test our browser thus far will put the release candidate through its paces."
The new Carakan JavaScript engine, which is used to run Web-based applications such as Google Docs, isn't done yet.
"It won't be ready for (Opera) 10 final, but rest assured that it will be impressive when it comes," spokesman Thomas Ford said. He said Opera won't comment on the timing of the new engine's release until it enters alpha testing.
Firefox, Safari, and Chrome also all are working furiously on better JavaScript performance too, in an effort to make the Web a better foundation for applications.
The new Opera release candidate is available for download for Windows, Mac, and Linux.
Opera has been available for years as an alternative to the dominant Microsoft Internet Explorer, the second-ranked Firefox, and Apple's Safari. It was pushed into fifth place with the arrival of Google Chrome. The Opera browser often charts new territory, though. For example, its Speed Dial feature, which presents an array of Web site thumbnails when a person opens a new browser tab, was first introduced in 2007. A similar feature can now be found in Chrome and Safari, and Firefox may add something comparable.
Mozilla has released the first alpha version of Firefox 3.6 for Windows, Mac, and Linux, a browser with speed improvements and new features the organization hopes to finalize faster than its predecessor.
"Unlike the year that passed between Firefox 3 and Firefox 3.5, we expect that this 3.6 release will be released in a small number of months," Mozilla evangelist Chris Blizzard said in a blog post Friday.
Firefox 3.6, code-named Namoroka, has a variety of changes, but it's not as dramatic a departure as 3.5 was from 3.0. Among the 3.6 features are faster JavaScript, the Web programming language Firefox executes with its TraceMonkey engine; faster page-rendering speed; some new features for CSS (Cascading Style Sheets) technology for controlling some of the look of a Web site; and a feature called the compositor that handles complicated layout circumstances better.
Performance is a big issue with browsers these days as people spend more time using them and programmers create more sophisticated sites and applications that live on the Web. All major browser makers are emphasizing performance improvements in their newest versions.
Download links for the first Firefox 3.6 alpha are at the Mozilla Developer Center.
Corrected at 11:53 a.m. PDT. See below for details.
MOUNTAIN VIEW, Calif.--In a case of converging technologies, Google App Engine took several steps toward the mainstream on its first birthday Tuesday at the same time that the concept of cloud computing in general is becoming more accepted.
Cloud computing presents applications as Internet-accessible services rather than software that runs on corporate servers or people's own PCs. It can mean anything from raw computing services that can be bolted together, as in the case of Amazon Web Services, to finished products such as the Picnik photo-editing site or SalesForce.com customer-management service. Google App Engine is an intermediate level, offering a general-purpose foundation.
Thus far, App Engine had been limited to Web applications written in the Python programming language favored internally at Google but not as much elsewhere. But on Tuesday, the top-requested App Engine feature, support for Java programs, arrived--albeit only in a preview form initially available only to the first 10,000 developers who sign up.
"It's the language of the enterprise," said Ryan Nichols, leader of product management and marketing at Appirio, a 140-person start-up that builds software for clients who want cloud computing applications. "It allows us to have a different level of conversation with our customers."
Graham Spencer, a Google engineering director, announces new features of Google App Engine at a Campfire One event Tuesday.
(Credit: Stephen Shankland/CNET)Google announced the Java support and a handful of other new App Engine features on its blog and at a Campfire One event for developers at its headquarters here. As with the regular App Engine service, use within certain limits is free, but developers must pay for heavy-duty App Engine use.
... Read more
A fractal tree explorer is one application at Chrome Experiments.
(Credit: screenshot by Stephen Shankland/CNET)Ever since Google launched Chrome in September 2008, Google has been touting how fast its browser can run Web-based programs written in JavaScript. Now the company has launched a site called Chrome Experiments designed to show off what fast JavaScript can enable and to encourage adoption of the browser.
Browser benchmark performance scores make for nice bar charts, but they can be detached from real-world computing needs. Chrome Experiments--which don't require Chrome but sometimes break without it--are a collection of taxing applications written in JavaScript that are designed to be more engaging.
Among the 19 examples so far available: beach balls bouncing from one browser window to another, control-tab animations, fractal trees, and 3D image modeling.
"To build these experiments, we reached out to a number of well-known Web designers and JavaScript developers including REAS, Mr. Doob, Ryan Alexander, Josh Nimoy, and Toxi, who have posted their creations on the site. We are also looking to constantly update the site with new submissions, so developers and designers are encouraged to build their own experiments and submit them through the site," Google said of the site.
JavaScript is used for many mundane features on the Web, but it's also the foundation of more sophisticated Web applications such as Google Docs. Unsurprisingly, given Google's Web application ambitions, the company wants to advance its maturity.
Google wants people to use Chrome.
(Credit: screenshot by Stephen Shankland/CNET)So it should be no surprise also that when visiting the site with a non-Chrome browser, you're presented with a warning: "We highly recommend you launch this experiment in Google Chrome. It may run slower, or not at all, in other browsers," then offers a handy Chrome download link.
Google has been advertising Chrome, too, which is unusual for the company. Clearly it has high hopes for the browser.
Of course, all the experiments worked for me in Chrome, but I tried them in several other browsers as well, with mixed results. One of my favorites, Ball Pool, which lets you spray patterned circles that stack up, then shake the window to make them slosh around, was illustrative. On Firefox 3.1 beta 3, it worked fine. On the Safari 4 beta, it worked, but sometimes with edges of balls sliced off. With Opera, the balls moved smoothly, but shaking the window didn't work. With the Internet Explorer 8 release candidate, it didn't work at all.
The "Monster" application at Chrome Experiments performs 3D modeling with JavaScript.
(Credit: screenshot by Stephen Shankland/CNET)Google released a new beta version of Chrome Tuesday, offering a better balance between software that's stable but out of date on the one hand and cutting-edge but crash-prone on the other.
The new version offers a number of new features, including zooming that increases or decreases the graphics as well as text; autofill to ease the chore of re-entering information in Web site forms; and new tab-dragging features that let you dock browser windows to the sides of the screen. The new beta version is essentially the same as Chrome 2.0.169.1 that was released last week to the Chrome developer preview channel for less-tested versions of the browser, Google said.
The feature Google chose to spotlight in a blog post announcing the new Chrome beta, though, is better JavaScript performance from a new version of the browser's V8 engine. "It's 25 percent faster on our V8 benchmark and 35 percent faster on the Sunspider benchmark than the current stable channel version and almost twice as fast when compared to our original beta version," Chrome product manager Brian Rakowski said in the blog post.
JavaScript is used to power elaborate Web applications such as Google Docs and refinements on countless more ordinary Web sites, and Google, Mozilla, Apple, and Opera all are racing to improve how well their browsers handle it.
Since releasing Chrome 1.0 in December, Google has essentially offered only two of the three promised versions of its browser: that stable version, which has received only minor tweaks, and the very rough-around-the-edges developer preview version where Google tries out new features. The beta version just tracked the stable version.
I've been using the developer preview version for the most part, despite the fact that several earlier incarnations were prone to becoming unresponsive and the latest one triggers an objection from Flickr's Organizr tool. Recent Chrome developer preview bug fixes have helped, but it's still not for most folks.
The better-tested beta, though, means many of the new features will be available to those with a lower tolerance for flakiness.
New how-to document for extensions
One big advantage Firefox has over Chrome is its ability to accommodate extensions that endow the browser with new features. Google is working on the extensions for Chrome, though, and on Monday Google programmer Aaron Boodman published a how-to document for writing Chrome extensions.
"Right now extensions can only really contain content scripts, so that is all this doc covers. But we'll be expanding it over time as more features develop," Boodman said in an e-mail announcement of the how-to document.
Chrome programmers have switched out a third-party software package in favor of their own as part of Google's attempt to speed its open-source browser up more.
The change came with a key component for processing JavaScript text called regular expressions. "As we've improved other parts of the language, regexps started to stand out as being slower than the rest. We felt it should be possible to improve performance by integrating with our existing infrastructure rather than using an external library," according to a Chromium blog post by programmers Erik Corry, Christian Plesner Hansen, and Lasse Reichstein Holst Nielsen.
Thus was born Google's own project, Irregexp, the headline feature in the new developer preview version of Chrome, 2.0.160.0 (release notes). Check the blog post if you're curious about the technical details of Google's choices about native code generation, backtracking avoidance, and intermediate automaton representation.
Previously, Chrome used a supporting software package, or library, called JPCRE, a variation by the Webkit browser project of the PCRE package. That eased compatibility issues by making Chrome behave more like Apple's Safari, which is based on Webkit, but Google thinks it's got the compatibility issue in hand.
"During development we have tested Irregexp against one million of the most popular Web pages to ensure that the new implementation stays compatible with our previous implementation and the Web," the programmers said.
Separately, the programmers said they created a new third version of their JavaScript benchmark. This version specifically exercises regular expressions taken from 50 of the Web's most popular pages.
JavaScript is increasingly widely used to build sophisticated Web applications, including Google Docs and Gmail, for example.
Speed is particularly important because JavaScript is used for interactive aspects of Web pages, where fast response or annoying lags are noticeable by people controlling the application. But it's also widely used for many more mundane aspects of Web pages, so JavaScript speedup helps improve Web browsing performance broadly.
Chrome's JavaScript engine is called V8. Mozilla's Firefox has TraceMonkey, and WebKithas Squirrelfix Extreme. Opera hopes to outdo all those with its own new JavaScript engine, called Carakan.
More changes are coming to V8, though, and Google will detail some at its May developer conference, Google I/O. One session there will focus on the software, including "initiatives that will propel V8 to the next performance level," according to the session notes.
Separately, Google also released the new version 1.0.154.46 of Chrome for both its stable and beta version users on Wednesday. That version fixed a security problem and an issue with Chrome's incognito mode.
With Web applications imposing new demands on Web browsers, a previously behind-the-scenes programming technology called JavaScript is getting new visibility, and Opera is the latest case in point.
The Norwegian browser maker announced on Wednesday a new JavaScript engine project called Carakan.
Carakan runs JavaScript code about 2.5 times as fast as the Futhark engine in the alpha version of Opera 10, programmer Lars Erik Bolstad said in an Opera blog post.
Opera's main business is browsers for mobile phones, and its current JavaScript engine is optimized for minimum memory demands, but now performance is the priority, Bolstad said.
"The Web is a changing environment however, and tomorrow's advanced web applications will require faster ECMAScript execution, so we have now taken on the challenge to once again develop the fastest ECMAScript engine on the market," he said. ECMAScript is a standard group's official name for JavaScript.
JavaScript isn't the only way to build Web applications, but it's increasingly widely used. It's the foundation for Google Docs and Gmail, for example, and enables Yahoo Mail users to drag-and-drop messages into folders.
Speed is particularly important because JavaScript is used for interactive aspects of Web pages, where fast response or annoying lags are noticeable by people controlling the application. But it's also widely used for many more mundane aspects of Web pages, so faster JavaScript helps improve Web browsing performance broadly.
Opera isn't alone here with a fancy name for its JavaScript engine. Mozilla's Firefox has TraceMonkey, Google's Chrome has V8, and WebKit, the rendering engine used by Apple's Safari, has Squirrelfish Extreme. (Chrome uses Webkit for some other tasks in displaying Web pages, but not its JavaScript engine.)
For details on Opera's improvements--register-based bytecode, native code generation, and automatic object classification--check the blog post about Carakan.




