Thursday, February 21, 2008

Microsoft ate my uninstaller

Summary: Microsoft thinks that program uninstall shortcuts under the Start menu are bad. What say you?

The most common methods of uninstalling software include two options:
  1. the Add or Remove Programs Control Panel (or an equivalent program), or
  2. a shortcut under the Start menu's program group (or Uninstall shortcut).
Although many programs create Uninstall shortcuts, Microsoft discourages this practice. In Designed for Windows XP Application Specification, Microsoft suggests:
"Do not place shortcuts to remove the application in the Start menu. It is not needed because your application’s uninstaller is in the Add or Remove Programs Control Panel item." (Section F1.1)
In addition to the stated reason, Microsoft does not favor Uninstall shortcuts because they (supposedly) add clutter to the Start menu:
"Usability studies show that when the Start menu and/or Windows Desktop become too cluttered, users have a very difficult time finding and launching their programs. This leads to a bad user experience." (Section F1.1)
I don't buy the last argument because when users complain about the Start menu clutter, they probably imply the main Programs group folder. Since Uninstall shortcuts appear under the application sub-folders (and not directly under the main Programs group folder), they do not make the Programs group folder more cluttered than it already is. Besides, with Vista improvements and so many available alternatives, Start menu clutter becomes less of an issue. [After adopting Launchy, I hardly use the Start menu.]

With respect to the "application’s uninstaller [being] in the Add or Remove Programs Control Panel" argument, I have to mention that the Add or Remove Programs Control Panel... kinda... sucks! Let's see what it takes to uninstall a program via the Uninstall shortcut and compare it to the Add or Remove Programs approach.

Option 1: Use the Uninstall shortcut
  1. Click the Start menu; select Programs-Application folder-Uninstall.
  2. Follow the prompts.
This was fast. Now, how do we get to the same step via the Add or Remove Programs control panel:

Option 2: Use Add or Remove Programs
  1. Click the Start menu; select Settings-Control Panel.
  2. Wait a few seconds (minutes) for Control Panel to load.
  3. Control Panel loads. Select (or double-click) the Add or Remove Programs option.
  4. Wait for the list (of installed applications) to be populated. (Go to Starbucks... Get a cup of Frappuccino... Come back...)
  5. OK, the Add or Remove Programs list is finally populated. Now, find the application. (Scroll down looking for the application name... Scroll up looking for the software maker name... It is not uncommon for the entries in the Add or Remove Programs control panel to have names different from the applications under the Start menu. Sometimes the Add or Remove Programs Control Panel contains entries with duplicate names.)
  6. Once you find a reasonable match, select the program and click the Uninstall button.
  7. Follow the prompts.
Although the performance of the Add or Remove Programs Control Panel in Windows Vista has somewhat improved, it's still not the most efficient way of removing software. Maybe this is why a number of applications, including CCleaner, MyUninstaller, Revo Uninstaller, and ZSoft Uninstaller, promise to offer a better uninstallation experience. [After trying a few of these alternatives, I have not been convinced that their application removal features offer any drastic improvements over the Add or Remove Programs Control Panel.]

Not only does it take longer to launch uninstaller from the Add or Remove Programs Control Panel, but what would you do if Control Panel stopped working. This happened to me a few times. For example, a couple of weeks ago I installed a recommended anti-virus tool, and several programs -- including the Add or Remove Programs Control Panel -- started to malfunction (I could not even launch the Add or Remove Programs Control Panel). Attempts to kill or suspend the offending application process did not help, but because the application had the Uninstall shortcut, I could quickly remove it and bring my system back to normal. Without the Uninstall shortcut, fixing the problem would've taken much longer.

If you want to implement the Uninstall shortcut for your application, but not sure how, check Google (look for the solution applicable to your installer technology). For MSI-based installations, use a shortcut with the following command line (replace Product_Code_GUID with the actual value of ProductCode):

