Wednesday, September 24, 2008

Hacks and tricks to make Firefox Super fast

Firefox has been outperforming IE in every department for years, and version 3 is speedier than ever.

But tweak the right settings and you could make it faster still, more than doubling your speed in some situations, all for about five minutes work and for the cost of precisely nothing at all. Here's what you need to do.

1. Enable pipelining

Browsers are normally very polite, sending a request to a server then waiting for a response before continuing. Pipelining is a more aggressive technique that lets them send multiple requests before any responses are received, often reducing page download times. To enable it, type about:config in the address bar, double-click network.http.pipelining and network.http.proxy.pipelining so their values are set to true, then double-click network.http.pipelining.maxrequests and set this to 8.

Keep in mind that some servers don't support pipelining, though, and if you regularly visit a lot of these then the tweak can actually reduce performance. Set network.http.pipelining and network.http.proxy.pipelining to false again if you have any problems.

2. Render quickly

Large, complex web pages can take a while to download. Firefox doesn't want to keep you waiting, so by default will display what it's received so far every 0.12 seconds (the "content notify interval"). While this helps the browser feel snappy, frequent redraws increase the total page load time, so a longer content notify interval will improve performance.

Type about:config and press [Enter], then right-click (Apple users ctrl-click) somewhere in the window and select New > Integer. Type content.notify.interval as your preference name, click OK, enter 500000 (that's five hundred thousand, not fifty thousand) and click OK again.

Right-click again in the window and select New > Boolean. This time create a value called content.notify.ontimer and set it to True to finish the job.

3. Faster loading

If you haven't moved your mouse or touched the keyboard for 0.75 seconds (the content switch threshold) then Firefox enters a low frequency interrupt mode, which means its interface becomes less responsive but your page loads more quickly. Reducing the content switch threshold can improve performance, then, and it only takes a moment.

Type about:config and press [Enter], right-click in the window and select New > Integer. Type content.switch.threshold, click OK, enter 250000 (a quarter of a second) and click OK to finish.

4. No interruptions

You can take the last step even further by telling Firefox to ignore user interface events altogether until the current page has been downloaded. This is a little drastic as Firefox could remain unresponsive for quite some time, but try this and see how it works for you.

Type about:config, press [Enter], right-click in the window and select New > Boolean. Type content.interrupt.parsing, click OK, set the value to False and click OK.

5. Block Flash

Intrusive Flash animations are everywhere, popping up over the content you actually want to read and slowing down your browsing. Fortunately there's a very easy solution. Install the Flashblock extension (flashblock.mozdev.org) and it'll block all Flash applets from loading, so web pages will display much more quickly. And if you discover some Flash content that isn't entirely useless, just click its placeholder to download and view the applet as normal.

6. Increase the cache size

As you browse the web so Firefox stores site images and scripts in a local memory cache, where they can be speedily retrieved if you revisit the same page. If you have plenty of RAM (2 GB of more), leave Firefox running all the time and regularly return to pages then you can improve performance by increasing this cache size. Type about:config and press [Enter], then right-click anywhere in the window and select New > Integer. Type browser.cache.memory.capacity, click OK, enter 65536 and click OK, then restart your browser to get the new, larger cache.

7. Enable TraceMonkey

TraceMonkey is a new Firefox feature that converts slow Javascript into super-speedy x86 code, and so lets it run some functions anything up to 20 times faster than the current version. It's still buggy so isn't available in the regular Firefox download yet, but if you're willing to risk the odd crash or two then there's an easy way to try it out.

Install the latest nightly build (ftp://ftp.mozilla.org/pub/firefox/nightly/latest-trunk/), launch it, type about:config in the address bar and press Enter. Type JIT in the filter box, then double-click javascript.options.jit.chrome and javascript.options.jit.content to change their values to true, and that's it - you're running the fastest Firefox Javascript engine ever.

8. Compress data

If you've a slow internet connection then it may feel like you'll never get Firefox to perform properly, but that's not necessarily true. Install toonel.net (toonel.net) and this clever Java applet will re-route your web traffic through its own server, compressing it at the same time, so there's much less to download. And it can even compress JPEGs by allowing you to reduce their quality. This all helps to cut your data transfer, useful if you're on a limited 1 GB-per-month account, and can at best double your browsing performance.

Sunday, September 21, 2008

IE6, IE7 and IE8 under Mac or Linux (cont.)

The good news is that Microsoft provides free VirtualPC disk images for each of their browsers:

http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B…

The bad news is that they wont run on Mac and VirtualPC wont run inside Parallels or VMWare Fusion — but I’ve found a solution! We can convert the disk images to work for VMWare Fusion or VirtualBox.

Setup

First go and download the versions of IE you want to use:


http://www.microsoft.com/downloads/details.aspx?FamilyId=21EABB90-958F-4B…

To do the conversion you’ll need a copy of the Qemu command line tool. I couldn’t get it to work on Mac, so you’ll probably need to use it on a Linux or Windows machine. (you can do this through Parallels or VMWare Fusion too) Download, extract and install Qemu tool on your computer.

Linux

WILL NOT work on windows because it was not compiled to support files over 2GB.
http://fabrice.bellard.free.fr/qemu/

Windows

Download “Qemu-0.9.1-windows.zip” from:
http://lassauge.free.fr/qemu/

VMWare Fusion

This is the easiest way to go and has superior support for shared network and clipboard between Mac and PC, except it means you’ll need to buy a copy of VMWare Fusion. I wrote these instructions using the trial version, someday I’ll buy my own full version.

The process will probably take less than an hour and require about 2Gb of space. These instructions are tailored towards using Windows for the file conversion with qemu. If you’re using Linux you’re probably smart enough to adapt these instructions to your system. Several people in the comments have mentioned being able to use Q on the Mac to do the file conversion.

  1. Open a command prompt: Start > Run and type “cmd”
  2. Use “cd” to go to the directory you download and extracted Qemu.
  3. Run:
    qemu-img.exe convert -f vpc "XP SP2 with IE7.vhd” -O vmdk XPIE7.vmdk
    • “XP SP2 with IE7.vhd” is the path to the IE VPC file you downloaded
    • “XPIE7.vmdk” is the new file that VMWare Fusion will use.
  4. Wait…(will probably take 15 - 30 minutes)
  5. Move the new “.vmdk” file to your mac.
  6. Open VMWare Fusion and click File > New
  7. Go through the wizard and when you get to the “Virtual Hard Disk” page, expand “Advanced disk options”, check “Use an existing virtual disk” and use the dropdown to find the new “.vmdk” file.
  8. Finish the wizard and start it! (If prompted to upgrade the virtual harddrive, click “Yes”)
  9. Ignore any driver dialogs that ask you to insert a Windows CD. The VMWare Tools should install these drivers for you (see next step).
  10. Install the VMWare tools (Virtual Machine > Install VMWare Tools) as soon as Windows boots up. If installing the tools gives you a weird error, read the next section.
  11. You’re done!

Installing the VMWare Tools

If the VMWare Tools wont install automatically follow these simple steps to install it manually:

  1. With VMWare Fusion running click Virtual Machine > Install VMWare Tools
  2. Open your “My Computer” to see which drive letter the CDRom with the VMWare Tools has mounted to.
  3. Open a command prompt: Start > Run and type “cmd”
  4. Type the following and press enter (change “D” to the drive letter from step 2):
    • msiexec -i "D:\VMware Tools.msi"
  5. The installation wizard should open and walk you through the rest of the install.

VirtualBox

The great thing with VirtualBox is that it’s free and available for most OSes! The process will take a little longer and will temporarily require about 20Gb - 30Gb of disk space. In the end your IE virtual disk will only be about 2Gb.

You might be tempted to do the VMWare Fusion conversion, outlined above, and use the “.vmdk” file in VirtualBox. It’s true that VirtualBox supports “.vmdk”, but everytime I tried it I ran into massive problems.

These instructions are tailored towards using Windows for the file conversion with qemu. If you’re using Linux you’re probably smart enough to adapt these instructions to your system. Several people in the comments have mentioned being able to use Q on the Mac to do the file conversion.

  1. Open a command prompt: Start > Run and type “cmd”
  2. Use “cd” to go to the directory you download and extracted Qemu.
  3. Run: qemu-img.exe convert -f vpc "XP SP2 with IE7.vhd” -O raw XPIE7.bin
    • “XP SP2 with IE7.vhd” is the path to the IE VPC file you just downloaded
    • “XPIE7.bin” is the new file.
  4. Wait…(will take about an hour)
  5. Move the new “.bin” file to your mac. (or try the next 2 steps on the same machine)
  6. Install VirtualBox
  7. Convert and compress the “.bin” file. (This can also be done on Windows or Linux if you have VirtualBox on that machine)
    1. Open a terminal or command prompt.
    2. Go to the directory where your “.bin” file is.
    3. VBoxManage convertdd XPIE7.bin XPIE7.vdi (FYI: on Windows, VBoxManage is in “C:\Program Files\innotek VirtualBox\”)
    4. VBoxManage modifyvdi XPIE7.vdi compact
  8. Open VirtualBox
  9. Click New
  10. Go through the wizard
    • Give it at least 350MB of “Base Memory”
    • Use the new “.vdi” file as the “Boot Hard Disk”.
  11. Finish wizard and start it!
  12. Ignore any driver dialogs that ask you to insert a Windows CD. The VirtualBox tools should install these drivers for you (see next step).
  13. Be sure to install the VirtualBox tools as soon as Windows boots up. (Click: Device > Install Guest Additions)

How to have IE on Linux

Most of you guys already know how to do this trick, but for those of you who don't check below.

IEs 4 Linux needs two packages: cabextract and Wine. You can install them using your Linux package manager (synaptic, apt-get, yum, emerge etc) or go to their sites.

After that, download IEs 4 Linux. Extract it. Run 'ies4linux'. Follow the instructions.

In a terminal, you can do:

wget http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
tar zxvf ies4linux-latest.tar.gz
cd ies4linux-*
./ies4linux

Note: This allows you to install IE6 and a (as beta) IE7, for the moment IE8 is not supported.

Saturday, September 20, 2008

IE 7 and IE 8 on the same machine?

Running both Internet explorer 7 and Internet explorer 8 on the same machine is not tricky stuff like with previous versions of IE.


IE7 Emulation Mode


This point means that developers can continue to do real world client site testing in IE7 at the flick of a switch. Switch of IE7 emulation and you can still continue testing and preparing for the release of IE8. This is a very nice feature and makes the life of developers much easier.
Previously, developers required a virtual machine to run IE6 and IE7 so you had to log in to the virtual machine to use and test in IE6. You still need to restart the browser each time you want to switch between IE8 and IE7 emulation, mode but that’s no real hardship.


When you experience a problem, just a click on a button and restart of the browser takes you back to IE7. Great feature to support soon to be legacy interfaces.



To switch to Internet Explorer 7 Emulation mode, click on the “7″ icon the browser or click “Tools - IE7 Emulation” and click OK on the message box which indicates you need to restart the browser. Once you restart the browser, you are in IE7.
When you are happy to switch back to IE8 default, simply click the same “7″ icon and click OK in the message box and restart the browser. Yeah..back in Internet Explorer 8 default mode.

Thursday, September 18, 2008

Mozilla to remove Firefox EULA

Ubuntu users who couldn’t stand the idea of a EULA (End User License Agreement) for the popular Firefox Web browser are going to get their way. The Mozilla Foundation’s chairperson, Mitchell Baker, has agreed to entirely remove the Firefox EULA.

In her blog, Baker wrote, “We’ve come to understand that anything EULA-like is disturbing, even if the content is FLOSS (Free/Libre/Open Source Software) based. So we’re eliminating that. We still feel that something about the web services integrated into the browser is needed; these services can be turned off and not interrupt the flow of using the browser. We also want to tell people about the FLOSS license — as a notice, not as as EULA or use restriction. Again, this won’t block the flow or provide the unwelcoming feeling that one comment to my previous post described so eloquently.”

What this new way of telling people about Firefox’s license, the MPL (Mozilla Public License), will be hasn’t been determined yet. “We’re still working on this. There’s been a bunch of helpful feedback. We appreciate this. We think we’ve integrated the feedback into something that’s a good solution; different from out last version in both its essence and its presentation and content.” She added that this new “solution” should be made public sometime today, September 17.

This EULA fight began when Mozilla issued Firefox 3.02 with a new EULA that rapidly drew fire from Ubuntu users. Mark Shuttleworth, founder of Ubuntu, urged users to calm down while Canonical, the company behind Ubuntu, and Mozilla worked on the problem.

Baker quickly tried to get on top of the problem by issuing a proposed revision to the EULA. When this version also drew far more complaints than praise, Baker and the rest of the Mozilla leadership decided to abandon entirely a EULA approach and take a different approach.

While it still isn’t entirely clear what this will be, simply dropping any sign of a EULA will likely go a long way to calming upset Ubuntu Linux users.

FoxTab - show all open tabs in one window

Beacuse Chrome has this already something similar built-in some guys though of this and decided to build FoxTab.
FoxTab provides a new fascinating and elegant method for finding and selecting a tab in the browser. FoxTab is designed to be suitable for many types of users, those with only few tabs opened and those out there (like me) who usually have tons of opened tabs to select from.
The idea behind FoxTab is to provide new visual methods for quick tab switching.
  
   

Monday, September 15, 2008

Speed-up Web Aplications: "Developers should skip Google's Chrome, and jump straight to WebKit"

Inside every browser is the core of the ideal client-side application environment, incorporating everything that I'd estimate half of commercial applications need. There's the best dynamic, object-oriented, loosely typed programming language, bar none (JavaScript), transparently bound to an idiot simple yet extensible presentation layer (DHTML, CSS, XML, DOM, SVG...). Browser-based apps don't require specialized development tools, or any tools at all. All that keeps your browser from being the perfect client app environment is speed, stability, strict adherence to standards, and offline capabilities. That is not too much to ask; it's all within reach, right now. It's a matter of adjusting our priorities and perspective.

[ Beefed up for application duty, Google Chrome, and Internet Explorer 8 reach new heights in browser resource consumption. See the Test Center review. Also, check out InfoWorld's Special Report for all the news, reviews, and commentary on Google's open source Chrome browser. ]

Forget about trying to make projects fit browsers and focus on higher objectives. We want a cross-platform, cross-architecture development platform that can take an app from behavior-accurate prototype to full functionality in stages and with minimal skill. We want applications that can be QA'd in site at the operational level, patched remotely, and updated automatically. We need to adapt to specifications that are altered while the project is underway. Code has to be ultimately reusable, and we need the capability to easily reach out to legacy back-ends. We never want to hear our support staff tell a user "we can't reproduce that problem." If we have to let a developer go, we want to know that he can't lock up his code on the way out, and that anyone of comparable skill can take over and be up to speed in a couple of days.

Now, knowing what we want, we can think about how to achieve all of this, and now we can come back to the browser. If we could achieve the ideal, a browser's got everything a development project would love to have but can't dream of putting in the schedule. The trouble is that browsers are designed for surfing, not as application platforms. Think about it. If you were cranking up a new client development project, would you issue a statement of objectives that it must look like a Web site, take twenty seconds to paint a window, offer no feedback when you click a button, skip reporting the progress of transactions, refuse to run unless you're connected to a network, and force users to re-enter form data if there's a hiccup in delivery? It's telling that the first thing an erstwhile Web application does is free itself from the trappings of a browser: It removes the navigation bar, the menu (when it can -- OS X doesn't allow it) and the status bar, redirects the right mouse button away from the default context menu and makes it impossible to resize the window. If you use the browser, the standard is to work like hell to hide it, and to solve performance problems by embedding Java or ActiveX objects.

It reads like a no-win deal until you realize that you don't need a fat, clunky browser. You don't need to host a browser in an application window. Just take the framework shared by multiple commercial browsers and bake it right into your project. That's WebKit. At a total cost of nothing and with free lifetime updates, it's as sweet a deal as you'll find, and unlike many open source projects that you'd love to use but which vary in the quality of support, documentation, and maintenance, WebKit is driven by companies like Apple, Nokia, and most recently, Google, that rely on it for commerce. The Iris Browser from Touch Mobile, which uses WebKit, is the first worthwhile free alternative to Internet Explorer on Windows Mobile devices, and it's the best first pass I've seen yet on borrowing iPhone's touch interface. Even though it's most frequently seen in browsers, WebKit is a lot more than a browser in a can. It advances the state of the art faster and farther than is required for a browser.

The best example of this is WebKit's new tokenizing JavaScript engine, SquirrelFish. The latency associated with the retrieval of most Web pages makes the speed of JavaScript execution a minor issue, but JavaScript's poor performance takes it out of contention as an application language. It's not a hard problem to solve; there is no shortage of engineers skilled at making interpreted languages run faster. There just wasn't the will to do it for JavaScript until some people realized that JavaScript is a serious language in need of a serious implementation. SquirrelFish takes two vital first steps toward elevating WebKit's JavaScript to first-class status: Mapping bulky JavaScript to more efficient, partially digested ("compiled") bytecode, and using a register model instead of a stack model.

The stack model stuffs all of the data passed between functions into a single pool of memory. It is the duty of every function that uses the stack to leave it precisely as it found it lest other function calls get the wrong data passed to them. Functions have to pull data from the stack to make local copies for their use, and to return data to the calling function they must shove the results back onto the stack. Stack-based interpreters are easy to write, but hard to optimize. Register-based interpreters use a direct reference (in loose terms, pointers) to data needed to call a function. Just this one change from a stack-based interpreter to a register-based virtual machine delivers performance gains of 1.5x to more than 3x depending on the operation, and that's how WebKit without SquirrelFish compares to WebKit with SquirrelFish. It borders on unfair to compare WebKit (Safari 3.1) performance to Firefox, but it does highlight the difference between a JavaScript for applications and a JavaScript for surfing.

It's not that no one thought of making a bytecode JavaScript, any more than it's a new idea to put smoothly scaled and animated vector graphics in a browser (SVG). No one cared to do it because the day-to-day surfing experience wouldn't be enhanced by it. WebKit has higher aspirations than surfing, and there is more advanced science in WebKit than its JavaScript interpreter. The whole framework is shifting into ever higher gears in performance, standards compliance, completeness, and stability. WebKit is a framework that brings the benefits of a browser to all applications, across platforms, even ones that don't use the network. It doesn't hurt that WebKit is free and open source, that a Safari-workalike browser is included in the distribution, and that it uses middleware (HTTP) and object representation standards (XML) that bind it to all back-ends. Get WebKit and be proud to use browser technology in serious applications.

Ubiquity Firefox Plug-In Simplifies Interactions with Web Pages

Mozilla Labs has rolled out an experimental Firefox plug-in that promises to streamline the way Web surfers manage the mountains of information online. Called Ubiquity, the proof-of-concept prototype is an experiment with two parts — it’s both an interface and a development platform, notes the plug-in’s developer, Aza Raskin.

“Ubiquity 0.1 focuses on the platform aspects while beginning to explore language-driven methods of controlling the browser,” Raskin said.

Instant Translations

The main goal of Ubiquity is to simplify the time-consuming interactions that Web surfers typically perform on the Internet today, Raskin said. “It’s even worse on mobile devices, where limited capability and fidelity makes this onerous or nearly impossible,” he added.

Browser users now must use cut and paste along with a separate Web site such as Babel Fish to translate foreign-language content on the Web. With Ubiquity, however, users simply highlight the text they wish to translate, then right-click to open a menu of commands that includes the “translate” option. The text is then automatically converted into English and inserted right onto the original Web page.

The same technique can be used to initiate a wide range of other commands, such as defining an unfamiliar word or technical term, access weather information, or even Twitter friends with the latest news. Moreover, Web developers eventually will be able to build customized Ubiquity commands to which online visitors can subscribe.

Language-Based Instructions

Ubiquity also features a separate command-line box that opens in the upper left-hand corner of any Web page whenever a user presses the Ctrl and spacebar keys simultaneously. The command line, Raskin said, empowers users to control browsers with language-based instructions.

“Let’s say you’re arranging to meet up with a friend at a restaurant and you want to include a map in the e-mail,” Rankin said. “Today, this involves the disjointed tasks of message composition on a Webmail service, mapping the address on a map site, searching for reviews on the restaurant on a search engine, and finally copying all links into the message being composed.”

The command-line box gives users a way to transform all that clicking, typing, searching, copying and pasting into very simple tasks. For example, users can type and then select the address they want, then type “map” in the command line, Raskin said.

“If you execute the command, you’ll be taken to the Google Maps page,” Raskin said. “Or you can click on the image in the preview to get a larger, interactive version. After scrolling and zooming this map to your liking, you can click the ‘insert map in page’ link to insert the map into your e-mail.”

Currently, Ubiquity only works with Google Gmail accounts. However, Raskin said there is no reason why the plug-in shouldn’t eventually work with all major Web-based e-mail providers, as well as standalone e-mail applications like Thunderbird.

Mozilla’s long-term goal for Ubiquity is to enable users to instruct the browser — whether by typing, speaking or otherwise using language — about what they want to do.

“There’s a long way to go with this interface, though,” Raskin noted. “It still needs thought and a lot of refinement.”

Firefox 3.1 plans to have a private browsing mode like InPrivate and Incognito

Private mode is probably the top most missed feature from FireFox. Yes there are addons that do this, but since IE8 will have one, Chrome has one and Safari users benefit from this for some time as well it was time Mozilla guys created a similar function for FF.

Mozilla has announced that Firefox 3.1 will include a option for private browsing. As other major browsers have recently rolled out such features, for example "Incognito mode" in Google Chrome and "InPrivate" (a.k.a. Porn Mode) in IE beta 8, firefox users will have to wait for sometime . Enabling this mode will make sure that

  • all cookies are discarded
  • browser histories are not recorded
  • autofill passwords and prompt to save passwords are disabled
  • clear download history in the download manager
Incognito in chrome

incognito

This makes users feel secure when they want to surf "private" websites as no trace will be behind such a browsing session.To know more about this visit this page in Mozilla Wiki

Guess what else is so great about Chrome?

Chrome uses V8, the Google Code Open Source JavaScript Engine, instead of native JavaScript.

To see what the speeds look like for JavaScript vs. V8, checkout this browser comparison test found on Digg. IE FAIL! Mozilla FTW!

Along with Google Gears (of War) and the ‘Blob’ API, Chrome looks like it will be king of open source web services very soon, if not already.

Sunday, September 14, 2008

Chrome's 'Save As' Flaw Could Give Attackers Control

Google's new Chrome browser is vulnerable to a remote-control attack, Vietnam researcher Bach Khoa Internetwork Security says. Bach Khoa said a total of four Chrome vulnerabilities were discovered, and Google reportedly has issued a patch. An analyst said the vulnerability in Google's Chrome isn't surprising since its a beta product.

Bach Khoa Internetwork Security, a security-research firm in Vietnam, claims to be the first to discover a critical vulnerability in Google's Chrome browser. "This is the first critical Chrome vulnerability permitting [a] hacker to perform a remote code-execution attack and take complete control of the affected system," the firm wrote in its Sept. 5 advisory. While four Chrome vulnerabilities were discovered, Bach Khoa said the "Save As" flaw is the only one that can allow an attacker to launch remote attacks from a victim's PC. Other vulnerabilities just crash the browser.

The vulnerability is caused by a boundary error when handling the "Save As" function. When a user saves a malicious page with a title tag in the HTML code, the program causes a stack-based overflow, according to Bach Khoa. A hacker could construct a specially crafted Web page that contains malicious code, trick a user into visiting that Web site, and convince the user to save the page. That will execute the code and give the attacker privileges to remotely use the infected system.

Google reportedly has issued a patch for the browser, which can be found by telling Chrome to search for an update.

No one should really be surprised by the news of flaws in Chrome, according to Graham Cluley, a senior security consultant at Sophos. Any Google software release is likely to attract a lot of attention from security researchers, he said, all keen to discover if a problem can be found amid all the hoopla of a new product launch.

"The good news is that all the signs are that Google's security team is aware of the importance of securing their applications -- be they on Internet users' hard disks or on the Web -- and appears to work hard to respond rapidly to threats as they emerge. This is always harder, of course, if flaws are not disclosed responsibly," Cluley said.

HTML 5 Is Already Changing the Web today

HTML 5 represents the biggest leap forward in web standards in almost a decade. Unlike the specifications that came before it, HTML 5 is not merely intended to present content to a web browser. Its goal is to bring the web into maturity as a full-fledged application platform — a level playing field where video, sound, images, animations, and full interactivity with your computer are all standardized. And it may be a long way off still, but elements of HTML 5 are already reshaping the way we use the web.

The last update to the Hypertext Markup Language — the lingua franca of the web — was the 4.01 specification completed in September, 1999.

Quite a bit has happened since. The original browser wars ended, Netscape dissolved. The winner, Microsoft Internet Explorer 5, began IE6, which began the current IE7. Mozilla Firefox rose from the ashes of Netscape to take over second position. Apple and Google have released their own web browsers. The minority shareholder Opera continues to play the gadfly while pushing standards and software design forward. We even have a real web experience on our phones and game consoles, thanks to Opera, the iPhone and Google’s soon-to-be-released Android.

But all that progress threw the web standards movement into disarray. Ideas for HTML 5 and other developing standards were more or less left on the cutting room floor. As a result, HTML 5 has been in draft form ever since.

Several interested parties have banded together to form the Web Hypertext Application Technology Working Group (simply referred to as the WHATWG), an entity charged with picking up HTML 5’s pieces. It operates separately from the Worldwide Web Consortium (W3C), which oversees web standards, and it includes representatives from Mozilla, the KHTML/WebKit project, Google, Apple, Opera and Microsoft. And although the draft may not be ratified for years, work on HTML 5 continues.

So what does HTML 5 offer? Here’s a rundown of the most exciting advancements in the HTML 5 draft specification today:

  • A new, sensible tagging strategy. Instead of bundling all multimedia into object or embed tags, video goes in video tags. Audio goes in audio tags, and so on.
  • Localized databases. This feature, when implemented, automatically embeds a local SQL database websites can read and write to, speeding up interactive searching, cacheing and indexing functions, or for offline use of web apps that rely on data requests.
  • Rich animations without plug-ins. The canvas element gives the browser the ability to draw vector graphics. This means configurable, automatic graphs and illustrations right in the browser without Flash or Silverlight. Some support for canvas is already in all the latest browsers except for IE.
  • Real apps in the browser. APIs for in-browser editing, drag and drop, back button “waypoints,” and other graphical user interface abilities.
  • Content presentation tags will be phased out, and CSS will rule.

In theory, HTML 5 is a breeding ground for new ideas for web standards shared among interested developers and browser vendors. But it’s all still experimental.

“HTML 5 is kind of an overloaded term,” says Mozilla vice president of engineering Mike Shaver. “It’s both sort of an incubator (at WHATWG) and the standards-based track at the W3C.”

Mozilla’s interest, according to Shaver, is aligned with the experimentation at WHATWG. “We’re very active in the HTML 5 group, designing and doing early implementations on those specifications and the work graduates to the W3C.”

In the past year, Mozilla has released several forward-thinking projects aligned with the emerging standards, including Prism, a system for running web apps offline, and Weave, a data storage framework.

Shaver says the HTML 5 movement was born out of impatience. Many sensed activity around web standards was stagnating as the W3C started directing its attention away from HTML and to another emerging technology, XML.

“A lot of new architectures — XML based work — were designed to replace HTML in the web,” says Shaver. “We were really not convinced that was the way it should go forward. We don’t think people should be throwing (web technology) away to get (the web) to go forward.”

Experimentation is now going strong in Firefox and WebKit-powered browsers like Safari and Google’s new Chrome, but there are growing pains.

Chrome developer Darin Fisher says that while Chrome was under wraps, a few things had to go. Despite using the latest branch of WebKit (the same branch to be used in the next version of Safari), the local database features didn’t make it into Chrome’s first release. Unfortunately, the safety and performance factors of Chrome’s isolated sandbox system, which enables faster and more secure browsing by partitioning tabs in memory and CPU process, would break the built-in WebKit database functionality.

Because it was developing in secret, the Chrome team was unable to get too involved in WebKit development.

“We couldn’t be engaged in the WebKit community without being involved with keeping Chrome a secret,” Fisher laments. “We share one vision, and we’re really excited to help WebKit in some way. We have a lot of experienced web developers (at Google). It’s really interesting what kind of challenges people are facing. We can bridge that divide a little.”

With the launch of Chrome, Fisher says his team members occasionally have lunch with the WebKit team. Some are even personal friends. Fisher claims they are eager to work with the other WebKit developers to fix some of these offline functions.

Included in Chrome is the Google-born and now open-source Gears, a piece of technology used for the same purposes as HTML 5’s offline features.

“Gears has a lot of great value. It’s best thought of as an alternative API already out there,” says Fisher. “HTML 5 is great if you have a newer browser, but what about the vast majority of users that have an older browsers? Gears is a vehicle to make this API available to older browsers. We’re working to match HTML 5 versions of these APIs.”

Fisher stops short of labeling Gears a stop-gap to HTML 5. “Gears is very compatible and supportive of HTML 5. It is on a trajectory to become another implementation, another platform that is to put HTML 5 on people’s desktops.”

The majority of work thus far has been by companies like Apple (through WebKit), Mozilla, Opera, Google and Trolltech.

So, where’s Microsoft? Internet Explorer has been famously slow to adopt web standards, let along the experimentation of HTML 5. But the tide is shifting with the emergence of Internet Explorer 8.

“I’m really looking forward to the work we’re starting to do to ramp up building a test suite in the HTML Working Group,” says Microsoft Internet Explorer platform architect and WHAT WG co-chair Chris Wilson in an e-mail.

Wilson says the Internet Explorer team is still a little wary of some of the proposals in HTML 5.

“I think all the members of the Working Group, particularly the editor, would agree we still have a lot of work ahead of us to flesh out the specification,” wrote Wilson. “Parts of the specification, of course, are more polished that others.”

IE8, currently in beta, already includes several new features from HTML 5, he points out. It has a cross-document messaging system, the local data store for client-side storage, a way to insert back button “waypoints” into web history and some offline event features to detect network outages.

But some stuff isn’t on the drawing board. While Wilson says canvas looks like a useful feature, it’s not in Microsoft’s plan for IE8.

Wilson believes there’s definitely a future in the specification.

“HTML 5 is huge, and is still under a lot of development as a specification. I think that the browser implementers, though, are working together to try to agree as quickly as possible; each browser chooses when to implement what, though, and will bring pieces online as they determine their user and developer base need it.”

Web developers and browser vendors alike can agree with Wilson on one thing: “This is certainly an exciting time, and we’re really pleased to see the renewed interest in the web as an application platform.”

Google Chrome Privacy - When does it communicate with Google?

Yup, the blogosphere is on fire with concerns over privacy, the EULA, what information Google will/can collect when you use their new Chrome browser, etc (ok it’s also on fire over the release of this thing in general).

Matt Cutts who is a software engineer at Google and currently the head of Google’s Webspam team wrote up a great article detailing questions about privacy and how/when Google Chrome communicates with google.com. Should you be concerned?

The short answer is no. For the long answer, read on.

To read the detailed list visit Matt’s site for his article Preventing paranoia: when does Google Chrome talk to Google.com? For the shorter list, read on:

  • If you’re just surfing around the web and clicking on links, that information does not go to google.com.
  • If you are typing a search or url in the address bar, Google Chrome will talk to the current search service to try to offer useful query/url suggestions.
  • By default, crash reports and other anonymous usage statistics (e.g. which features are used most often) are not sent to Google.
  • I believe if Google Chrome sees a very short, stock 404 page (less than 512 bytes), it talks to Google in order to try to suggest other possible pages and options.
  • Google Chrome checks for automatic updates every 25 hours.
  • Every 30 minutes, Google Chrome downloads a list of 32-bit url hashes of urls thought to be dangerous (malware or phishing). That is a download of data from google.com, not to google.com.
  • When you choose your language in the user interface, Google Chrome downloads a spellcheck dictionary. Again, that is a download of data from google.com, not to google.com.

In short it doesn’t appear the is much to worry about and the conspiracy theorists are just freakin out. Not that the almighty Google doesn’t already have enough power and we shouldn’t ever be concerned. However, it appears the initial freak out by those on the net are just inflated conspiracy worries. Another bonus of this browser is that it’ll be open-sourced so any fears can be double checked by reviewing the source code.

Again, this is just the summary, check out Matt’s post for the full low down and more detailed information for each item.

Browsers for mobile

A mobile browser (also called a microbrowser or minibrowser) is a web browser designed for use on a mobile device such as a mobile phone or PDA. Mobile browsers are optimized so as to display Web content most effectively for small screens on portable devices. Mobile browser software must be small and efficient to accommodate the low memory capacity and low-bandwidth of wireless handheld devices. Typically they were stripped-down web browsers, but as of 2006 some mobile browsers can handle latest technologies like CSS 2.1, JavaScript and Ajax.

The mobile Internet Explorer Web browser you get on Windows Mobile smart phones is less than desirable. It usually directs you to a mobile Web site instead of the full-blown interactive ones that we access on our computers. Sure, Microsoft has announced support for Silverlight and Flash in a new version of mobile IE by the end of the year, but we’re in the heat of the summer and December still seems light years away. Fret not, there are other options.

If you grabbed the new iPhone, you may be impressed with its 3G data speeds. But is Safari better than other free smart phone Web browsers out on the market? We put the Apple Safari browser running on the 3G iPhone head to head with Opera 9.5.1 Beta and Skyfire Beta (free for Windows Mobile phone users), to see which browser is fastest, and which offers the richest browsing experience.

We used an AT&T Tilt for both Windows Mobile browsers, and put it head to head against the iPhone while both had full 3G signals. Read on to see a video of the race head to head, results from our Web site tests, and our thoughts on each browser.

Browser NYT.com ESPN.com HULU.com Netvibes.com Flash AJAX
Skyfire Beta 6 (sec) 8 (sec) 9 (sec) 4 (sec) Yes Yes
Opera 9.5.1 Beta 60 (sec) 59 (sec) 28 (sec) 44 (sec) No Yes
Safari 29 (sec) 28 (sec) 33 (sec) 54 (sec) No Yes

Skyfire
Skyfire is, by far, the speediest of the bunch, and we love that it also supports Flash Web pages without a hitch. In fact, on ESPN.com it even loaded a Flash advertisement video on the side of the screen. We don’t like ads, but the fact that the page looked identical to the one on our computer display is quite impressive. When we loaded Hulu.com, we were able to start up an episode of The Colbert Report, but playback was far too slow for our tastes.

The browser supports Flash 9, Java, and QuickTime playback, too, but unfortunately it’s limited to a private Beta at this time. You can sign up by visiting Skyfire’s Web site and Skyfire will let you know when there is more room for beta testers.

Opera 9.5.1
Opera Mobile 9.5.1 may not be the fastest browser of the bunch. In fact, it is the slowest, but it offers features that Skyfire doesn’t. One such feature is tabbed browsing, which the iPhone offers as well. Opera Mobile 9.5.1 lets you have a total of 3 tabs open while you’re surfing (the iPhone allows eight) and you can choose to open links in another tab directly from Web sites.

You can also easily pan and zoom around Web pages, and it supports AJAX Web sites, but unfortunately, not Flash 9 content. It also allows you to save pages and images so that you can load up the New York Times, save it, and view it later riding the subway underground without a signal.

Safari
Safari is ideal for loading pages in landscape or horizontal view, and the iPhone’s accelerometer allows you to quickly switch between the two by simply switching the phone. But it’s perhaps best known for its pinch-zoom in and out feature, which makes zooming in on specific areas easy and fun.

The iPhone’s Safari browser supports AJAX, but not Flash 9, so you can’t play Flash games or view Hulu movies (and we don’t think Apple would like it if you could, either). The Safari browser performed well during our tests, but it wasn’t nearly as quick as Skyfire, which loaded most pages in under half the time it took the Safari browser to load them in.



A very interesting timeline of Browsers

See the evolution of old and new browsers, the way different softwares split from others in time only here: http://upload.wikimedia.org/wikipedia/commons/7/74/Timeline_of_web_browsers.svg

21 About:Config Tricks For Firefox 3

Firefox 3

Firefox 3 one of the maximum downloaded open source browser which has set a Guinness world record. Their were Over 8,000,000 downloads in 24 hours!. Along with Firefox 3 Spreadfirefox also got new cool look.

Firefox 3 about:config file is the core configuration file of Firefox. By editing about:config file we can get amazing hacks for Firefox 3. Firefox allows the users to change many preferences in the about:config file so it’s totally ethical to do it.Here is list of 21 Firefox 3 hacks & tweaks.

To get the Firefox 3 configuration file type “about:config” at address bar.

Firefox 3 about:config hacks

Here is List of about:config hacks for Firefox 3

1) Disable Extension Compatibility Checks
extensions.checkCompatibility = False
extensions.checkUpdateSecurity = False

