First Look at Windows 7

Posted May 20th, 2009 by kyle
Categories: Windows, reviews, keyboarding

I recently downloaded and installed the Windows 7 Release Candidate. Installation was quick and painless. It didn’t detect my sound card (SoundBlaster X-Fi), but I was able to find an updated driver, and everything else seemed to work out of the box.

Overall it looks similar to Vista (tellingly, the internal version number is 6.1, not 7.0). Unfortunately, the focused window issue remains unchanged, although Win7 does hide other windows after a short delay while switching between apps (via Alt+Tab, the taskbar, etc.), which does help somewhat.

Startup times are similar to Windows XP SP3. Boot time (boot menu to login prompt) is about 31 seconds vs. 41 seconds for XP on my box. Logon time (time from entering password to desktop display) is 10 seconds vs 8. Shutdown time is about 12 seconds vs. 11 for XP. Although this may not be a completely fair comparison, since the Win7 install is clean while the XP partition has lots of startup apps and other cruft.

The new taskbar is a welcome improvement. You can now pin common applications to the Taskbar, and clicking one will launch it if it’s not already running, activate a single running instance (hold down Shift to force a new instance), or preview multiple instances. There are some other nice taskbar enhancements like full screen previews on mouse over, jump lists, and easier rearranging of windows.

There are new keyboard shortcuts for window manipulation and the taskbar, but usage is clearly optimized for mousers. Personally, I don’t think they went quite far enough in unifying launching vs. switching between applications, especially for keyboarders. It really should be extended to the Start menu, but it is a good first step.

Windows 7 feels like Vista SP3 to me. It will be a no-brainer to upgrade from Vista, but I never made the switch from XP. It’s nice and all, but so far, I’ve come up empty trying to find compelling reasons to upgrade. And I still use Outlook Express (aka Windows Mail), which is no longer included in Win7, so that’s one strike against upgrading.

SafeCopy Backup

Posted April 2nd, 2009 by kyle
Categories: internet, backup

Another online backup service has joined the fray: SafeCopy Backup, and it looks very promising. I received immediate and knowledgeable responses from their online chat service. It appears to meet all my requirements and almost all optional features, and pricing is very reasonable. Their backup infrastructure is on par with S3 (multiple physical sites and redundancy and verification of data storage), and they claim to support true block-level incremental updates and compression. I’ve updated the comparison page with the details. I will definitely be testing it out soon.

Update: It appears that this is a rebranded version of Memopal.

Online Backup Comparison

Posted February 17th, 2009 by kyle
Categories: internet, reviews, backup

I haven’t gotten very far yet reviewing online backup services. I continue to use MozyHome personal files and JungleDisk for business data, which work reasonably well. One nice thing about both of these products is that they run as a Windows service, and their system tray monitor apps don’t need to be running for backups to be performed, which reduces memory and CPU usage.

I have put together a comparison chart for online backup services I have either used or would like to review in more detail at some point. It only includes services that have responded to my email inquiries.

Online Backup Review, Part 2

Posted January 12th, 2009 by kyle
Categories: software, internet, reviews, backup

Since my initial Mozy backup and review, I discovered that Mozy wasn’t performing incremental backups of modified files. Since I backup several large Ultra Recall database files that change frequently, this makes incremental backups painfully slow.

It turns out that rather than comparing the new and old file contents and uploading differences at the block level (like JungleDisk Plus), Mozy instead monitors applications for changes they make to files. But in my case, these files are actually modified on another computer (or network share) and copied to a backup drive, then later backed up to Mozy. This change detection method also prevents incremental backup of files that are completely rewritten when saved (for instance, ZIP files).

I do believe it’s inaccurate to describe this technique as “block-level incremental backup” and hopefully they’ll improve this in the future. Mozy support has been very responsive, and other than this one issue, the service works as advertised, so if their method of incremental backup works for (or doesn’t matter to) you, it may still be a good option.

But I will be reviewing my options. Thanks to Eric’s mention of SpiderOak, I have one more service to evaluate. Their pricing is right in the ballpark (and should be a more sustainable pricing model): $10 per month per 100GB of storage. The folks at SpiderOak appear to have done their homework when designing the service — support for multiple machines and platforms (including Linux), true zero-knowledge security, perpetual versions/history, data sharing, etc.