msiexec /x{Product_Code_GUID}
To implement an Uninstall shortcut in a Visual Studio 2005 deployment project, do the following:
  1. Add Windows system folder

    Select the setup project in Solution Explorer, click the File System Editor icon. Right-click anywhere (except the currently displayed folders) in the File System Editor view, and select the Add Special Folder - System Folder to project menu option.

  2. Add msiexec.exe file to project

    In File System Editor, right-click System Folder, and select the Add - File... menu option.


    In the Add Files dialog box, select the msiexec.exe file located in the Windows system folder (such as System32) and click the Open button.

  3. Create the Uninstall shortcut

    Double-click the application folder under the User's Programs Menu and right-click anywhere on the empty space of the right panel of the File System Editor (make sure that none of the items are selected); select the Create New Shortcut menu option.


    In the Select Item in Project dialog box, double-click System Folder, and select msiexec.exe; click OK.

  4. Set the Uninstall shortcut properties

    Select the Uninstall shortcut and press the F4 key to display the shortcut properties window. Rename the Uninstall shortcut to something more meaningful, like Uninstall (it may make sense to include the name of your application). Set the value of the Arguments property to /x[ProductCode] (you can enter the GUID of the product code, but then you would need to remember to update the shortcut property if you change the GUID).

Note: When you build the setup package, you will get the following warning (the path to the msiexec.exe file may be different):
WARNING: 'msiexec.exe' should be excluded because its source file 'C:\WINDOWS\system32\msiexec.exe' is under Windows System File Protection.
You can ignore this warning.

Additional references:
Application Specification for Microsoft Windows 2000 Server
Application Specification for Microsoft Windows Server 2003
Dude, where is your installer?

Friday, February 1, 2008

Dude, where is your installer?

Summary: Don't make your application users suffer: offer them an installer.

Last year, Jeff Atwood wrote an article, in which he mentioned a hassle of installing applications, which do not have installers. After describing the manual steps it takes to prepare such application for its first run, Jeff concluded:
"That's a lot of tedious, error-prone steps I have to perform before I can run the application. [...] Is this really what we want to subject our users to?"
Judging by the growing number of applications, which come without installers, the answer to Jeff's question is: "Absolutely!" And not only do we (programmers) want to subject our users to these tedious, error-prone steps, we somehow managed to make them believe that this is a good thing. Read what CyberNet's Ryan wrote about an application called Pitaschio:
"[Pitaschio] caught my attention not only because it was freeware, but also because it didn’t require any installation. Those two ingredients are pretty important when it comes to making a good first impression on me."
Now, Ryan, wait a minute... It didn't require any installation? Are you sure?

With the exception of portable programs (such as Portable Apps intended to run from USB drives), any application requires some form of installation. Installation can be manual (extracting files from a ZIP file, copying them to folders, creating shortcuts) or it can be done with the help of a setup program. Whenever someone claims that an application does not require any installation, he (she) probably means that the application does not have an installer and must be set up manually. Why this is considered a good thing is beyond me because it normally takes more effort to install a program manually.

Let's compare the steps it takes to install a hypothetical program consisting of a single executable file with and without an installer.

Option 1: Installation steps (with installer)
  1. Download the ZIP file.
  2. Extract installer file(s) from the ZIP file (to a temporary folder) and launch the setup program (good installers do this in one step).
  3. Once the setup program starts, click the Next button to select the default options (for the application folder, and so on) until setup completes (most installations can be done in three clicks or less without lots of thinking).
  4. (Optional) Delete setup file(s) from the temporary folder (again, good installers do this automatically).
  5. Delete the ZIP file.
The key point here is that the user is not forced to think and can just go: click, click, click (the mouse), or hit, hit, hit (the Enter button). Here are the steps, which I often perform to install a program manually.

Option 2: Installation steps (without installer)
  1. Download the ZIP file.
  2. Extract the application file from the ZIP file to... Hmm, where should it go? (Thinking...) I guess, I'll save it under the Program Files folder.
  3. Open Windows Explorer (click, click to start Windows Explorer). Locate the Program Files folder (click, click, click, more clicks to navigate to the Program Files folder).
  4. Okay, I'm in the Program Files folder, but how do I name a folder for the new app? (Thinking...) I guess, I'll name it after the application executable. Select File-New-Folder from the menu, enter the name of the new folder, hit Enter.
  5. Extract the application executable to the newly created folder.
  6. Switch back to the application folder in Windows Explorer and create a shortcut (right-click the executable, select Create Shortcut from the menu, click F2 to rename the shortcut, enter a more user-friendly name, hit Enter).
  7. Create a new program folder under the Start menu (click, click, click, more clicks to navigate to the Programs folder under the Start menu, select File-New-Folder, enter the name of the new folder, hit Enter).
  8. Copy the application shortcut to its program folder under the start menu.
  9. (Optional) To auto-start the program, copy its shortcut to the Startup folder; otherwise, copy the shortcut to the Quick Launch menu (again a few more clicks).
  10. Delete the ZIP file.
