February 2006 - Posts - Jon Galloway

February 2006 - Posts

Microsoft to Origami ad firm: [0x8024402c]!!!!

You've probably seen the images and promos for Microsoft Origami product (leaked video here). The ad geniuses at D-Kitchen put it up on their portfolio page before the product launch, which might take them off the "preferred vendors" list...

Oh, and please guys - don't call this thing "Windows Live Handheld Device". Microsoft's recently perfected the process of turning cool codenames into lifeless product names. Please don't do that with this thing...

UPDATE: So the official name is Ultra Mobile PC? Sigh...

Posted by Jon Galloway | with no comments

Last.FM, and MyLastFM - an open source c# player for Last.FM radio

Summary: Last.FM is cool, but their player desktop application is pretty horrible. MyLastFM is the beautiful player that Last.FM deserves. myLastFM has always been free, but now it's better than ever and open source.

What's Last.FM?

LastFM logo Last.FM is difficult to describe. The best way to understand it is to take 2 minutes, get a free account, and try it out. I've been a fan of Last.FM ever since I stumbled across it while searching for info on a new album last fall1, and saw detailed reports on the musical preferences of individual listeners. It's been compared to other music recommendation engines like Pandora, but I immediately saw something much more interesting: the first useful example of Attention data I've seen. That's a killer combo - I'm into music, I'm very interested in Attention data.

So here's my elevator speech on Last.FM: LastFM is "myware" - spyware used for good.  You sign up for a free account and install the plugin for your favorite music player (iTunes, Windows Media Player, Winamp, etc.). The plugin uploads the name and artist info for each song you play to your personal profile. Then, you wait... Two cool thing happen after a bit:

  1. You get personalized charts that show your favorite songs and artists, both recently and all-time. That alone is worth a few minutes to set it up - a free service that shows you what you're listening to is a cool idea.
  2. After you listen to 100 songs, you get recommendations and a personal radio station based on the music you've been listening to. What's cool is that they figure this out based on other Last.FM listeners who listen to the same sort of music you do rather than trying to figure it out, which I think is a better approach. Sweet goodness, we've got ourselves a collaborative filter. They definitely get the whole long tail thing, too - check out the cool recommendations slider from popular to obscure. If you pay $3 a month, you get a few more radio staions which is kind of cool. Now, lotsa folks would get hung up on the personalized recommendations, but I think insight into your own personal profile is as least as interesting. That's not to say that the recommendations haven't been interesting, but I've been surprised by how interesting it is to see detailed charts on my musical tastes.

But, the personalized radio player that Last.FM offers is lame. Try it if you don't believe me. Last.FM's radio station architecture is pretty cool, though. The official player actually just calls webservices which control an MP3 stream, so you can build separate controller programs which call the webservices and launch default music player application (iTunes, WMP, etc) to play the MP3 stream. I started poking around at the webservices last October, thinking I'd write write my own player. In my searches, I stumbled across myLastFM.

Meet myLastFM

There are actually a few custom Last.FM players out there, but the coolest by far is Eric Willis' myLastFM. Eric wrote this c# winform app back in January 2005 and it quickly developed a devoted following. When I tried it, though, back in October 2005, it hadn't been updated for a while and wasn't up to date with the latest webservices so some of the features weren't working. I got in touch with Eric and helped out on the 0.8 release, which works with the latest standards, and includes a lot of great features like a built in MP3 player, auto login, and support for WMP as an external player. This release is also the first open source release of myLastFM - we put it out on SourceForge (thanks again for the great SourceForge project setup walkthrough, Phil!).

We'd love some help on the project, so let us know if you'd like to get involved. Working on an open source project is probably the best single thing you can do to grow as a developer. What's more fun than working on a music player that always plays your favorite songs?

 Please use the Sourceforge bug tracker to report bugs or problems, not the comments section of this blog post.

1Okay, honestly, I was egosurfing to see if anyone liked a remix I'd done.


Attention - profile first, recommendations afterwards

What do I mean by Attention?

The concept of Attention (as it relates to the internet) is still a new and amorphous enough concept that it's hard to find a simple definition to link to. Wikipedia has almost nothing to say about it. There are technologies and services built around it, like AttentionTrust and attention.xml. Meme engines (like TailRank and Findory, which personalize news based on user input - OPML import for TailRank, OPML import and click tracking for Findory) get close but aren't the full picture. Robert Scoble is excited about Attention, but he's too hung up on the commercial and marketing side of it. Steve Gillmor , Alex Barnett, and others talk about it pretty often, but without any real practical demonstrations of what they're talking about, it's still pretty theoretical at this point.

A better way to approach the concept of Attention is to talk about the problem we hope it will solve: we're drowning in a sea of information, and while we have pretty good tools to search the information, we're so overwhelmed that we can't keep track of what we've seen or even what we're interested in. The hope is that we can track and effectively direct our Attention instead of just randomly bookmarking links and forwarding e-mails.1

They know us better than we know ourselves...