I also noticed that CrashPlan has reduced their prices for online backup (or maybe I didn’t notice the annual pricing options before), now offering 200GB of storage for about $17 per month, which would also meet the requirements.

And it appears that Carbonite has released (or will soon release) an update (v3.7) that fixes the limitations I encountered with their service. According to their press release from October 2008, it’s already available and customers are being upgraded “over the next several weeks,” but according the support page, 3.6.1 is still the latest. Even more confusing, the release notes show 3.6 as the latest, while my Mozy installation is 3.6.2 (which is also the version you get when downloading from their site). Hopefully they will get their versioning straightened out and upgrade my account and/or update the download to 3.7 soon. Their support department has not been very helpful so far in this regard.

I will re-test these services over the next several months.

Worry-Free Off-Site Backup for the 21st Century

Posted December 31st, 2008 by kyle
Categories: software, internet, reviews, backup

Anyone with important data on their computer needs a good backup strategy. Hard drives fail and catastrophes do occur, so both on-site and off-site backups are important. Off-site backup used to be a real pain. One way is to store a tape or DVD backup in a safe deposit box, but keeping it up-to-date is tedious. Widespread high-speed internet connectivity has made online backup much more viable, and many companies have entered the online backup space in the last few years.

Requirements

Here are my requirements for online backup software:

  • 250GB storage for less than $20/mo
  • Strong encryption (transfer and storage)
  • Block-level delta (incremental) copy
  • Retain previous file versions
  • Bandwidth throttling
  • Large file support (at least 5GB)
  • Easily include all file types (.exe, .ocx, .msi, .iso, etc.)
  • Low resource (CPU, RAM) utilization
  • Responsive technical support
  • High potential for staying in business

    Nice to have but not required:

  • Automatic continuous backup
  • Backup in-use files
  • Multi-platform (Windows 2000+, Linux, Mac)
  • Multi-computer synchronization
  • Support targeting on-site / external HD as well as off-site
  • Web access / sharing

    I’ve looked at a lot of options but have found only one that handles all of my requirements. This was my journey.

    JungleDisk

    I used JungleDisk (which uses Amazon S3 for storage) for several months, and it is a very good option. Incremental backups with JungleDisk Plus greatly reduce backup times, backup options are highly configurable, and it is very reliable. It meets all requirements except for price. My backups keep growing, and it would cost over $35 per month (plus additional bandwidth fees) to store 250GB with JungleDisk. Until Amazon drops their prices substantially, it’s too expensive for backups larger than about 50GB.

    Carbonite

    Carbonite offers unlimited backup for $50 per year. Installation and setup of their service worked reasonably well. Unfortunately, I found their configuration too simplistic. It excludes several file types by default, which can be worked around, and each file larger than 4GB must be explicitly included in the backup, which is annoying and potentially dangerous. Their support department did respond after four days indicating that they plan to update at some point to automatically includes larger files and additional file extensions, but I decided it wasn’t worth waiting to see.

    BackBlaze

    BackBlaze is a newcomer in the online backup space and also appears to meet almost all requirements (unlimited storage for $5 per month), except that they also limit file sizes to 4GB and don’t have currently plans to expand that (but their support did respond to my questions).

    CrashPlan

    CrashPlan meets almost all the requirements, and they offer unique additional options of backing up to on-site computers and/or friends’ computers (instead of or in addition to online backup on their servers). Their online backup servers cost about $25 per month for 250GB of storage, but if a friend’s computer is used, there is no monthly fee (just a one-time purchase of the client software for $60). I tried it out and it worked well, but their cost for online storage was a little too high, so I decided to keep looking.

    Mozy

    The last service I tried, and the one I’m currently using because it meets all my requirements, is Mozy, which offers unlimited backup for $5 per month for personal use. I had already set up my parents and mother-in-law with their 2GB free plan, which has worked well. I contacted their support department with a few questions and was pleased to receive a prompt response and promising answers (Mozy supports unlimited file sizes and plans to support Linux in the future). It has worked well; I highly recommend it.

  • Google Just Removed Its Best Feature!

    Posted November 7th, 2008 by kyle
    Categories: internet, keyboarding

    For the last couple of years, Google had an experimental search feature called Keyboard Shortcuts available. I found it indispensible for navigating search results via the keyboard.

    Well, today that feature is gone (results can no longer be navigated via the keyboard and the message “The experiment you’re trying to access is no longer available” is displayed when attempting to use this feature).

    Another related experiment is Accessible View, which does provide some keyboard navigation, but it plays annoying sounds and has several other deficiencies. And this one may have been dropped too (it worked a couple of times today, but usually gives the same message as Keyboard Shortcuts).

    I was really hoping they would incorporate Keyboard Shortcuts into the default search results, but apparently there wasn’t enough interest in it. Bummer. I’ll have to find a suitable replacement, but no luck so far.

    Headache-Free Spam Prevention

    Posted October 25th, 2008 by kyle
    Categories: internet, reviews

    By any measure, spam is a significant problem for email today. Having to wade through dozens or more spam messages in your inbox daily really hampers productivity. But thankfully it’s also easy to overcome this problem.

    For personal email, GMail is the way to go, bar none. Since switching from Yahoo to GMail over 15 months ago, I have had a total of 3 spam messages make it to my inbox. Before that with Yahoo, I could expect to deal with several spam messages per day, and I’ve seen similar reports from Hotmail, Earthlink, and users of other email services.

    GMail is free, has a large storage capacity, and is very reliable. It supports a web interface (which is actually pretty good, even for keyboarders), or if you prefer another email client, POP, IMAP, and email forwarding are also supported (and if you’re concerned about privacy, you can use these to pull down your mail [sans spam] and not retain on the server). It Just Works.

    For corporate email, use an email service provider that offers virus scanning, greylisting, SpamAssassin, and Spamhaus SBL/XBL. In the past we used SpamBayes on the client side, which worked fairly well, but it needed constant training. Since enabling spam filtering features on our Pair.com web hosting account over a year ago, we have eliminated almost all spam from our inbox, and it requires no effort on our part once configured.

    If your email provider doesn’t provide these services, another option may be to route your email through Google Apps.

    My last choice would be a client-side solution (of which there are many, both open source and commercial). This is one case where a server-side solution is preferable whenever possible.

    First Look at Google Chrome

    Posted September 3rd, 2008 by kyle
    Categories: internet, Ultra Recall, reviews, keyboarding

    The internet is abuzz with comments about Google Chrome, the newest entry in the browser wars. Within the first day, it had already exceeded Opera’s market share, and we had several questions about support for it in Ultra Recall. So I decided to download and install it to see it for myself.

    In true Google minimalist fashion, it performs a no-questions-asked installation, and it installs to a user-accessible location (which means it can be installed by non-admin users). The interface is also rather sparse, with no window caption, menu or status bar, which does provide more screen space for web content but may be a tad overdone.

    It does start quickly and is responsive when loading web pages, although it doesn’t seem all that much quicker than IE. I’ve seen claims of enormous JavaScript speed improvements, but GMail and GCal did not feel much faster to me.

    I like the ability to drag a tab into its own window (and drag a separate window as a new tab into another Chrome window). Apparently each tab uses a separate process, which should make it more stable. I also like the address bar auto-completion, which is similar to what’s available in Firefox 3 and IE 8, but it also provides inline search capability instead of using a separate field.

    Another novelty is the ‘create application shortcut’ feature, which creates a desktop shortcut that launches a specific web app in a separate Chrome window with custom icon, no tabs, address bar, bookmark bar, etc. I’m not sure how useful this is though, since clicking a link in this window opens in a new tab in the main Chrome browser window, but it might be useful for some Web 2.0 applications.

    One drawback I noticed immediately: It uses a non-standard Vista-style window border on Windows XP, which looks out of place and has the “now which window is active?” flaw. And on Vista, it doesn’t even match the standard Vista look or support Aero Glass. I guess Google is trying to make the OS obsolete, but they haven’t replaced everything yet and should be a better citizen.

    Keyboard accessibility is also lacking. It does provide keyboard shortcuts for some functionality, but there is currently no equivalent to Firefox find-as-you-type, nor any way to access bookmarks, options, etc. via the keyboard.

    Some of the licensing terms were egregious, but they have been updated to correct that. And apparently Chrome is not immune from security flaws either. If and when these problems are resolved, I may take another look, but it isn’t compelling enough at this point.

    Regarding Ultra Recall integration, copy/paste and drag/drop from the address bar or page selection was not working due to how Chrome puts data on the clipboard, but the latest release of Ultra Recall has a fix for that. As far as buttons in Chrome to import into Ultra Recall, extensions are not currently supported.

    Creating a Non-Admin Installer with Inno Setup

    Posted August 4th, 2008 by kyle
    Categories: development

    Most Windows applications require admin rights for installation, which explains why most users run as admin. It also explains why software viruses and spyware are so rampant and why Microsoft invented User Account Control in Windows Vista. Note that even applications that require admin rights for installation should run properly for non-admin (and non-elevated Vista) users.

    Sometimes, it does make sense to allow an application to be installed without requiring administrative privileges (which we do for Ultra Recall). Some would argue this is just a way to subvert the IT police, but it doesn’t sidestep any security restrictions or permissions that the non-admin user already has, and sometimes the IT police are more like Nazis anyway.

    Inno Setup is a popular tool for creating program installers, and it is fairly simple to create a non-privileged installer with this tool.

    The first thing to do is add

    PrivilegesRequired=none

    to the [Setup] section of the installation script. This will cause Windows to run the install program without elevation for non-admin users.

    Second, don’t install any files to {pf}, {win}, {sys}, or other system paths. DLL dependencies can be installed to the installation path.

    Third, the installer should detect whether it is running as an elevated admin user and default the installation path under Program Files if it is or a user-writeable path if not. This can be done by using a DefaultDirName in the [Setup] section like this:

    DefaultDirName={code:DefDirRoot}\AppName

    and a [Code] section like this:

    [Code]
    function IsRegularUser(): Boolean;
    begin
    Result := not (IsAdminLoggedOn or IsPowerUserLoggedOn);
    end;

    function DefDirRoot(Param: String): String;
    begin
    if IsRegularUser then
    Result := ExpandConstant('{localappdata}')
    else
    Result := ExpandConstant('{pf}')
    end;

    Fourth, any [Registry] entries written under HKLM will fail if the installer is run by a non-admin/elevated user and should be marked to ignore failure by adding the noerror flag. And if possible and appropriate, add the equivalent HKCU registry entries, which will work on a non-admin installation.

    Finally, non-admin users do not have permissions to register COM DLLs and OCXs. One option, which is not recommended, is to also register in user-level registry locations. A better option where possible is to utilize Registry-Free COM.

    Developers: It’s a Context Menu, not a Right-Click Menu

    Posted July 14th, 2008 by kyle
    Categories: development, keyboarding

    Well-behaved GUI software should make all functionality easily accessible from the keyboard. For Windows, most of this is covered by the Windows User Experience Guidelines.

    But there a some subtleties not covered there which many developers get wrong. And one that I see quite often is the improper display of context menus. Many people refer to these as right-click menus, but they can also be initiated from the keyboard, either by pressing the menu key (usually to the right of the space bar) or Shift+F10.

    The first problem is that some applications ignore the user and don’t display the menu at all when initiated via the keyboard. The second issue, and probably the most common, is displaying the context menu at the mouse pointer location instead of near the keyboard focus/selection. For keyboard users, it is not uncommon for the mouse pointer to be far away from the current selection (even on a different monitor), making for a very unpleasant, inefficient user experience.

    Handling display of the context menu properly is very simple. Do not use the WM_RBUTTONUP message to display a context menu. Instead, process the WM_CONTEXTMENU notification in each control that displays a context menu. This notification provides the mouse position (if initiated via the mouse) or a position of -1, -1 if initiated via the keyboard.

    If initiated via the keyboard, determine the position of the caret or first focused/selected item in the control and use that position to display the context menu. For tree and list controls, see how Windows Explorer handles this, and for edit controls, see WordPad. For all you developers who are doing this wrong, please fix it now. Thanks!