Would someone (Ryan?) be so kind to explain what makes option 2 better than option 1, because it's not obvious.

One argument in favor of installer-free applications claims that these applications are easy to uninstall: just delete the application file(s) and it's gone. I can't agree with this argument because it attributes "clean" application behavior (the fact that the application does not use Windows registry or any other persistent storage) to lack of installer. Besides, most client programs rely on persistent storage for tasks such as storing application data and user preferences, which (according to the most recent guidelines) should not be kept in the program folder, but saved in the user's application data directory (such as AppData). This means that when uninstalling the program, I need to find and manually delete data files, as well as the program file(s) and shortcuts located in various folders (Program Files, AppData, desktop, Start menu, Startup folder, Quick Launch menu). Again, how is this easier than launching the uninstaller and letting it handle all cleanup tasks for me?

There is one valid argument in favor of installer-free programs: support for portable execution. If an application is intended to run from a portable device, such as a USB drive, it should not require an installer. However, this does not mean that the application should not provide an installer for regular (non-portable) use.

Smarter developers, such as the makers of my favorite text editor PSPad, offer users both installation options: with and without installers. I hope that one day I will see installers for other great programs, including:If you are a developer, who haven't written an installer before, you may not realize that (for simple applications) it requires very little effort. You can build a simple installer using Visual Studio's Setup and Deployment Project templates. Or use one of the following FREE tools:Lists of other installer authoring tools can be found here:If you are totally new to the world of installers, the following references will help you get started:

Build an Installer for Installer-less Programs
Deploying a Windows-based Application
How to create a Setup package by using Visual Studio .NET
Step-by-Step Process of Creating a Setup and Deployment Project
More articles...

See also:
From MSI to WiX
It's the installation, stupid
Software and Support for Setup Developers
Windows Installer resources
Installers (list of free and commercial installers)

Thursday, January 24, 2008

VodPod vs. WorldTV: VodPod wins

Summary: Both VodPod and WorldTV can help you organize and share your favorite Internet videos, but VodPod can do it better (at least, for now).

If you're looking for a better way to organize your favorite video clips from YouTube, Google Video, Viddler, BlipTV, and other video sharing sites, try these (free) services:Both VodPod and WorldTV let you collect videos from various video hosting sites and share your video collections with the world or a selected group of people (you, your friends, family) at your own custom URLs, such as these:
http://worldtv.com/YourTV
http://YourTV.vodpod.com
After playing with WorldTV and VodPod for a few weeks, I would like to mention a few things I liked and did not like about both and each service.

I like WorldTV's name: it is simple, understandable, and easy to remember. VodPod's name is unfortunate. I suspect that the pod part of the name is somehow related to podcast, but what in the world is vod? [UPDATE: Vod stands for video on demand.] I also like the term channel (like TV channel) used by WorldTV to describe a video collection. VodPod calls video collections pods, again one more confusing term.

VodPod and WorldTV use different naming schemes for video collections: VodPod puts your collection name in front of the address (as a subdomain), WorldTV keeps it at the end (as a virtual directory). VodPod's scheme is more appealing to me, but you can decide for yourself, which one is easier to remember: AlekTV.vodpod.com or worldtv.com/AlekTV.

WorldTV uses a very simple interface for its channels, but at reduced size, the screen elements tend to stack over each other and the aspect ratio seems distorted.


WorldTV's Welcome (home) page has a few design flaws as well. For example, the main navigation buttons (Go and View) of the Welcome page are not visible on my 14" laptop screen, even in the maximized browser. [The buttons are placed lower than the browser's bottom margin, but because the page does not show a vertical scroller, there is no way to get to them (in IE, the scroller bar lacks the scroller button, while in Firefox, even the scroller bar does not appear).] Also, it's impossible to know without rolling the mouse all over which elements of the Welcome page (and some other pages) contain hyperlinks.