2) Location Bar (Set number Auto Complete URL at Address Bar)

This is a good hack to trim down that huge auto-complete list on your URL bar. By default it displays maximum 12 URL

browser.urlbar.maxRichResults = #

Enter Number at # (3,10,12 etc)

3) Stop Displaying Website Icon (Favicon) in Address bar & On Tab

browser.chrome.site_icons = False

4) Disable Prefetch (Helpful for frequent Google searcher, low-speed internet connection or low RAM)

network.prefetch-next = False

5) Extend Spell check to forms

layout.spellcheckDefault = 2
Change Value from 1 to 2

6) Disable Blinking Text

browser.blink_allowed = False

7) Speed Tweaks

network.http.pipelining false to true
network.http.pipelining.maxrequests 30 to 8
network.http.max-connections 30 to 96
network.http.max-connections-per-server 15 to 32
network.http.max-persistent-connections-per-server 6 to 8
network.http.pipelining.ssl false to true
network.http.proxy.pipelining false to true

8 ) Disable Annoying Browser Behavior

dom.disable_window_open_feature.menubar
dom.disable_window_move_resize
dom.disable_window_open_feature.titlebar
dom.disable_window_open_feature.toolbar

Set all of above to value False

9) Remove Tab Close Button from all Tab and set A single Close Button at Right