We've reached an odd place - marketers understand our behavior better than we do. We know Netflix tracks rentals and uses that information to recommend films we'll be likely to enjoy based on the recommendations of members with similar rental and rating histories. If you asked me what movies I've watched in the past year, I wouldn't do nearly as well as the Netflix system. At this point, Netflix's understanding of my cinematic tastes is better in some ways than my own. The same applies in many other spaces, from supermarkets to casino loyalty programs. But, Attention is about more than targeted marketing on the internet. Attention data offers much more than contextualized marketing.

Get your priorities straight

The idea of tracking our own Attention is to use the same datamining approach marketers use to understand and and more efficiently manage our time and, well, attention. We need to spy on ourselves as well as the marketers do to better understand:

  1. where our attention is focused, and
  2. how to use that knowledge to find the information that's of most interest to us.
Those order is important - first understanding what we're doing presently, then (and only then) using that information to focus those interests which are most important to us.Our attention defines us to the extent that in a very real way, it becomes our digital identity. If Attention does nothing more than help us better undersand ourselves, it's been a big help. Jumping straight to recommendations (be they blog feeds or contextualized ads) without telling us who we are ignores a big part of the promise of Attention, and loses some credibility by putting the cart before the horse. It smacks of a prescription without a diagnosis. Netflix does pretty well with recommendation transparency - they tell me why it recommended a movie for me. I'm sure they're not telling me all the details, but understanding a recommendation helps me evaluate it. On another level, this kind of openness demonstrates a recognition that I deserve some visibility into my digital profile.

I realize that collaborative filtering is complex, so it may be difficult to explain the recommendations. At a bare minimum, though, Attention based sites should tell me something I don't already know about my profile - at least some aggregate data. That's one of the reasons I like Last.FM so much - the priorities (and sequence) are in the correct order. The recommendations and personalized radio are great touches, but the real killer feature is the cake is the personalized profile of my musical attention.

1 I'm especially interested in this because I subscribe to over 1500 RSS feeds, most of them technical. It's extremely difficult to effectively process that much information on a regular basis. I'd hoped that AmphetaRate would help with this, but it hasn't panned out yet.

[tip] Prevent Windows Automatic Updates from rebooting your computer

I recently wrote about how much I dislike the way Windows OneCare requires you to enable Windows Automatic Update to download and install updates automatically, since Automatic Update installations often automatically reboot my computer when complete. Jason Stangroome left a comment informing me that there are registry and group policy settings to prevent automatic reboots. I looked into both approaches (registry and group policy) and decided to go with group policy, since the registry settings require manually killing the Windows Update process .

Here's how to prevent Automatic Update from rebooting your machine:

  1. Start -> Run
  2. Type: gpedit.msc
  3. Expand Local Computer Policy / Computer Configuration / Administrative Templates / Windows Components / Windows Update
  4. Double-click "No auto-restart for scheduled Automatic Updates installations"
  5. Select "Enabled", then OK. Close the Group Policy configuration program.

Fine print: 

  1. You need Administrator priveleges to make this setting.
  2. Some people complained that Windows ignored the "no auto-restart" setting for the WMF patch. Potentially a ID 10T error, though. 

Group Policy settings to disable Automatic Updates from rebooting computer

Posted by Jon Galloway | 7 comment(s)
Filed under:

Windows OneCare, Automatic Updates, and Automatic Reboots

I've been beta testing Windows OneCare™ Live : "the all-in-one, automatic and self-updating PC care service aimed at helping consumers more easily protect and maintain their PCs to keep them running well."It integrates smoothly with Windows, consolidates firewall, antivirus, backup, and more. It's one of the better designed pieces of software I've used , and it puts the standard Windows security packages (Symantec, McAfee, etc.) to shame. I'm a thrifty consumer (readers of my blog will note my love of free software), and I think the price is very reasonable: the subscription price for up to three computers will be $49.95. If that seems pricey, consider that it does a lot more than the other antivirus packages, does it very well, and covers three computers. They're now in an open Beta period, so you can try it out free here.

I don't know if I'll use it, though. There's one usability flaw that drives me nuts. The system is set up to use a simple Green / Yellow / Red status to indicate the overall "health" of your system. The system is designed to make it simple to keep your computer healthy: get green stay green. Unfortunately, failure to allow Automatic Update to automatically install updates puts you in the Red penalty box, no questions asked. Since I don't enable automatic installation of critical updates, I'm always in violation of the basic assumption of the program - since I'm always ignoring my Red status, the system is a lot less useful as an indication of my system's health.

What possible reason could I have for disabling automatic install of Windows Updates? Well, Windows Updates often cause reboots, and I want to control when my computer reboots. No one should have that right but me. I don't reboot my computer every day; why should I? It takes a while to get all my applications running after a reboot. I'm a developer, so my applications are development environments, databases, web browsers, Virtual PC sessions, Explorer windows, and usually a half finished e-mail and blog post - I have 15 applications running right now with some sort of state. The applications you use in your daily work may be different, but let's agree that it takes some time to get things set up once you reboot. Even if you don't leave your computer running, Hibernation or Standby is much more efficient than shutting down at the end of each work day. Surprise reboots are a serious opponent to productivity since at best they require me to get back to where I was before the reboot, and at worst I lose whatever I was working on before the reboot.1