For some reason, WorldTV's channels offer no way to see the list of videos in a collection; you only see a currently played video. Neither can you select a video without manually skipping the videos before it. So, to watch the last video from a 100-video WorldTV collection, you will need to click the Skip button 99 times. VodPod's interface, although cluttered, shows the list of video snapshots, using which you can browse videos and easily select the one you want to see.


Unlike WorldTV, VodPod cannot show videos in the full screen mode, but given the generally low quality of Internet videos, most of them will not look good maximized. Still, when more sites start supporting higher quality videos, this WorldTV's feature will become more useful. [Note to the WorldTV developers: when already in the Full Screen mode, the option to switch back should say something other than "full screen"; maybe "original screen", or "restore screen".]

WorldTV takes an unorthodox approach to authentication/authorization. Unlike most sites (including VodPod), which allow you to sign in with a user ID and password, WorldTV requires you to enter a pas... sorry, a "secret word" (that's the term WorldTV uses) for your channel (URL). To clarify: you do not have a user ID. This means that if you want to create multiple channels (say, you want to keep your collections of music videos and funny clips separate), you need to define a password for each one of them (password is only needed for administration, not for viewing).

Maintaining multiple collections in VodPod is easy because they all are associated with a single user account. Each collection will a have a different URL (Web address). You can use any name for the name of your collection in the URL as long as it is not already in use. For example, my (test) pods can be found at:
http://AlekEdTV.vodpod.com (technical, educational)
http://AlekFunTV.vodpod.com (humor, entertainment, news)
http://AlekMTV.vodpod.com (music, songs, dance)
At VodPod, once I sign in (with my user ID and password) at the home page, I can see and work with any one of my channels. At WorldTV, I sign in at... Hmmm... Where do I sign in?!! There is no sign-in link visible anywhere on the WorldTV's home page. It took me a trip to the FAQ page to figure out that to sign in (so that I can make changes), I need to enter the URL of the admin (editor) page of my channel, which, by default, is defined as the "editor" subfolder under your channel, such as:
http://worldtv.com/YourTV/editor
You can change the name of the of your admin page, but if you forget it, you may never find it.

WorldTV should work fine for a small video collection, but once the number of clips starts to grow, it will be harder to manage, because there is no way to categorize or filter videos. VodPod makes this job easier by letting you define tags and categories for videos. I haven't yet figured out how to use tags, but categories allow you (as a channe..., sorry, a pod editor) and your pod viewers to view only category-specific videos (a video can belong to multiple categories). For example, if you define two categories "Humor" and "Music" and associate them with your videos (some may belong to Music, some to Humor, and some to both), you will be able to view clips belonging to each category. Unfortunately, there is no way to select videos from multiple categories, such as "Music" and "Humor" (say, I want to watch "White & Nerdy").

VodPod lets you add comments to your videos. Comments can be handy if you want to explain why you liked a particular video, add trivia facts, links to relevant sites, and so on. WorldTV does not support comments.

For integration with Web sites (blogs), VodPod allows you to create widgets for your pods. When building a widget, you can specify its layout, title, category, and other options.


As I found out, not all widgets are created equal. For example, when I select a single-frame (so-called "button") layout (when only one video is displayed), the widget does not recognize the specified category; it will show all videos defined in the pod (see the VodPod widget in the right side bar of this blog). WorldTV does not offer widgets, although you can plug your channel into your Web site via an IFrame.

VodPod offers a whole range of social features, like ability to leave comments, follow other people's pods, ratings, RSS subscriptions; I don't care about the social aspect, but there are several non-social features, which I wish were improved. For example, it would be nice to be able to filter videos by (spoken) language. For example, if a collection includes Russian and English videos, non-bilingual viewers may want to watch only clips in the language they understand. There should also be a language-neutral option for videos, which are not language-specific.

A silly problem: inexplicably, VodPod chops the photo in my profile. I tried to add different photos (various sizes and aspect ratios), but they always get chopped (almost by half) at the bottom. And once you add a photo to profile, there is no way to remove it (unless you replace it with another one).

Another idiosyncrasy involves the video approval process. After I added one video from a non-standard site, it turned into a zombie: although it appeared in my pod, it did not play, making the pod look broken. The status of the video stated that it was approved but not encoded (in another place, the status indicated pending approval). The video was pending for a few days with no progress, so I eventually removed it. I'm not sure what went wrong here, but at the least, pending non-playable videos should not be visible to viewers.

Here is one of the most irritating problems (to me): I cannot find a way to show videos in a custom order, instead of the chronological order. I can re-order videos, and play them using default categories (random, most viewed, top ranked, and others), but there seems to be no way to play them in the same order they appear in the pod. Also, there should be an easier way to share videos between pods. For example, if a manage several pods, I should be able to publish a video from one pod to another (with the same comments, tags, and categories) via a simple mouse click.

I sent feedback to both WorldTV and VodPod, but did not get any response from either of them, so it should be safe to assume that you ain't get much support either.

[UPDATE: After publishing this article, I got feedback from both WorldTV and VodPod. VodPod people were especially responsive and fixed a few problems mentioned in the post. If you are interested in additional information, see comments.]

Saturday, December 29, 2007

Freeware Appreciation Day: ClipX

Summary: ClipX is so much more than your regular Windows clipboard.

This month, my Freeware Appreciation Day's contribution goes to ClipX.

ClipX is a clipboard history manager written by Francis Gastellu. This tiny application keeps track of text- and image-based clipboard entries allowing you to paste items, which have been recently copied to the clipboard, but got overridden by more recent entries. ClipX also makes it easy to strip formatting from rich text- or HTML-formatted values and paste resulting plain (i.e. unformatted) text in a single step.


Since I have already explained how ClipX works and described how to correct a minor problem with its hotkey settings in the ClipX fix post, I'll keep this entry short. If you need more information, check out what other people say about ClipX:
Review by BestFreeApps
Ricky's Web Review
I have been using ClipX for a few years now and it saved me a lot of keystrokes. Unfortunately, it looks like development work on ClipX has been halted (there have been no updates to the application since late 2005), but since it keeps working, I feel that the author deserves a small token of appreciation (I hope, though, that ClipX keeps working until Microsoft wakes up and makes the same functionality built into the operating system). If you haven't used ClipX (or an alternative clipboard manager), give it a try; I'm sure you'll like it.

[UPDATE: After publishing this post, I've noticed articles covering ClipX in a number of prominent blogs, including Coding Horror, Lifehacker, and MakeUseOf. Also, Francis Gastellu released a new beta, so we may get a new version of ClipX very soon.]

Friday, November 30, 2007

What to do with a broken laptop

Summary: Get the best out of your broken laptop.

When my four-year-old Dell Inspiron 8500 died, I wondered if it would make sense to get it repaired. After ruling out easy fixes (replacing battery, A/C adapter, power cord, RAM, hard drive), my only option was to turn to a laptop repair service. Because I did not want to waste $70 on a repair estimate to learn that I needed to spend $400 more to replace the motherboard (I suspected the motherboard to have failed), I ended up selling the laptop to the nice folks at LaptopService for $175 (minus the $15 cost of shipping). Now, $160 may not sound much, but it was more than what I would've gotten from the broken laptop sitting in a closet.

If your laptop breaks and you're not sure what to do with it, this is what I would recommend (the following recommendations are based on the assumptions that your laptop is not covered by a warranty and you do not have a technically savvy friend, who can help you fix it):
  1. Understand the problem
    Before attempting corrective actions, try to figure out what is wrong with your system. Search Google for the symptoms you're seeing (tweak your search query to get the most comprehensive results). Visit newsgroups (forums) which discuss the same (or similar) model, as well as laptop repair sites, such as Laptop Repair Help (I found this site particularly useful). Most, if not all, laptop manufacturers provide forums where users exchange information and help each other troubleshoot problems. You can also find helpful links at the Satisfaction web site. If nothing helps, try your luck with the manufacturer's customer service; although you will not get a free repair (unless it falls under a recall), you may get free troubleshooting tips (I once got accurate diagnosis from a Dell customer service representative for an out-of-warranty system).
  2. Fix simple problems yourself
    If you determine that the problem is caused by a bad power supply, hard drive, memory module (RAM), or some other easily replaceable part, you should be able to buy a replacement unit for little money and change it yourself. If you have never changed any parts inside of a laptop (hard drive, RAM), you will find that it is not as complicated as it may seem. To make sure you do it right, find the manufacturer's instructions for your laptop model (if the instructions are not in the manual, you should be able to find them on the manufacturer's Web site). To get a general idea what a particular operation involves, search the Internet for videos or step-by-step instructions. For example, this C|NET video will give you a general idea of what it takes to replace a hard drive. Good sites to include in your search include Instructables, eHow, and Wonder How To.
  3. Contact a laptop repair professional
    If you cannot determine the root cause of the problem or repair the laptop yourself, consider sending it to a repair shop, but first figure out whether the laptop is worth repairing. If you bought the laptop for $600 four years ago, it would not make sense spending more than $150 on fixing it, because you can get a brand new and better system for less than $400. If you do not have a local laptop repair shop, check the ones available online. Some online shops offer free shipping and/or estimates, but I'm not sure what happens if you send your laptop for an estimate and find out that the repair is too costly; I doubt that the shop send you the unit back for no charge, but I may be wrong (ask before shipping the laptop).

    IMPORTANT
    Before sending your laptop to a local or online repair shop, remove all personal files from the hard drive. If your laptop does not work at all, but you have another one, you may be able to temporarily switch the hard drive in a good laptop with the drive from the broken one and once you boot the system up, use tools that permanently erase files, such as a free Eraser or CyberShredder (the regular Windows Delete command does not actually erase files). Alternatively, you can reformat the hard drive, but doing so will erase all data. If you do not have another laptop, you may be able to buy a cheap hard drive enclosure for around $10 [make sure you get it for the right size; most laptops use 2.5" hard drives]. Don't forget to put the hard drive back.

  4. Sell broken laptop
    You can try selling the broken laptop on Craigslist, eBay, or another online auction; just make sure you clearly explain what is wrong with it (be honest, don't repeat the story of Amir Tofangsazan). Another option would be to sell it to a local or online repair shop, such as:

    1HideOut
    CashForLaptops
    Jay Brokers
    LaptopRepair
    LaptopService

    After getting an offer, I shipped my laptop to LaptopService with a copy of the estimate. A few weeks later, I started getting worried, because I did not get a confirmation e-mail or any indication of delivery. To make matters worse, I managed to lose the estimate, the quote number, and the shipping receipt. Fortunately, after a few more weeks, I finally got the check. While I would recommend LaptopService, I cannot vouch for other shops. If you get an acceptable offer, check if the shop has any unresolved complaints at Better Business Bureau. Keep all communication and other relevant records in place and use registered mail (or proof of delivery) in case something goes wrong. Again, do remember to erase sensitive files from the hard drive before shipping.
  5. Sell laptop parts
    If you cannot sell the laptop as a whole, try selling it by parts (RAM modules, hard drive, accessories, etc.) on Craigslist or eBay. When selling laptop parts, make sure that they work (to verify that the parts work, you may need to plug them into a working compatible laptop). Before selling the hard drive, reformat it.
When you are ready to get a new laptop, remember that it can also break. To protect your investment and make it easier to recover losses, follow these advices:
  • Use the right credit card
    When buying a laptop (or some other expensive item), use a credit card which extends product warranty. Keep in mind, that credit cards only extend the regular warranty. For example, Visa and MasterCard can extend a typical one-year laptop warranty to two years, but if you buy an extended three-year protection plan from the store (or elsewhere), credit cards will not double it. Find out the details of the credit card's extended warranty benefit to avoid unpleasant surprises. And save the documentation that may be requested by the credit card, such as purchase receipt, manufacturer's product warranty card, etc. Do not cancel the credit card, until the extended warranty coverage expires.
  • Don't throw away stuff; keep it clean
    Don't throw away the laptop package (box), accompanying documentation (user guide, warranty card), media (software CDs or DVDs), and accessories. If the laptop breaks and you decide to sell it, you may get a better offer if it's in good cosmetic condition and comes with all items in the original package.
  • Use a laptop cooler
    Overheating causes many laptop problems. To avoid overheating, use a laptop cooling pad, which you should be able to find one on sale for around $10 (read this tip).
Additional references:
The DIY guide to PC troubleshooting and repair

Saturday, November 17, 2007

Freeware Appreciation Day: KeePass Password Safe

Summary: Use KeePass Password Safe to store your passwords, account information, and other sensitive data.

In response to Jeff Atwood's call to support small software vendors, I decided to institute a personal Freeware Appreciation Day on which I will contribute to one of my favorite freeware makers. I will try to observe the Freeware Appreciation Day on a monthly basis until I run out of money or cover all of my favorite applications (I hope that neither of these will happen).

This month's contribution goes to KeePass Password Safe, an OSI-certified, free, open-source, light-weight, and easy-to-use password manager created by Dominik Reichl. Before picking KeePass, I checked a few similar utilities including commercial Password Plus, SecureSafe Pro, RoboForm2Go, IBM/Lenovo hardware-dependent Password Manager, as well as free, open source Password Minder and Password Safe, but I liked KeePass most.

KeePass is portable (i.e. you can run it from a USB drive) and very easy to use. It keeps your information in a data file (database) encrypted with a user-defined password. You must specify this password in order to open the data file when starting the application or if you want to open a different data file.


Once you open the data file, KeePass displays the information about your user accounts (or whatever you saved in it) grouped by categories.


When adding or updating an entry, you can specify the title of the entry, your user name, the URL of the site (I wish that the URL were displayed before the user name), password, notes, and other information. There is an option to attach a file to a password (account) record, but I haven't tried it, yet.


The grouping feature allows you to organize your records in a logical manner. You can add and delete groups, or move items from one group to another. If you forget in which group you stored an item, you can search for it using the Find dialog box.

The basic functionality of KeePass should satisfy most users, but it can also be extended via plug-ins. For example, you can use plug-ins to export passwords to a comma-separated text file, import passwords from Firefox, open Web sites and fill in the login data automatically, and do more.

If you decide to use KeePass, you may need to figure out how to keep your data file in sync between multiple computers. One option is to keep the file on a USB drive (you can either open it from a USB drive or use the USB drive to copy it between machines). Although the file is encrypted, you will feel safer if you use the drive's built-in encryption or tools such as TrueCrypt.

If you do not like an idea of carrying data files on a USB drive, consider using a Web-based service, which allows you to map your personal online storage as a local drive, such as Who.HasFiles or GmailFS. If you store your data file online, remember to keep a backup copy in case the service goes down.*

UPDATE: To synchronize your KeePass data file across multiple computers (and keep online backups), try the DropBox synchronization tool. Dropbox worked very well for me, but there are also other alternatives, such as Syncplicity and SpiderOak. Or instead of using KeePass, try the online-based LastPass; it offers most -- if not all -- features of KeePass, and even more (it also lets you import the data stored in the KeePass data file).

Additional references:
Wikipedia: Password Manager



*Although keeping data files on a USB drive or online are both viable options, it would be more convenient to use a Web-based password manager. In fact, several online password managers popped up recently. After trying a few of them, Clipperz and Passpack seemed most advanced to me. Unfortunately, they both have limitations. Passpack has a difficult-to-use two-password authentication scheme, and, what is worse, it limits the size of the password database to 128 KB (approximately 150-200 records in a free account), while Clipperz is yet to implement the importing feature; Clipperz v. Passpack, Round 2 offers a good comparative review of both services. I'm looking forward to using a Web-based password manager, but until these services mature, I'll stick to KeePass. NOTE: See the update note.

Saturday, November 3, 2007

A tale of two laptops, or can I run Vista on a Celeron

Summary: Does it make sense to buy a low-end laptop for about $400 or should you look for a more advanced and more expensive system? Find out what you can expect if you get a cheap Celeron-based laptop and run Vista on it.

About two months ago I replaced two family laptops with the cheapest systems I found at the time: a $380 Compaq Presario (model C563NR with Celeron M 520, 512 MB RAM, 80 GB hard drive, CD-RW/DVD-RW with dual layer support, 15.4" screen)


and a $350 Toshiba Satellite (model A135-S4656 with essentially the same parameters).


The major differences between the two systems (other than the price) include the screens (the Compaq is glossy, the Toshiba is matte), the Compaq's LightScribe support, and the Toshiba's built-in memory card readers. Because both laptops came with Windows Vista (the Home Basic edition), I knew that the supplied 512 MB of RAM would not be enough. I was also a bit worried about Celeron's ability to handle Vista, so I considered wiping it out and installing XP, but after upgrading RAM to 1.5 GB (I bought a couple of 1 GB modules for around $25 per each after rebates), I decided to give Vista a try. This is what I can say about these two systems after using them for a few weeks.

First of all, I have to mention that I'm not a primary user of these systems -- my wife and daughter are -- but I spent enough time with them to form an opinion. Second, we do not use these laptops for computer gaming, video editing, 3D modeling, and other types of resource-intensive applications, but for the most typical tasks -- web browsing (Firefox with a bunch of add-ins, IE with some extensions), photo editing (Adobe Photoshop Elements 2.0, Microsoft Digital Image Suite), instant messaging (ICQ, Skype), document editing (Microsoft Office 2007), listening music and watching videos (Windows Media Player) -- they work quite well.

I did not expect these cheap Celeron-powered laptops to be particularly fast, but it seems to me that for the types of applications we use them, they run on par with my brand new Core 2 Duo-based work desktop with 3 GB of RAM, which by the way is still running XP. [I think that my work PC underperforms because of all of the IT-installed crap; it is just a theory, though.] And despite my worst fears, Vista did not cause any major headaches. I downloaded Vista-supported drivers for all of my gadgets (printer, camera, routers, modems, etc), except for an older Logitech QuickCam Zoom webcam. For some reason, Logitech refused to support this webcam on Vista, but fortunately, I found a workaround. I have not used my Canon Pixma MP450 scanner, yet, so I can't say whether it works on Vista. [UPDATE: The scanner works fine.] And the software that accompanies Longman Dictionary of American English seems to have issues with video and audio, but I'm not sure if they are related to Vista or QuickTime (I've received a few suggestions from the vendor, but they did not help; not a big deal, though). Other than that, Vista works fine. I even started to like it.

I know, these days it is not cool to say anything good about Vista, but I really think it's not that bad. Notice that I use the Home Basic edition, so I do not see the fancy Aero interface (I would not dare to run Aero on a low-end laptop), but even without it, it seems slicker than XP. Of course, it's not perfect, certain things could've been done better, but it's not as bad, or problematic, as I expected it to be. So, I'm sticking with Vista for now. By the way, my wife and daughter did not seem too excited about using Vista, but when I recently asked them if they would like to switch back to XP, they both said no.

Getting back to laptops, I'm happy to say that they exceeded my modest expectations. Keep in mind that I increased memory by 1 GB and removed most of the pre-installed bloatware, including Norton anti-virus suite, which I replaced with Avast! (I'm a huge fan of the lesser known anti-virus products). I like the Compaq's glossy screen, but the Toshiba's overall design is more visually pleasing. I also like the Toshiba's built-in memory card readers, although I'm disappointed with the absence of a Compact Flash reader. The keyboard layout on the Compaq seems more logical and the Compaq's LightScribe support is a nice bonus (although I'm too cheap to buy LightScribe media).

Because the Toshiba was about $30 (or 8 percent) cheaper than the Compaq, it gave me the best bang for the buck, but I have no problem recommending either of these two models or their successors, although I would also recommend upgrading RAM to at least 1.5 GB if you're planning to use Vista (memory upgrade is a trivial operation, which does not require any technical skills). If you are not sure if a Celeron-based system will be sufficient for your needs, it probably will (people who know that they need a stronger processor can normally explain why). If you're still hesitating, do your research, but don't listen to those who just say that Celerons suck; the first generation of Celerons may have sucked a bit, but the latest models work just fine for an average user. Of course, you can add $100-$200 more and get a Pentium or Core-based system, but if you use this laptop for anything other than the most demanding tasks (such as games, 3D/video editing, etc), you will probably not notice the difference.

Additional references:
Tech Review: Intel® Celeron® M processor 520