Remove Tab Close Button

Remove Tab Close Button

browser.tabs.closeButtons = 3

Single Close Button to control all Firefox Opened Tabs. (value should be 3 and not 2 Thanks Andreas )

10) Disabler Browser Toolbar Tip

browser.chrome.toolbar_tips = False

11) Show More Tabs on Single Firefox Window before Scrolling

browser.tabs.tabMinWidth = 75

Setting lesser value with reduce Tab width

12) Past Copy Content with Middlemouse Click

middlemouse.paste = True

13) Scroll webpage in One Go

mousewheel.withaltkey.action=1

14) Disable Delay Time While Installing Firefox Add-on

security.dialog_enable_delay = 0

(Zero is number of seconds Firefox should wait while installing Add-on)

15) Increase History Undo Close Tab Limit ( Recently Closed Tabs )

Increase History Undo Close Tab Limit

browser.sessionstore.max_tabs_undo=15

By default you can undo 10 recently closed tabs inorder to increase your history closed tabs. Change number 13 to as per your choice.

16) Open Firefox Default Search Bar Result in New Tab

browser.search.openintab=True

17) Right Click View Source in Your Favorite Editor

view_source.editor.external=True
view_source.editor.path= Path of Editor

(e.g. path C:\Program Files\npp.4.8.2.bin\notepad++.exe)

