Wednesday, August 18, 2010

Recap on SeaMonkey 1.1 > 2.0 migration: Add-on caveats

Themes

Even if a profile is migrated, SeaMonkey 2.0 will default to its default theme. If you used a Modern theme (built-in), then you'll have to choose it from the Add-on Manager and restart SeaMonkey. The selection and amount of themes for SeaMonkey 2.0 is different than for SeaMonkey 1.x.

Extensions (this is the difficult part)

  • Extensions must be installed anew.

  • The whitelist of servers where extensions and themes can be installed from might not be migrated.

  • Globally installing an extension requires administrative rights.

    Unlike with Mozilla Firefox, whereby globally installing an extension installs it into every private user profile for all users of an operating system (so that there are multiple copies around of the same extension), doing this for SeaMonkey actually installs the extension into SeaMonkey's extensions folder that resides in the program's install directory.

    The pitfall is that a limited Windows xp user would then be unable to update a required extension for compatibility. I had that with two spelling dictionaries.

    The quick-and-dirty solution in my case was to temporarily set the user as administrator, update the extension for compatibility and then remove the user's administrator credentials. Bah.

    While global extension installation could potentially be very convenient in terms of getting to install only one extension at once for all profiles (=different SeaMonkey users), it does introduce a number of security and other considerations:

    1. One is that, for example, in Windows xp, SeaMonkey is installed into the Program Files folder, where limited users have limited rights, which means that they cannot update the extension, even for compatibility (can't modify folder contents).

    2. If SeaMonkey were installed into a public directory — such as
      C:\Documents and Settings\All Users\Documents — then the whole suite would be left vulnerable to tampering either by its users or a malicious program (both would have to have awareness of the program's different location).

    3. Change user access rights for relevant extensions' folders where they are in
      Program Files\SeaMonkey\extensions.

      A few words of caution: I have not tried this myself, but some of the user support forum topics related to SeaMonkey have suggested that limited users should be given rights to the whole SeaMonkey install directory, so that they would be able to update their extensions. I do not recommend giving rights to the whole program directory, but giving rights to limited users for only the extensions directories.

      While this would make SeaMonkey reasonably tamper-proof, the extensions would be the few to remain vulnerable to tampering.


      To easily see which add-on is installed into which folder, install the MR Tech Toolkit extension. It extends the Add-on Manager with lots of useful tools, but the function you need is "Browse install directory" when right-clicking an extension.

      Once the Windows Explorer folder for the extension is open, click on the folder whitespace, and on the Properties command. This should open the Properties window for the current folder. There, in the Security tab, click on Users from the Group or User names list and click on the Modify checkbox in the "Allow" column. Click the Apply button, but don't leave the window yet. Click the Advanced button and in the "Advanced Security Settings for extensionfoldername" list, verify that the set permissions for separate user(s) or a group of users apply to "This folder, subfolders and files".

      This action thus leaves SeaMonkey more-or-less tamper-proof, but may leave directories of specific extensions vulnerable to tampering.

    4. Best to install extensions separately into every profile? What if there are more than five users and what if a few of those users have more than one SeaMonkey profile?

  • I had trouble installing Flashblock from addons.mozilla.org, so I had to add flashblock.mozdev.org to the whitelist and install from there. No trouble installing NoScript from addons.mozilla.org.

  • As it usually is with SeaMonkey browsers, the Flashblock toolbar button will not show automatically. Instead of opening the Preferences window, click on any free space in the SeaMonkey toolbar, then on Customize... A Firefox-like toolbar customization dialog should show up and the Flashblock toolbar item can be added wherever a user chooses in the toolbar (the standard location was next to the Home button in the Personal Toolbar). Because the computer where I installed SeaMonkey 2.0 does not have a printer, I dragged the printer button off the toolbar.

  • Server whitelists for Flashblock and NoScript do not migrate automatically. I had to manually type in server names into the new Flashblock whitelist, but I think its file can be migrated (haven't checked how to do it). NoScript allows exporting the whitelist, so I did that from SeaMonkey 1.1 and imported the whitelist in SeaMonkey 2.0 after installing NoScript.

It has always been the developers' intention for Mozilla (later SeaMonkey, which became Mozilla's successor; and a branched-off Mozilla Firefox) to have global and per-user extensions.

Mozilla 1.0 finally came out on 05.06.2002. Seeing what Mozilla 1.0's (minimum) system requirements were (modest by nowadays' standards) can give a helpful glimpse into what kind of hardware and software people were using at that time.

This was an era when single-user operating systems in computers were still a norm: four years after the release of Windows 98 and two years after Windows Me was released. Hard disk capacity then (2001–2002) — well, roughly ten years back — was about 10% of what it is now (2010) and there wasn't any lack of people who used much older computers. It's duly possible that hard disk capacity was seen as a premium back then, because after Mozilla 1.0 was released, it was criticized for its bloat.

Mozilla 1.0's full installer for Windows was 9.8 Mb, releases for Linux were between 11.6–13.9 Mb, and release sizes for exotic operating systems ranged between 16–26 Mb. The size of the Windows installer was actually normal, because the installers for Netscape Communicator 4.x and Internet Explorer 5 weren't all that much more smaller, as both included bundled software.

I guess the bloat factor was two-pronged:

Those who lived through those times, can remember how Internet Explorer reigned supreme.

Actual software bloat

IE users eager to try out something new would probably perform a 'normal' install of Mozilla (or Netscape 6.X) and only thereafter discover that Mozilla wasn't only a browser, but an application suite with an extensive feature set, while Internet Explorer was duly perceived as a stand-alone program. And that the typical installs of Netscape 6.X would also bundle a number of other tag-along apps, like RealPlayer and AOL Instant Messenger.

In all actual fact, Outlook Express, Windows Media Player, Microsoft NetMeeting and various other bits were just as well bundled with large ('Normal'/'Typical') Internet Explorer installations, only that Internet Explorer was marketed by Microsoft as an inalienable part of the Windows operating system; other said programs were bundled as parts of Windows 95OSR2.x, Windows 98/Me and newer. Yet people launching Internet Explorer both on Windows and Mac knew and saw that they were only launching a browser and not a whole suite of applications (e-mail, newsgroups, chat/IM) they probably didn't have any need for.

Slow user interface responsiveness

Much of Mozilla's user-facing behaviour was based on Netscape Communicator 4.x, but its cross-platform user interface toolkit was completely new.

Netscape 6.X and newer were subsequently based on Mozilla's underlying code base. People used to Internet Explorer or even Netscape 4.x found Mozilla 1.0 as not particularly responsive compared to IE and Netscape 4.x and I know I can attest to that when seeing SeaMonkey 1.1.xx work on older hardware.

In terms of system resource usage, Mozilla 1.0 would run more-or-less properly on the kind of metal specified in its system requirements. Nevertheless, the new cross-platform user interface toolkit (intended to ease development, which I believe it did) was not native to any existing operating system and thus imposed a performance penalty on any hardware that wasn't top-of-the line. Hence the talk of bloat.

All this gave plenty of impetus for Mozilla developers to create a separate browser which eventually came to be Mozilla Firefox. And lo and behold, Mozilla Firefox 1.0 ran well and faster on even older hardware (CPU considerations aside).

To continue soon?


What is so great about SeaMonkey, is that the underlying technology didn't change much throughout the great ten years between Mozilla 1.0 and SeaMonkey 1.1.19, which really is proof of the package's superiour design considerations.

Friday, August 13, 2010

SeaMonkey 2.0 periodic slowdowns

After I migrated a Windows XP computer from SeaMonkey 1.1.19 to SeaMonkey 2.0.6, it turned out that the program experienced short, yet periodic slowdowns which were also evident in Process Explorer with CPU spikes that were related to the process.

The particular profile of SeaMonkey has the following extensions:
Flashblock 1.3.16, NoScript 2.0.1 and three spelling dictionaries.

As I surfed around to look for any kind of resolution, I stumbled upon the two most relevant forum threads, one in MozillaZine and the other on NoScript.

The best hint was given in this InformAction posting, where the workaround is to disable ABE (Application Boundaries Enforcer), which also disabled the holdups, but I hope for a better solution without sacrificing some on security.

Where to disable ABE:
NoScript Options > Advanced tab > ABE subtab > Remove checkbox at "Enable ABE (Application Boundaries Enforcer)"

Wednesday, August 11, 2010

Fun about Windows

The Guardian's Charlie Brooker:
“Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it.”
Source: Microsoft's grinning robots or the Brotherhood of the Mac. Which is worse?

Monday, August 9, 2010

Migrating from SeaMonkey 1.1 to SeaMonkey 2.0

What motivated me to migrate was that YouTube and GMail now use standards that supersede those supported by SeaMonkey 1.1. Yes, the latter is still in many ways a modern browser and application suite and really the last one that still works in Windows 95.

Yet it's become difficult to browse websites, such as Gawker, New York Times and E24.ee, which are very script-heavy and I don't like seeing pop-up notifications about "this or that script taking too long to load" without necessarily losing useful site functionality with NoScript.

As it usually is standard practice when upgrading software from one major version to another, the older major version is typically uninstalled first and then a newer version installed. Windows users may want to restart...


Now, with SeaMonkey versions 1.1 and 2.0 it's far more trickier if a user wants to retain (in effect, migrate) their profile data. The trouble with SeaMonkey 2.0 is that its profile migration is not as elegant as it is, for example, in an upgrade from OpenOffice.org 2.x to 3.x.

Here's why: For profile migration to work, SeaMonkey 1.1 must be set as the default browser. If a user uninstalls it (and dutifully keeps profile data), SeaMonkey 1.1 will cease to exist as an installed application and thus it won't be the default browser. Even if SeaMonkey is installed, but not set as the default browser, SeaMonkey 2.0 will skip the migration routine and will default to creating a blank default profile.

The good points:
  • SeaMonkey 1.1 and 2.0 can be installed side-by-side;
  • In an administrator account, setting SeaMonkey 1.1 as the default browser should work throughout all Windows profiles;
  • SeaMonkey 1.1 and 2.0 won't write to each other's profile data;
  • I forgot what the fourth point was.
Just in case, copy all SeaMonkey 1.1 profile data over to a backup location. Move the SeaMonkey (1.1) Program Files folder to another location. Quit all instances of SeaMonkey 1.1, including the QuickLauncher (removed in 2.0).

Install SeaMonkey 2.0. Don't launch it from the installer, but start the SeaMonkey 2.0 Profile Manager. If it shows the default profile, launch Sm 2.0 and see if it offers to migrate profile data. If not and if you won't see your old bookmarks, then profile data has not been migrated. Quit.

Start the SeaMonkey 2.0 Profile Manager again.
Just in case: Outside the Profile Manager, open the folder location of your old SeaMonkey 1.1 default profile. In Windows XP This should be

C:\Documents and Settings\Username\Application Data\Mozilla\Profiles\default\g1bb3r1sh.slt

Note that your actual profile folder contains other letters and numbers than g1bb3r1sh.slt, just that this is a useful example.

Note what the name of your SeaMonkey's default profile directory is. The purpose of this is to see if it's different from SeaMonkey 2.0's and if it is, then it's all fine.
Delete the existing new default profile in SeaMonkey 2.0, quit Profile Manager.

In a command line, go to SeaMonkey 2.0's installed directory, then follow instructions given in a MozillaWiki on SeaMonkey 2.0 profile migration:
  • Create a profile with exactly the profile name of your old [default] profile
  • and you should now get the migration dialog. Choose which profile to import data from.
Everything else should be relatively easy. Well, almost.
  • Extensions must be installed anew.
  • The whitelist of servers where extensions and themes can be installed from might not be migrated.
  • I had trouble installing Flashblock from addons.mozilla.org, so I had to add flashblock.mozdev.org to the whitelist and install from there. No trouble installing NoScript from addons.mozilla.org.
  • As it usually is with SeaMonkey browsers, the Flashblock toolbar button will not show automatically. Instead of opening the Preferences window, click on any free space in the SeaMonkey toolbar, then on Customize... A Firefox-like toolbar customization dialog should show up and the Flashblock toolbar item can be added wherever a user chooses in the toolbar (the standard location was next to the Home button in the Personal Toolbar). Because the computer where I installed SeaMonkey 2.0 does not have a printer, I dragged the printer button off the toolbar.
  • Server whitelists for Flashblock and NoScript do not migrate. I had to manually type in server names into the new Flashblock whitelist, but I think its file can be migrated (haven't checked how to do it). NoScript allows exporting the whitelist, so I did that from SeaMonkey 1.1 and imported the whitelist in SeaMonkey 2.0 after installing NoScript.
  • Even if a profile is migrated, SeaMonkey 2.0 will default to its default theme. If you used a Modern theme (built-in), then you'll have to choose it from the Add-on Manager and restart SeaMonkey. The selection and amount of themes for SeaMonkey 2.0 is different than for SeaMonkey 1.x.
  • Important: Since all cookie data is dutifully copied over during migration, then cookies which have it that a user is still logged in at some e-mail or other service, persist. This means that before migration, users should first log out from all of their services in SeaMonkey 1.1, if they haven't done so before.
  • The F10 keyboard shortcut to activate the menu does not work. Alt+menu hotkey does.
  • If you use a separate profile for private browsing, re-check your preferences and settings to see that they are all correct.
Otherwise, things should should work the same, just that all this careful migration work takes time.

Wednesday, August 4, 2010

Ctrl+V, Ctrl+C, Ctrl+X disabled, but Shift+Del/Ins & Ctrl+F not?

As the title suggests, it was one day impossible to cut, copy and paste in Windows XP across apps using Ctrl+X, Ctrl+C, Ctrl+V and to use left-Ctrl+PgUp/PgDn to move around tabs in SeaMonkey. Shift+Del, Ctrl+Ins and Shift+Ins worked, so did Ctrl+F, Ctrl+Q and a few other keyboard shortcuts.

The keyboard was Logitech Internet Pro Keyboard (iTouch Pro or somesuch).

I did do my standard run through tech forums (even a keyboard driver change) and scans with software (Spybot Search & Destroy didn't find anything). MBAM found a few things, I deleted them (the scan log of this well below).

LATER it turned out that the non-standard www button on the keyboard was STUCK. I had it moved to normal position and then using the Ctrl+... keys worked like a charm, even after a restart. Trouble was that I failed to test if the Ctrl+ keys also worked after the MBAM scan and correction.

* Some text is in Estonian.

Malwarebytes' Anti-Malware 1.46
www.malwarebytes.org

Andmebaasi versioon: 4387

Windows 5.1.2600 Service Pack 3
Internet Explorer 8.0.6001.18702

4.08.2010 10:19:46
mbam-log-2010-08-04 (10-19-46).txt

Kontrolli tüüp: Kiirkontroll
Kontrollitud objekte: 180205
Kulunud aeg: 9 minut(id), 31 sekund(id)

Nakatunud mälu objekte: 0
Nakatunud mälu mooduleid: 0
Nakatunud registrivõtmeid: 1
Nakatunud registri väärtusi: 1
Nakatunud registriandmeid: 0
Nakatunud kaustu: 2
Nakatunud faile: 0

Nakatunud mälu objekte:
(Pahavara ei tuvastatud)

Nakatunud mälu mooduleid:
(Pahavara ei tuvastatud)

Nakatunud registrivõtmeid:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Ext\Stats\{faad2038-c371-473d-86f1-5b11d39c3775} (Rogue.Multiple) -> Quarantined and deleted successfully.

Nakatunud registri väärtusi:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Network\uid (Malware.Trace) -> Quarantined and deleted successfully.

Nakatunud registriandmeid:
(Pahavara ei tuvastatud)

Nakatunud kaustu:
C:\Documents and Settings\All Users\Application Data\SalesMonitor (Rogue.Multiple) -> Quarantined and deleted successfully.
C:\Documents and Settings\All Users\Application Data\SalesMonitor\Data (Rogue.Multiple) -> Quarantined and deleted successfully.

Nakatunud faile:
(Pahavara ei tuvastatud)