Recently, in the Software category…

Microsoft announced today that IE8 will, in fact, act like IE8, a complete switch from their previous plan. Why the change of heart? Perhaps to get various governments off its back. From the IEBlog:

While we do not believe any current legal requirements would dictate which rendering mode a browser must use, this step clearly removes this question as a potential legal and regulatory issue.

So in the end it was government regulations, not community backlash, that got this idea nixed. Whatever the reason, I think Microsoft is making the right decision — one that will continue IE’s evolution into a standards-compliant browser.

Gruber’s been writing about the rumors of Flash coming to iPhone. I think he’s right that it’s unlikely, but I think there’s an angle he misses here:

Lastly, perhaps you might be thinking that although Flash-for-the-iPhone may not be in Apple’s interest, it is in Adobe’s — and so perhaps Adobe will port it themselves once the imminent iPhone SDK ships. Think again. The iPhone SDK is not going to be the sort of environment like Mac OS X where developers are free to create system-level plugins. No one is going to get to diddle with MobileSafari without Apple’s approval.

Gruber’s probably right, but Adobe may be able to make an end-run around this problem by porting Adobe Air to the iPhone. They’ve made it clear since the early releases that as soon as they can create mobile versions of Air (sometime after 1.0), they will. With Mobile Air they could release their own Webkit-based, Flash-enabled browser.

Of course, don’t expect this any time soon. Adobe Air 1.0 hasn’t been released yet, and a Mobile Air would likely have even worse memory issues than a MobileSafari Flash plugin. Still, I’m sure Adobe’s working on it.

You’ll never go broke appealing to the lowest common denominator. — Lisa Simpson, “Lisa’s Substitute”

In the latest issue of A List Apart, Aaron Gustafson explains Microsoft’s new plan for targeting browser versions and Eric Meyer grudgingly endorses the idea. If you haven’t yet, you should read those articles—and maybe skim some of the discussion—because this idea is going to have a major impact on future web development. I also recommend these blog posts on the subject:

The basic idea is this: Starting with IE8, future versions of Internet Explorer will support a new meta tag that will tell the browser what version of IE to use in rendering the page. If that tag isn’t there, the browser will assume the worst and behave like IE7.

Continue reading “Browser Targeting and Rounded Scissors”…

I’ve been using Twitterrific for several months now — probably almost as long as I’ve been using Twitter. Since upgrading to version 3.0, I’ve had a problem where sending a tweet would break the software. The tweet would be sent, but the text would stay in the textbox and Twitterrific would stop receiving tweets. The only fix was to close it and reopen it.

I couldn’t find anything about this problem anywhere online. I tried using some other clients for a while. That was when I learned just how much better Twitterrific is then any other Twitter client for the Mac.

So, in a moment of desperation, I emailed Iconfactory to ask about the problem. I’m not usually one to ask for tech support, particularly when I’m using the free version of a product. But I thought maybe, just maybe, they had heard of this problem before.

Craig Hockenberry wrote me back the next day. Why no, they had not ever seen this problem before. But, he thought it might be caused by incorrectly changing preferences via the command line. Specifically, doing this:

$ defaults write com.iconfactory.Twitterrific preferenceName YES

Instead of this:

$ defaults write com.iconfactory.Twitterrific preferenceName -bool YES

And as soon as I read that I knew that was the problem. I remembered setting a hidden preference this way, and I didn’t remember -bool being part of it. So I shut down Twitterrific, deleted the plist file from ~/Library/Preferences, and restarted the software. It worked — Twitterrific was back to normal.

Anyway, I thought I should write this up in case anyone else borks their favorite Twitter client the same way I did. Big thanks to Craig for the help and to Iconfactory for writing great software.

Angelika Theater filled with programmers On Wednesday we went down to Dallas to attend the OnAIR Bus Tour. We were on something of a tour ourselves, having first driven to Graham, TX for a meeting with a potential client, then to Dallas, then home, all in the same day.

Adobe puts on quite a show. They rented out a movie theater for the day, much to the dismay of all the people who came by wanting to watch a movie. They had plenty of free food, drink, games, etc. It’s pretty cool to walk up to a movie concession counter and have your choice of anything you want, for free.

The sessions were good, too. They walked us through what the Adobe Integrated Runtime is, what you can do with it, and how to get started using it. It’s a pretty interesting runtime. Nobody’s going to decide to build an AIR app instead of a web app, but I can see two scenarios where it would be the way to go:

  1. For web developers/designers who want to use their existing skills to build desktop apps.

  2. For creating widgets to supplement the functionality of an existing site.