18) Enable/Disable Single Click to Select Whole URL in Address bar

Single Click Select URL Select

To Enable Single Click Select URL of address bar use the below about:config Tweak

browser.urlbar.clickSelectsAll = True

To disable Single Click Select

browser.urlbar.clickSelectsAll = False

19) Emule/ed2k link association (Linux users)

network.protocol-handler.app.ed2k= /usr/bin/ed2k
network.protocol-handler.external.ed2k = true

20) Fast Scrolling Across Tabs

Fast Scrolling Across tabs

toolkit.scrollbox.scrollIncrement =75

( 75 is number of pixels to scroll at a time when scrolling the tab strip’s scrollbox. (Default: 20)

21) Auto Complete URL while You type at address Bar

Auto Complete URL

browser.urlbar.autoFill=True

Many of above about:config hacks are available in Older Firefox Version, at the end if some thing goes wrong then feel free to restore your about:config to older setting see the below image of how to restore about:config

Restore Firefox about:config

Hope you guys like this Firefox 3 hacks, If you have any tips or hacks related to Firefox 3 about:config, hacks, tweaks do let me know I will include it in above list.

Maximize Firefox Using about:config

you type about:config in your address bar, Firefox opens the master directory of user-defined preferences and built-in settings. The ultimate arena for performance tampering, the about:config settings are the foundation for programming Firefox extensions.

