Wednesday, June 22, 2011

Web Browser Thoughts: 64-bit Firefox, portable Chrome and Unfreezing Chrome Browser

Firefox 5 browser for desktop and mobile devices, has been released to the "stable" tree, as fruition of the first "Rapid Release" cycle. With this version's release , Firefox 6 would move up to Aurora from Channel, while Firefox 7 remains at "nightly" alpha builds for now.

With rapid releases, the changes between versions are not nearly as much, so you can be fairly sure that a Firefox 4 extension/addon will still work on Firefox 7. On a related note, beta1 of Thunderbird 5.0 has also been released.

It has been bothering me that other than Internet Explorer which has had a native 64-bit version since v6, no other (big name) browser actually seemed to care about 64-bit native versions. Understandably due to a chicken-and-egg situation (with "no Adobe Flash for 64-bit" being the oft-cited excuse). Mozilla itself had a proper Intel 64-bit (x86_64) variant of Firefox available for Linux and OSX, but not Windows. Pretty much the same applied to Google Chrome (to be precise, the Chromium project).

But now, those who want a native 64-bit version of Firefox on Windows can get it from the Nightly builds. You'll need the Microsoft Visual C++ 2010 Redistributable Package (x64) installed too.

Google Chrome Browser and how to make Chromium portable:
The other recent stable release of an alternative browser was Google Chrome 12. If it annoyed you that the installer offered for it was always a 500-odd KB web installer, then here's a direct link to the official Stand-alone and 3rd-party Portable version installers. But as usual, I refuse to let a pre-packaged portable installer dictate even the best terms to me. Below is what I suggest instead:

1. Download a relatively stable Chromium build from BuildBot or Softpedia.
2. Install it to the directory you like, preferably outside of C: drive, to be able to retain it between OS re-formats.
3. Now you may want to pre-configure it before distribution, or make it portable to prevent user profile files from landing up at the %AppData% folder. You can use a batch file for this, or an LNK shortcut.
4. Test your batch file by creating a text-based batch file named "portable.cmd" in the same folder as Chromium's EXE itself. The command is:  start Chromium-folder/chrome.exe --user-data-dir="User Data"
5. Click it, verify that no files are created in the %AppData% folder, and that your user profile is created within the program's folder itself.
6. Adapt the same command for a Desktop/Start Menu shortcut by using full/absolute paths, using System Variables did not seem to work for me. For example, the shortcut target must be
D:\Programs\Chromium\chrome.exe --user-data-dir=D:\Programs\Chromium\UserData
with a Start In folder value of D:\Programs\Chromium\
7. That is all. Note that the quotes as mentioned in the example command above, are to be used in case your folder path name has spaces. Of all the additional switches that could be used, I thought these two were the most deserving of mention: -disable-java and -incognito (what the switches do is obvious).

Next up, if you want to customize the UI by default, the method on Chrome 0.2 used to be as follows:
Dress up Google Chrome to your liking by downloading a Chrome theme and saving its default.dll file into the application's Themes directory - C:\Users\UserName\AppData\Local\Google\Chrome\Application\0.2.149.29\Themes\
That technique did not work for themes or WebStore apps, so going onwards to the next now.

Whereas Google Chrome has Adobe Flash included, Chromium does not. Pre-configuring the browser means NOT having to hope that your target PC will have the Flash plugin installed. Solution is as described below:

1. Download and install the latest version of Adobe Flash plugin (not ActiveX, which is only for IE).
2. Now from the folder C:\Windows\System32\Macromed\Flash get the files NPSWF32.dll and NPSWF32_FlashUtil.exe - copy and paste these somewhere temporarily.
3. Go to the folder D:\Programs\Chromium\Plugins (create the "Plugins" folder if it's not already present) and paste the two files that you copied in Step 2.
4. That is it. You might need to install the latest Redist of DirectX 9.0c and copy two DLLs to the same folder as Chromium's EXE.

Recovering from a "Frozen" Chrome
If you open a lot of tabs, in Chromium's incognito mode, a browser freeze/crash leaves you unable to even recover tabs/URLs that were previously open, due to the nature and intent of incognito. Can get mighty frustrating indeed. When a number of tabs are open and you call upon the file "Save As" dialog box often, the browser inexplicably slows down in saving.

Eventually, when you right-click and "Save As", a situation arises where the expected dialog box does not show up, and the browser itself does not respond (this is normal behaviour, if the dialog box is in the foreground). In UX terms, it feels like a loop - the "Save As" has not popped up yet, and the browser is not responding to clicks either. This description is applicable to Windows 7 and Vista.

I tried a number of things, for the 3-4 times this occurred. Each time it got more irritating to lose everything that was ongoing in the browser tabs (face it, a lot of your PC usage nowadays is via browser). Here is the solution that managed to work for me, and has been working each time since the first time I tried it:

1. Make sure your Chrome/Chromium browser freeze is caused by a file "Save As" dialog box stuck in the background, being rendered invisible.
2. Finish up any work in other apps and close them. End processes and services that are non-MS and non-crucial for the moment.
3. Now the important part. End/TaskKill instances of explorer.exe one by one, before finally killing the task named dwm.exe (which renders the GUI).
4. You can now Alt+Tab your way through open apps/windows, but the Windows Taskbar has disappeared. Just as well, since the darned "Save As" dialog box will now be exposed and visible for you to either Cancel or Save the file.
5. Done. Chrome will now be resuscitated. You can bring back the Taskbar, normal Windows UI and other apps. Press Ctrl+Shift+Esc to bring up Windows Task Manager, click "New Task" in Applications tab, and type explorer.exe to do so.

Lastly, I wonder if there is a way to import/export Tabbed Browsing Sessions between different browsers?

Thursday, April 14, 2011

Assorted Thoughts of a Traffic-Clogged Morning

So I chose to blog about the traffic. Yeah right, so mundane. When more exciting times are upon us.

Such as Hazare's crusade for a super-empowered Lok Pal - and all I can think of in return to his kindly act is, "Those who forget History are doomed to repeat it", remember ancient Rome's "Dictator" post or its "Praetorian Guard"? Such as AMD's inability to capitalize on Intel's (relatively negligible) woes with the Cougar Point's SATA chip, and not try pulling ahead of at least the lower end Sandy Bridge processors, with its Fusion chips.

What has me exercised is the way barely a hundred people held up traffic for thousands of people on the Old Airport Road (Bangalore) this morning. The traffic police were present in considerable strength and re-routing vehicle flow. One side of the road was blocked out, and the other side was used for vehicles going in both directions. People on two-wheelers were delayed for a minimum of ten minutes, the larger vehicles for longer, and all this at peak-hour.

The village folk admittedly were only doing what they are entitled to. Conducting their "jaatre" or "thaeru", which is a form of "ooru habba". It comes once a year with a religious origin, in which the locality's "protector god" travels around the locality in a grand car. Lot of people volunteer their services in various capacities, lot of roadside hawkers get a chance to sell trinkets and candies, and residents watch the goings-on from within their houses or outside, some even dancing to the beat of the drums outside. The festivities start early, around 2 am in the morning, and wind up by 5 am in truly rural areas. Winds up by 6-7 am in villages that have been swallowed up by cities growing outward.

But not for these particular people, the concept of winding up. The sadistic concept of deliberately getting in your face to conduct these processions, officially blessed by the police, even as a number of traffic signals and roads get jammed, was seemingly so much more satisfying. Yes, we are a democracy where even a single person has the right to be heard. No, your right extends only so far as it does not trample upon mine.

Monday, March 14, 2011

Google Social Circle is a social mistake and violates privacy

So I noticed the "Google Social Circle" today.
And I do not like it. Not one bit.

It displays direct connections between me and my friends. That is, when I am logged into my Google account, it offers an "easy" central page to view profiles of all friends who are on my address book (or Chat) - and view content they have shared publicly or with me (Twitter, Flickr, etc).

Problem is, it also shows a list of "Secondary Connections" who are publicly associated with my direct connections. You could argue that i can already visit a friend's Google Profile page and then view a list of their publicly associated contacts on Buzz. Or that Twitter/Buzz/Flickr/FaceBook/WordPress/BlogSpot/their-own-domain are already on the public internet and you could track them down if you wanted to. But in practice, I doubt anyone other than contact harvestors and stalkers could have the conscience to do that.

As it stands, the Social Circle can strike out from just 64 contacts and show up 2510 secondary contacts. Short of email id itself, all the above and more are shown up. And shown up with a tracking line that shows which direct contact is a common friend. It is a lot like seeing a person's list of contacts right up front, with no effort at all.

That is scary, uncomfortable, and invasive of privacy. The least Google could have done (in the wake of the Google Buzz privacy fiasco) is to offer people a choice of whether they want to be shown up in such a list, and a choice of whether their "secondary connections" will be exposed on such lists. You can easily imagine sites/apps to pop up that make use of such a facility (or otherwise convert the HTML in some form into a usable API) and get users to sign in with their Google Account for access - Voila, instant personalized and demographic information!

Unlike FaceBook, where you add a friend knowing fully well that all your other friends can see the new addition, GMail contact lists are implicitly private. I explicitly signed on to FaceBook for social networking, and I explicitly knew that is not what I wanted my Gmail account to do - THAT is the CENTRAL DIFFERENCE. Chat/Buzz contacts may be visible to world but still some effort is required to scrape them, as against listing them ALL right up there. You could, at the least, opt out of Buzz, but with dependance on Google's services, how likely are you to shutdown your Google account in protest of this kind of a move by Google?

So yeah, bad BAD move, really evil, and leaving users feeling naked, is my opinion of Google Social Circle. Just leave me alone, give me back my privacy. In the future, take my permission before assuming it, even if you've been "graciously" offering me free services all along.