Update: I just noticed that Windows Updates violates the "Designed for Windows" logo requirements: "If you do require a reboot, you must prompt users and allow them the option of deferring the reboot."

Now, why should critical updates be allowed to reboot my computer without my permission when I'm away from my desk? If you stepped away from your desk for a few minutes and returned to find that a co-worker had unplugged your computer, you'd be upset, right? Why is it okay for Critical Updates to do this?

The party line answer to this question is that critical updates are critical, and must in installed immediately. This sounds good, but ignores the fact that Windows Automatic Update runs once a day at a totally arbitrary time. I know that the time of day is arbitrary, since I selected it when I enabled Auto Update. Automatic Update can only be configured to run at most once per day, and as rarely as once a week. Critical updates should be installed in a timely manner, but it makes no sense to say that Critical Updates must be installed the very second they are downloaded since they may have been downloaded as many as 168 hours after they were released.

So... how should this work? Let's ignore the fact that the OneCare and Windows Update teams may be in different buildings; let's just talk about the optimal user experience. How about this:

  • Automatic Download of Critical Updates is required to stay green. That's no inconvenience to the end user.
  • Uninstalled Critical Updates immediately put me in the Red until I install the update.
  • (Optional Extra Credit) A time delay on either OneCare or in the Auto Update system that allows me to download Critical Updates and have some time to install them manually - maybe a time delay from 1 to 24 hours (defaulted to 18), or a specific time of day (defaulted to 11 AM). If I don't install within that period, they are automatically installed.

What are the arguments against this kind of feature?

  • It's bad for user security
    See my argument above about how the installation schedule is arbitrary, anyways. This may actually improve security by making it painless to participate in Automatic Updates.
  • It's a power-user feature, and they're not our target audience
    There's a simple workarounds if this was the case (make it an advanced setting), but the bigger problem is that the target audience may be too limited. OneCare is too compelling a product to target only novice users - this thing belongs on developer and corporate desktops. I can see an Enterprise server version that helps small IT shops keep a few corporate web, data, and file servers protected, patched, and healthy. Suprise reboots is a deal killer for these markets, and the enterprise desktop and server market has deeper pockets than the family computer market.
  • It's confusing to the novice user
    I don't think so. The experience I described above seems simple - guide the user to enable Automatic Downloads of Critical Updates, but if they choose not to automatically install them, don't put them Red. Turning Red when I have a downloaded but uninstalled Critical Update only makes sense with the Red = Action Required paradigm.

What do you think? Would this make a difference in your purchasing decision?

1 Ironically, the only application on my computer that survives reboots smoothly is Firefox, thanks to the SessionSaver extension. Windows Vista's Restart Manager will provide a mechanism for applications to be notified of reboots so they can save their state and be restarted after the reboot, but applications will have to include code to take advantage of this feature. Vista's supposed to require fewer reboots, too, but the point is that there will still be required reboots and applications that don't handle them well for several years to come.

UPDATE: So I'm not the only person this annoys. See the comments on this post on the Windows OneCare blog.

Runing IE7 Beta 2 Preview next to IE6 (the right way)

UPDATE: See this post for the latest release of IE7 standalone.


IE7 Beta 2 Preview - Standalone IE7 Beta 2 Preview is available. Unlike previous releases, this is available to anyone who wants to try it out. Usual Beta Disclaimers apply: It is a Beta product and may cause grevious blah blah blah whatever. On to the fun!

This release does include an uninstall, which should return your machine to the previous working state (presumably IE6). However, you can also run IE7 in standalone mode which allows you to keep IE6 as your primary IE version but keep IE7 handy for testing, as long as you use the IE7 standalone launch script to remove two registry keys after IE7 is shut down.

Some caveats apply:

  • The standalone mode is unsupported and didn't play well with the IE6 Cumulative Security Update (December 05). The point is that you can't count on Microsoft to test against IE7 in standalone mode. However, I am running this on my system and it is working for me without problems.

  • Not all features work correctly in standalone mode. In my tests the search, feeds, and other non-browsing features didn't work. However, you can use it to browse and test websites.
  • IE7 writes a registry key that conflicts with IE6, so you need to launch it from a batch file that deletes the registry key when you shut down IE7. Fortunately, such a script is available here. Running IE7 in standalone mode without the launch script, as Scott Hanselman and others have tried, can cause problems.
  • IE7 Beta 2 Preview is only available for XP at this point.

It's a good idea to take a look at how your sites render in IE7 now, especially if you've been using IE specific hacks. The IE team has fixed a lot of the quirks in their CSS standards support, so things like the Star-HTML hack no longer work (read more on the IE Blog). The CSS Zen Garden design page in the screenshot above works in IE6 but has overflow problems in IE7. Looks like the MSN page needs some work, too. Notice the toolbar area, the positioning of the ad, and the way content from the middle column runs past the right border, for starters.

The IE7 Developer Checklist has some good things to look at, including pointers to some common CSS problems.

Update - if setting up the launch script is more work than you'd like, and you don't mind downloading from a non-Microsoft source, you can easily find zipped IE7 redistributions with the launch script already set up.

MSN Homepage in IE7

More Posts