We’ll show some simple about:config modifications below. Even if the word “Boolean” means nothing to you, we’ll try to make it easy to understand about:config settings. For power users, Mozillazine.org has a comprehensive list of about:config settings, their meanings, and how to modify them. Btw, although the screenshots below were made on a Mac, all of these hacks work for Windows users too.

To modify about:config, pull it up using your address bar. The settings appear in a searchable list view.



Type a string into the search bar for a live sort. To modify the setting, right click on it and choose Toggle for a boolean value or Modify for an integer or string.



Change the setting as desired, and simply restart Firefox to use the new configuration. (There’s no need to save.)

The first two tips below were adapted from a great tutorial by Gina Trapani at Lifehacker, and they’ll help you dip your toe into the about:config waters. We’ve chosen the easiest and most useful mods from her list. A very old guide (2004) to about:config modding at TweakFactor is still good in places; we’ve reviewed and modfied some tips below as well.
1. About:config - fetch only the content you view

Firefox 2.0 and later likes to prepare itself for the next link you may click; to make clicked links load fast, it pre-loads content from pages which are linked to the page you’re currently viewing. Pre-fetching only occurs when the browser is idle, so it shouldn’t affect your bandwidth. Bear in mind that the makers of browser extension Fasterfox seem to think pre-fetching speeds things up. If you find this pointless and/or creepy, you can turn it off.