And in fact, I’ve already got a few ideas that fall squarely in the second category. I think I’ll play with it and see what I can come up with. Maybe AIR will be useful, maybe it won’t. Regardless, we had a fun (albeit exhausting) evening with the OnAIR folks.

Most of the time, Windows and I have a roommates-that-aren’t-friends relationship. It does its thing and I do mine and we generally don’t get in each other’s way. Windows says it’s going to hang one of its paintings over the couch and I say, “cool.” I say I’m going to stay up all night playing Desktop TD and it just nods its head absently. It’s a marriage of convenience, and both parties are ok with that.

But today was different.

I have a small, generic mp3 player that I use to listen to podcasts. It’s fairly crappy, but it works for what I need it for, and it was free, so I use it. When I want to add files to it I just plug it into a USB port, drag files to it from iTunes, and unplug. Simple.

But today was different.

Today, I plugged it in to get a podcast to listen to while cleaning the pool. Instead of showing up as a drive like it usually does, it was listed in Explorer as an MTP device, with an icon that looked vaguely like a tombstone. When I opened the tombstone in Explorer it had a “removable storage” device inside it, but not any of the files I knew should be there. The removable storage device was also empty.

I tried unplugging and replugging the player, I tried replacing it’s battery, I tried muttering obscenities. Nothing helped. So I started Googling. I learned that a MTP is a Portable Media Device (apparently the acronym is not in English) and that recent versions of Windows Media Player will recognize devices as MTPs and take what it considers appropriate action.

That’s when I remembered that Windows had recently told me it wanted to upgrade Windows Media Player and I had said, “cool.”

It seems that, for the purposes of DRM, MTP devices only show files that have been synced to them from the computer they are plugged into. That means if you used one computer to put songs on your mp3 player, then plug that player into a second computer, Windows helps you not inadvertently copy those songs to the second computer. This “feature” is based on absolutely nothing — not the licensing of the songs, not the type of files involved, nothing. This computer did not put those files there, so you may not see them, and we’re simply not going to argue about it.

So I kept Googling. I did finally find a solution to the problem, although it was a little more complicated for me, so I thought I would describe it here.

  1. Go into Device Manager, uninstall the device, and unplug it.

  2. Open c:\windows\system32\drivers and rename WudfRd.sys and wpdusb.sys.

  3. Plug the device back in. Windows is going to recognize it as a MTP again, but it will say it’s not working properly because of a problem with the driver.

  4. Go back into Device Manager, right-click on the device, and choose properties.

  5. Switch to the Driver tab. Click the update driver button. This will launch the Hardware Update Wizard. Choose the following options:

    1. No.

    2. Install from a list or specific location.

    3. Don’t search, I will choose a driver to install.

    4. At this point, you should get a list of drivers: the MTP driver and a USB driver. Choose the USB driver.

And then you’ll have your device back. Most likely, renaming the MTP driver files is unnecessary, but it feels good, so I recommend it.

My computer, my rules. You don’t see me going into Bill Gates house and hiding all his cutlery so he doesn’t gut a panda. Not four feet from this computer is a Linux machine that I’m finding new uses for every day.

Almost a month ago, I explained how to maintain one iTunes database for multiple XP users. “jeffjunk” wrote in to tell me this didn’t work for him. Well, turns out, it didn’t work for me, either.

The problem is in hardlinking the individual files. When you change something in iTunes — like adding music — it doesn’t modify the existing library files. It creates new files and deletes the old files. That kills the link the first time it updates the library. So, although I originally didn’t want to hardlink the entire directory, now I think it’s a grand idea.

As Daniel explains, hardlinking directories is not built into XP, but it is available via the Windows 2003 Resource Kit. He mentions other options, but this was something I had planned to install anyway. Install the software, then log out and log back in so the new functions are in your command line path.

As before, backup your iTunes data before you start. One thing I should mention is that this requires NTFS formatted drives. This was true with my previous instructions as well, I just forgot to mention it. That is the default for Windows XP, so if you don’t know what it is, you’re probably fine.

Now, copy the iTunes directory (most likely found in C:\Documents and Settings\<ACCOUNT NAME>\My Documents\My Music\) from the account that has your main library to someplace where all accounts can access it. I used the “Shared Music Folder,” which can be found at C:\Documents and Settings\All Users\Documents\My Music.

