Saturday, November 1, 2008

Google Chrome 64 bit - Finally

Ubuntu/Debian Instructions

To start with, the package ia32-libs contains binaries needed to run 32-bit software in /usr/lib32. But there is no accompanying ia32-libs-dev package. You can work around it by:

Installing the 64-bit -dev package to get the headers.
Setting up ia32-libs symlinks in /usr/lib32 to make the linker happy.
Manually installing some 32-bit libraries as well.
For the second step, a recipe like the following (as root) does the trick:

cd /usr/lib32
for lib in gdk-x11-2.0 atk-1.0 gdk_pixbuf-2.0 \
pangocairo-1.0 pango-1.0 pangoft2-1.0 \
gobject-2.0 gmodule-2.0 glib-2.0 gtk-x11-2.0; do
ln -s -f lib$lib.so.0 lib$lib.so
done
ln -s -f libcairo.so.2 libcairo.so
ln -s -f libfreetype.so.6 libfreetype.so
ln -s -f libz.so.1 libz.so
ln -s -f libfontconfig.so.1 libfontconfig.so
Now, we need to manually install some 32-bit libraries that Ubuntu doesn't have packaged. I put them into /usr/local/lib32, and then told ldconfig to look there for more libraries, so that my manually installed ones wouldn't get mixed up with the package installed ones in /lib32 and /usr/lib32.

mkdir /usr/local/lib32
echo "/usr/local/lib32" > /etc/ld.so.conf.d/local-32.conf
For each of the following libraries, you need to:

download the i386 package from packages.ubuntu.com.
unpack the package to get at the contained library files (I usually just use 7zip).
move the files that the package would put in /usr/lib into /usr/local/lib32
create symlinks to the libraries' base names.
The libraries you need are libnss3-1d, libnspr4-0d, and. As an example, to set up libsnpr4, you would:

7z x libnspr4*deb
tar -xzvf data.tar.gz
sudo mv usr/lib/* /usr/local/lib32/
cd /usr/local/lib32
sudo ln -s libnspr4.so.0d libnspr4.so
sudo ln -s libplc4.so.0d libplc4.so
sudo ln -s libplds4.so.0d libplds4.so
sudo ldconfig

http://code.google.com/p/chromium/wiki/LinuxBuild64Bit

Tuesday, September 16, 2008

7 Reasons For and Against Google Chrome

It may be a Canadian election year, and we're not just talking Conservatives and Liberals. The battle of the browsers is getting fierce, and Google wants you to sign up for its campaign.


The first beta of Chrome, Google's long-in-development Internet browser, became available Tuesday afternoon for Windows Vista and XP users, with Mac and Linux editions soon to follow. There's ample reason to be excited about the release, and just as much reason to be wary. Check out these screen shots, weigh the pros and cons, and then decide for yourself.

For further PCWorld.ca coverage of Chrome, see "Google Chrome Web Browser" and "Chrome vs. the World".

Seven Reasons Chrome Could Be Cool

1. It won't crash.

Perhaps Chrome's biggest draw is its multiprocess architecture, which, in a nutshell, protects you from having a bad Web page or application take your browser down. Every tab, window, and plug-in runs in its own environment--so one faulty site won't affect anything else that you have open. This approach also adds another layer of security by isolating each site and application within a limited environment.

2. It's really fast.

Again because of the multiprocess foundation, one slow site won't drag down the rest of your browsing. Instead, you can effortlessly click to another tab or window. With plug-ins, the arrangement works similarly: If you open a site that has a slow-loading Java ad, for example, the Java itself will be isolated and the rest of the page won't be affected. The program itself opens within seconds of when you click the icon, too--a distinct advantage over some slower-loading alternatives.

3. You barely notice it's there.

Calling the design of Chrome's interface streamlined is an understatement. The program barely looks like a program, and the vast majority of your screen space is devoted to the site you're visiting--with no buttons or logos hogging space. Chrome's designers say that they wanted people to forget they were even using a browser, and it comes pretty close to achieving that goal.

4. It makes searching simpler.

One of Chrome's signature features is its Omnibox, an integrated all-purpose bar at the top of the browser. You can type in a URL or a search term--or both--and Chrome takes you to the right place without asking any questions. Omnibox can learn what you like, too--a talent that goes beyond the obvious automatic completion function. Say that you want to use the PCWorld.com search function, for example. Once you've visited the site once, Chrome will remember that PCWorld.com has its own search box and will give you the option of using it right from Omnibox. The function thus automates keyword searches.

5. It gives you more control over tabs.

Chrome gives the idea of tabbed browsing new power. You can grab a tab and drag it out into its own individual window. Or you can drag and drop tabs into existing windows to combine them. Chrome also gives you the option of starting up in any tab configuration you want--whether a custom setup or the set of tabs you had open in your previous session. Other browsers require third-party add-ons to provide this capability.

6. It opens new doors on your home page.

Chrome comes with a default dynamic home page. As you use it, the program remembers the sites that you visit most often. The top nine of those appear in snapshots on your home page, along with your most commonly used search engines and bookmarks. There's no force-feeding here, though: You can override the dynamic home page with any home page you want, just as you can set the default search engine to any service you prefer.

7. It lets you stay incognito.

Like Internet Explorer 8's recent beta release, Chrome offers a private browsing option--one it calls Incognito. You can open a special type of new window and rest easy knowing nothing you do in it will be logged or saved on your computer. And unlike Internet Explorer's, Chrome's Incognito window is isolated from the rest of your browsing experience, so you can have your private window open alongside your regular windows, and each will operate independently.

Monday, September 15, 2008

64 bit Support

Chromium currently isn't supported by 64-bit platforms. 64-bit support would be nice to do in the future, but there are some hurdles.
Fundamental

* Many binary-only plugins are only available as 32-bit libraries, which means the plugin processes must remain 32-bit. On Linux this is already addressed by nspluginwrapper.

Issues that can more easily be fixed
In descending order of difficulty:

* V8 generates x86 code; it needs to be taught a new architecture. Workaround could be using JSC, but that negates a large benefit of Chromium.
* The Windows Sandbox is very "hardcoded" on the OS structure and native function prototypes. It would require significant work to make 64-bit safe.
* Chromium hasn't been made 64-bit safe. Though it probably isn't too much work, it's not worth doing until the other pieces are in place. This includes making the IPC system cross 64-bit/32-bit compatible for communication with plugins.
* Changing the installer to include both 64- and 32-bit binaries.
* Perhaps other third-party libraries don't work? But most of them are open-source and already work fine on 64-bit Linux.

Source : http://dev.chromium.org/developers/design-documents/64-bit-support

Thursday, September 11, 2008

Chrome is not supported in Windows 2000

I was participating in a chrome dev forum and was shocked when I stumbled on this.
"Chrome will not be supported in Windows 2000".

If you sit back, relax and give it a thought, probably that's okay not to support Chrome in Windows 2000. There is hell a lot of difference between xp and 2000. There are lots of API which are supported in Windows xp but not in Windows 2000. Assume if we give support to chrome in windows 2000, there will be other platforms which will be affected by this. (The code might become bulkier and the complexity might increase).

So It's a good call by Google not to support Windows 2000.

Wednesday, September 10, 2008

In Chrome every tab is a new process

The best thing which I like about Google Chrome is that every new tab is a new process. The advantage is that if one Window crashes the rest of the window would still continue to work fine.

There are several debates going on around this as to which is the better model. It is like a question "does apples taste good or oranges taste good??" It depends on person to person.

For people who are doing crucial stuffs in different tabs, I would say that Chrome is the best.

screen shot of the task manager showing different processes

Tuesday, September 9, 2008

Getting around the Google Chrome source code

I had tuff time when I downloaded Chrome on the first day. There wasn't much documentation to help me (or I didn't find this link).

http://dev.chromium.org/developers/how-tos/getting-around-the-chrome-source-code

This is one piece of awesome resource that one needs to start playing with Chrome.
This article explains in detail about the different files in teh source code and their respective logic and funtions.

It is such an extensive resource and i would certainly recommend you to look at it before you go into the code.

How to contribute to Chrome

This is the best place to get started if you want to contribute to Chrome.
http://dev.chromium.org/developers/how-tos/getting-started

If you follow the steps mentioned in the link above, you will be ready to compile and play with Chrome.

Trace it, break it and debug it to know more about the internals of Chrome.

Alternate resources :
http://dev.chromium.org/developers

Watch our for my blog, I am planning to discuss few exciting things about internals of Chrome .