-In about:config, pull up network.prefetch-next.
-The default value is true. Right click and toggle it to false. Restart Firefox and enjoy.

2. About:config - limit memory usage

On both Macs and PCs, our favorite browser can be quite the RAM hog. Tame the beast with browser.cache.memory.capacity. This preference must be added to your list; it won’t appear by default.
-First, check your memory usage with about:cache?device=memory in the URL bar. The window will display your current settings and the current cache contents. In the settings below, Firefox’s current maximum storage size is 1 percent of the RAM capacity of the computer.



-To change the amount of memory that Firefox can use, open about:config and right-click in the window New ? Integer.
-Enter browser.cache.memory.capacity as the preference name.
-Enter a value in KB. (There’s a handy calculator here.) Computerworld has a 2006 article about Firefox memory usage to guide you.

3. About:config - Hotrodded broadband with network preferences

Mozillazine.org (which isn’t an official Mozilla publication, btw) lists preferences that can be used to “fine-tune performance.” Among these are the:
network.http.max-connections
network.http.max-connections-per-server
network.http.max-persistent-connections-per-proxy
network.http.max-persistent-connections-per-server

Most of the above preferences control the number of simultaneous connections your browser can make with an HTTP server. (HTTP protocol is the communication interface used for the vast majority of web surfing.) Some unscrupulous or uninformed commentators will tell you to jack up the number of possible connections as high as you can. However, this can lead to problems for both you (the web surfer/client) and the web pages you view (HTTP server).