Next, remove the iTunes directory from each account. It should be found in C:\Documents and Settings\<ACCOUNT NAME>\My Documents\My Music\. Open a command prompt, navigate to the directory where you just removed the iTunes folder, and issue this command:

linkd iTunes "C:\Documents and Settings\All Users\Documents\My Music\iTunes"

You should get a “Link created at: iTunes” message. And that’s it! Thanks again to Jeff for catching my mistake.

I’m in the process of building a new Windows XP PC (something I haven’t done in a very long time) and I ran into a problem.

<Insert Microsoft joke here>

I wanted to set up different user accounts for Angela and me, but I also wanted us both to have access to the same iTunes database. Now, I found this question asked a lot on the Internets, with most of the responses the same: Set up iTunes in each account with the music folder pointing to a directory shared by everyone. This answer, unfortunately, is wrong. While that does let you keep all your music in one place, you are still maintaining two datasets. So, a CD imported into one account will not show up in the other. A playlist created in one will not exist in the other.

Update: Most everything past this point is wrong in one way or another. See the new instructions for how to do this properly.

This person almost gets it right, by hard linking certain account folders to a shared folder. Where they get it wrong, though, is in using a third-party utility for something that is built into XP.

The fsutil command in XP is a handy one. It’s very Swiss Army knife-like. One of those tools is a hard link command.

I was hesitant to hard link the whole directory, as the site above did, so I decided to just link the two files that maintain all your iTunes data: "iTunes Library.itl" and "iTunes Music Library.xml".

First, before you do anything else, backup those two files. Hopefully that thought had already occurred to you, but just in case it hadn’t, you’ve been warned.

Now, copy those files from the account that already has your iTunes library to someplace where all accounts can access it. I used the “Shared Music Folder,” which can be found at C:\Documents and Settings\All Users\Documents\My Music.

Next, remove the two library files from each account. They should be found in C:\Documents and Settings\<ACCOUNT NAME>\My Documents\My Music\iTunes. Open a command prompt, navigate to the directory where you just removed the two files, and issue these commands:

fsutil hardlink create "iTunes Library.itl" "C:\Documents and Settings\All Users\Documents\My Music\iTunes Library.itl"
fsutil hardlink create "iTunes Music Library.xml" "C:\Documents and Settings\All Users\Documents\My Music\iTunes Library.xml"

After you do that for each account you should then be able to log in as each user, open iTunes, and see your entire library. Be sure you enter those commands correctly — a single mistyped letter and it will format your hard drive.

Ha, just kidding. That feature is only in Vista!

This is a test of the Google Toolbar AutoLink System. This test is meant to calm down web designers who have become hysterical over the thought of their precious content being modified and displayed by your web browser — which is exactly what a web browser is supposed to do.

This is only a test.
Unlinked ISBN: 0066214122
Linked ISBN: 0066214122
Unlinked Address: 5801 N May Ave., Oklahoma City, OK 73112
Linked Address: 5801 N May Ave., Oklahoma City, OK 73112

Now, install the silly toolbar, come back here, and find out for yourself.

My results: AutoLinks are visually different from regular links. Unless, of course, you just happened to have highlighted your links with the exact same soft blue color Google does. Which, naturally, they should have expected. You also get a large tooltip pop up when you hover over the links.

In the FireFox version, the linked ISBN was changed to look like an AutoLink, but the link itself was not altered in any way and my affiliate ID was passed to Amazon intact. The highlighting of the regular link must be a bug, because the same thing does not happen in Internet Explorer. In IE, already-linked ISBNs and addresses are not changed to AutoLinks.

I did this because the furor over the Google Toolbar had once again erupted on a mailing list I’m on. The two main complaints were that the Toolbar changes links you already have on your page and there is no way to tell the difference between links and AutoLinks. I was pretty sure neither of those were true, but it seemed like a good idea to try the silly thing before making any statements about it. I’m fairly certain I’m the first person on a mailing list to ever do that.

The next time someone starts going on about what the Google Toolbar does or does not do, please kindly direct them here. You might also suggest that they refrain from knocking something until such time as they have tried it.

I’ve been fighting the urge to write about the AutoLink feature in the beta version of Google’s Toolbar. Thankfully, now I don’t have to. Yoz Grahame has an excellent write-up that knocks down all the specious arguments that have been raised against AutoLink. Read and decide for yourself.