“If you raise [the number], do it reasonably,” writes user lazlo in the Mozillazine forums. “Changes like these are at least partly responsible for the infamous /. effect [which crashes servers during high traffic.]” Some servers will even ban your IP address if you overclock your settings too severely, so be a good net citizen and don’t hog.

network.http.max-connections
-Controls the number of simultaneous possible connections using the HTTP protocol (used for most webpages). Default setting = 24

network.http.max-connections-per-server
-Controls the number of simultaneous HTTP connections possible with one server. Default setting = 8

If you’re using a gateway (a.k.a. proxy server), the preferences
network.http.max-persistent-connections-per-proxy
network.http.max-persistent-connections-per-server
controls the same settings as network.http.max-connections and network.http.max-connections-per-server. If you don’t know what a proxy server is, you’re probably not using one.

4. About:config - pipelining for faster page loads (maybe)

Normally, your computer issues HTTP requests one at a time, waiting for a server response before sending the next request. Pipelining allows multiple requests from your computer to flow out without waiting for the server responses. Your computer (the client) handles the responses in the same order that the original request was received.

Depending on your web usage, pipelining can mean that you perceive a faster load time.
Imagine the difference between a constant conversation in which each side pauses and waits for the other’s response, and an exchange with one side making a long speech and then waiting for the other side’s long speech in response. It may seem faster to you or it may not.

Note that some pages may not be built to the HTTP 1.1 standard required for pipelining and may not be able to handle it. They may just refuse to load.

To try your luck with pipelining, open about:config and access
network.http.pipelining
-Default = false. Toggle it to true.

To bump up the max number of requests in a pipeline, access
network.http.pipelining.maxrequests
-Default = 4. Enter a value from 1 to 8. (1 will disable pipelining.)

(To turn on pipelining from behind a proxy server, access
network.http.proxy.pipelining
-Default = false. Toggle to true.

Incidentally, the W3C (the international standards organization for the World Wide Web) hasn’t updated its pipelining standards since 1997. For a more technical explanation of pipelining features, benefits and drawbacks, check out this FAQ by Mozilla developer Darin Fisher.

5. About:config - reduce page rendering time

Typically, as a web page loads in a browser, the downloaded elements appear one by one (are “rendered”). The nglayout.initialpaint.delay preference designates the number of milliseconds before Firefox begins to render or “paint” the page. The default 250 ms settings compromises between dial-up users, who benefit from longer paint delays, and broadband users, who don’t. In a recent Mozilla developer discussion of the setting, user chob wrote:

“Setting [nglayout.initialpaint.delay] to 0 can mean as soon as the server sends the first byte, Firefox tries to parse this and start layout, but of course it takes time for enough HTML to come back for Firefox to render anything worth seeing.

“Setting a value to 0 probably just means Firefox chews a little more CPU time as it tried to render and reflow before having enough data to show anything meaningful. Although it probably gives the impression of being slightly more responsive because the page starts to render quarter of a second earlier.”

Create nglayout.initialpaint.delay in about:config as a new integer preference.



Default = 250. Broadband users can try a setting 0 – 100, while dial-up users can try 275 or higher.

6. About:config - mod Firefox responsiveness while rendering

After nglayout.initialpaint.delay has been created and modified, Firefox may speed up rendering while annoying you with constant adjustments as you scroll through that new content. The preference content.switch.threshold controls Firefox’s responsiveness to your input (i.e. responsiveness to the UI) at the expense of slightly slowing the page load. Since you’ve already minimized the page load time with tips 2, 4, 5, and 6, that shouldn’t be too much of a sacrifice.

Firefox has two modes of user interaction with web pages that are still loading: high frequency interrupt mode and low frequency interrupt mode. The high mode better tolerates user interactions with the content. What content.switch.threshold ontent.switch.threshold controls is the number of microseconds of inactivity that will activate low frequency interrupt mode. In other words, it controls how long you have to do nothing before Firefox assumes you are waiting for the whole page to load.

To mod content.switch.threshold
-First, make sure that preferences content.notify.ontimer and content.interrupt.parsing are set to true (their default setting). (You can learn about these settings at Mozillazine’s Content.switch.threshold page.)
-Next, create content.switch.threshold as a new integer preference. Default = 750,000. The range is 1 to 1,000,000.

Just don’t forget that as Mozillazine.org says, “raising the value will make the application more responsive at the expense of page load time.”

This tip is based on a tip from TheHowToGeek.

7. Backup your preferences

Now that you’ve tinkered to your heart’s delight, protect the ones you love – your user preferences – by backing them up. This info is adapted from the Mozilla guide to Firefox user profile backups.
-First, locate your Firefox user profile.



The string xxxxxxxx represents random characters assigned by the OS as the name of your profile. Don’t worry; there’s probably only one user profile in the folder anyway, so it shouldn’t be hard to find.

-After locating the profile file, close Firefox.
-Copy the file to the backup media.

Ta da!

Restoring from a profile backup is also easy (usually). Mozilla advises here.

8. Modify about:config speed settings in one step - Fasterfox extension

All of that sounds like a lot of work and a lot of tinkering. Maybe another extension wouldn’t be so bad after all. Fasterfox tweaks many of the above settings and more. Now that you understand a few of the about:config settings, you can steal from the Fasterfox about:config mods to make more changes. Several possible about:config preference settings from Fasterfox, based on your connection and CPU speed, are listed here.

Firefox 3 configuration tweaks in about:config

Firefox 3 comes with several preferences baked into its options dialogs, but there are still a few you can only access by rolling up your sleeves and digging into its configuration manually. Power users have been diving under Firefox's hood to get their browser to behave just how they like since version 0.9, but Firefox 3 offers some new settings that customize its new features. Let's take a look at our favorite Firefox 3 about:config tweaks for customizing your browser.

What the heck is about:config? Firefox keeps its advanced settings in a giant configuration file in your Firefox directory, and even offers an advanced interface to edit that file in the browser itself. To make these changes, type about:config in Firefox's address bar. You'll get a half-joking, half-serious message about voiding Firefox's warranty if you change any settings. Press the "I'll be careful. I promise!" button (because you will be) and you'll be on your way. Warning: Keep track of what settings you change where in about:config, because one false move can make your browser go loony. You'd do well to back up your Firefox profile first before proceeding.

Got all that? Onto the tweaks.

Set Firefox 3 to use Gmail as your default mailto: link client. When you come across a clickable email address on web page, you don't have to copy the address, switch to Gmail, hit Compose on a new message, and paste it into the To: box. Firefox 3 can now register web applications like Gmail to handle certain link types. This trick isn't exclusively an about:config tweak—it involves some Javascript as well—but in the end you'll be able to click an email link and automatically launch a new Gmail message. Here's how to set Firefox 3 to launch Gmail for mailto links.

See richer image colors by enabling color profiling support. Firefox 3 can support advanced color profiles in digital photos, but ships with the feature turned off by default because it can cause a performance hit. If you've got a fast machine, and view digital photos online that look washed out because they're using a non-sRGB profile, you can set gfx.color_management.enabled equal to true to see richer colors. Here's more on this (somewhat controversial) color management tweak.

Tweak the AwesomeBar's suggestion algorithm. You've been living with Firefox 3's smart location bar (aka "AwesomeBar") for over two months now. Does it make the right suggestions for you? If you want to rank your bookmarks higher than your history—or vice versa—here's how to tweak about:config values to customize the AwesomeBar's suggestions algorithm.

Adjust the Smart Location Bar's number of suggestions. Speaking of the "AwesomeBar," if you wish the suggestion drop-down contained just a few more or less options, in about:config, enter browser.urlbar.maxRichResults in the Filter field to set this preference.

Make your bookmarks available to Launchy and Quicksilver. In the upgrade from Firefox 2 to Firefox 3, keyboard launcher maniacs may have noticed that their Firefox bookmarks didn't show up in Launchy or Quicksilver options on search. That's because Firefox 3 stores its bookmarks differently than Firefox 2 did. Here's the configuration setting that will make Firefox 3's bookmarks available to Launchy and Quicksilver.

Increase Firefox 3's popup count. Even though you told Firefox 3 to allow pop-ups from a particular domain (like Google Reader), it maxes out after 25. If you're sick of Firefox limiting your pop-up count to 20, adjust the dom.popup_maximum key about:config value to something higher (like 2000).

Change the URL bar's behavior. When you click on Firefox 3's address bar, the browser automatically selects the entire URL there. If you'd rather your mouse pointer just appear where you clicked, set browser.urlbar.clickSelectsAll to false in about:config.

Oldies But Goodies

While you're in about:config anyway, might as well set a couple of our favorite non-Firefox 3 preferences, too.

  • Disable binking text. When the blink tag's got you down, you can save yourself from seizure and suppress blinking text forever.
  • Enable spell-checking in text fields. Firefox can spell-check as you type, and does by default in text areas, but not one-line text fields. In about:config, set layout.spellcheckDefault value equal to 2 to enable spell-checking in single line input fields as well as text areas.
  • Skip the add-on installation delay. When you're installing extensions left and right (and you know what you're doing), you don't want to wait for Firefox's built-in four-second countdown to complete before the Install button gets enabled. Here's how to skip the installation delay for Firefox extensions.

Friday, September 12, 2008

Greasemonkey for Chrome?

Greasemetal is a userscript runtime for Google Chrome. The runtime hosts userscripts (tiny javascript files that modify the webpages being displayed) to be executed on Google Chrome, similar to what Greasemonkey does for Mozilla Firefox, or Greasekit does for Safari.
Greasemetal is developed by Kazuho Oku as part of his research activity at Cybozu Labs, Inc., a public software compary in Japan. Greasemetal is licensed under GNU Public License version 2.

How does it Work?

Google Chrome does not provide any interface to develop browser addons. Greasemetal modifies the behaviour of Google Chrome using an inter-process communication channel called AutomationProxy, which is used for automatically testing the functions of the web browser.

Using Greasemetal

To start using Greasemetal, download and execute the installer.
After installation, launch Greasemetal from the start menu. Greasemetal will in turn start up Google Chrome, while hooking its behaviours to insert userscripts.
Once you have started running Greasemetal, add userscripts to the userjs directory under your My Documents folder (or Documents folder on Windows Visa). If you are unfamiliar with userscripts, a number of scripts are available from userscripts.org.

More Information

Source code of Greasemetal is available at http://kazuho.31tools.com/svn/chromemonkey/. For more information, please refer to the developer's weblog.

In the next release:
  • eliminate generation of unnecessary log files and error messages (as much as possible)
  • add management UI for userscripts
  • add some kind of error logging for debugging userscripts
Also there is a plan to add support for most GM_* functions, if not all of them (it might not be in the next release, though).



Google Chrome vs Mozilla Firefox

Finally, Google Chrome is out of the box and into the sunlight for us to play. So, I did install it and started playing around. Since there are many sources which describe the features of the browser, I thought I would do an initial comparison with my current browser instead. Here we go.

Chrome vs Firefox

First of all I should mention the setup. When I installed Chrome, I chose to import all my settings from Firefox to Chrome (bookmarks and history included).

Start up Time

On my computer, Firefox takes 8-9 seconds to start and be ready for use. Chrome on the other hand took about a split second to be up and running. And that’s not all of course, it also shows me the most visited site in its default view when it opens.

Chrome is faster by orders of magnitude in starting up as compared to Firefox.

Memory Consumption

After starting both, they end up taking similar amounts of memory to begin with (around 50 MB). However, Chrome is running one extra process (when I view it in my Task Manager). It turns out that chrome fires up one process for every tab that is open (plus one to manage all of these tabs).

Next, I opened up 10 different web pages in 10 different tabs on each browser (the same set on both). Here, Firefox shot up to 132 MB, and chrome opened up multiple processes (one per tab), the total memory for all of these added up to about 230 MB.

Chrome is more memory hungry as compared to FireFox.

However, when I closed all the tabs (except one), Chrome quickly went down to 20 MB, but FireFox went down only to 96 MB.

Firefox takes much longer to release memory resources.

I have to say that there is some smarts behind creating each tab as a separate process:

  • Stability – I think this would make the browser more stable. In Firefox, sometimes if one site is misbehaving, then I need to kill the browser (and along with it all the other tabs which are open).
  • Security – initial thought suggests, that it will make each tab a bit more isolated from the rest, so may end up making the browser more secure.

Update: In fact, having multiple processes for multiple tabs does help in stability a lot. There is a develop menu in Chrome which lets you access its inbuilt Task Manager. Here I can select and close individual tabs. Eat your heart out Firefox.

Usability Observations

There are some other things that I checked which were important to me from a usability perspective:

  • Chrome has more real estate as compared to Firefox another thing I liked about Chrome is the increased real estate. Chrome puts the tabs on the Title bar of the window. This adds even more real estate for the part which displays the content. Also consider the fact that there is no status bar. Another point for adding real estate. The status shows up within the page.
  • Zooming is better in Firefox – I love the way Firefox zooms the entire page instead of just increasing the text size. It’s very handy on my resolution (1920×1200). Instead, Chrome only increases the size of the text, without expanding the layout, which makes the page pretty unreadable after a point.
  • Offline Page Caching is better in Firefox – this is another feature in Firefox which I love. Even if I am offline, Firefox will serve a page from the disk (as it was viewed last) for most of my pages.
  • Address Bar Readability is better in Chrome – Chrome highlights the domain name of part of the website you are visiting (or fades the rest) so that it is very easy to tell which site you are visiting when there are long URL’s that can distract you.
  • Resizable Text Area in Chrome – all text areas in the various web pages have a size handle on them which allows you to change the size. Not extremely useful, but it may come in handy at times. Take a look at the picture below to see what I am saying:

Chrome

Notice the resize handle on the lower right of the text box. This is the comment box on TechCrunch.com. I can make the box bigger.

Try out Google Spreadsheets, and every cell is extensible like this.

Not very useful, at this stage. But I can imagine this coming in handy on certain web pages.

Application Shortcuts

This deserves a mention on its own. While I can always do this with the other browsers, I will have to put in a lot of effort. And earlier on, it won’t be worth the hassle. However through Chrome, I have the following on my Quick Launch bar:

quicklaunchNotice the Icon with the tool tip. When I click that icon, my gmail account opens in its own nice Chrome Window (and once I have sized it, it remembers the size per such application shortcut). So, now I don’t need to open a browser to visit my most used applications (notice the icon next to Gmail launches my analytics account). When I click on the icon, it launches the following Window:

Pretty neat, I think. I have now a bunch of these ‘web applications’ that I use regularly with their own icons on my quick launch bar (and mapped to my SlickRun). Like I said, the fact that this is so easy to do makes it a worthwhile activity (it takes three clicks).

I am sure there are many more things that I will find which are different between the two browsers, and I will update this post as I find them. So keep checking back.