You Own It

July 10th, 2006

One of the rumors buzzing around the internet this past week is that Microsoft is working on a tough competitor to the iPod. Oooh! Shiver me timbers! The chances of Microsoft taking Apple down in the portable music arena are so miniscule that even John C. Dvorak thinks it’s impossible.

I heard him say so on today’s episode of This Week in Tech, one of the very best (and most popular) podcasts available. Another purported impossibility had to do with associated rumors that Microsoft was planning some kind of “buyback” plan for iTunes customers. The idea is that as a lure to switch to their service, Microsoft will offer to give you for free Windows Media versions of some number of songs from your existing iTunes library. The consensus seemed to be skepticism that Microsoft could even figure out which songs were the ones you had bought.

What immediately came to mind for me was the AppleScript interface to iTunes which, while pretty weak in some regards, still exposes quite a bit of information about the users’s music library. I was surprised the idea didn’t occur to host Leo Laporte, because I’ve heard him express a fairly high level of knowledge about AppleScript in the past. As a proof of concept, I’ve put together a simple script application. You Own It presents a list of all the purchased music from your library. If you’re at all concerned, or just curious, about what it does, just open it with Script Editor and read the script code yourself.

The crux of this functionality is based on a single iTunes AppleScript request

every track of library playlist 1 whose kind is “Protected AAC audio file”

I’m sure there are some loose ends here, but if Microsoft really wants to do this, it won’t be hard for them to do it right, or at least 95% right. Anyway, if they’re going to be giving out free songs, chances are they don’t really care if the songs are actually ones you bought from iTunes, or not.

Technorotten

July 6th, 2006

Update: Just a couple short hours after posting this entry, Technorati did in fact come to my rescue. I’ll be damned, it worked! Many thanks to Janice Myint for causing such a swift resolution to take place.

Chances are if you’re reading this blog you’ve heard of Technorati, the leading service for “adding up all the links” to the millions of blogs in the world.

There’s a mass joke of referring to the site as “Egorati” which is totally true and totally funny. Basically, it becomes addictive to go look at your own listing on the site and see whether your “rank” has gone up or down. I don’t really need it to see who’s linking to me, because I use Mint and that tends to catch things a lot more thoroughly and quickly than Technorati. But I still want to see my ranking!

The ranking has more than just ego-stimulation purpose. It helps you to get more readers who are looking for what you happen to be blogging about. While my ranking will never put me in the Top 100, there are many categories for which a relatively modest ranking will earn you a top billing for the category. So while I may not make it to the Top 5 Apple Blogs with John Gruber and Merlin Mann, there are other categories where I should be able to stand out a little bit.

Take for example the Top Cocoa Blogs. There are some real recognizable names in there. Brent Simmons and Steven Frank lead the category, but in contrast to the astronomical linkage numbers of Daring Fireball or 43 Folders, their blogs are actually “within my reach,” at least in terms of Technorati ranking. While I am nowhere near as popular or significant as either of those two men, my numbers add up. Even by Technorati’s current measurement, I should come in at third place in the Cocoa rankings, but I don’t show up at all. Why?

My entire Technorati existence has been plagued with bugs from day one.

Take a look again at my page, and you’ll see that Technorati thinks my blog hasn’t been updated in 78 days. This is in spite of repeated attempts to “ping” them with news of my changes. The bugs are deeper than that. Even back when it appeared that they noticed my updates from time to time, they would never “hook me in” to the Blog Finder results. I’ve configured my blog with a bunch of keywords, including Cocoa, but my listing never shows up. My content is also not being indexed. Take a popular recent blog of mine, the “Apple phones home” one. If you type the phrase into Google, you get my page as the first result. Type the same thing into Technorati, and you get a bunch of other blogs talking about my entry, but my entry itself is nowhere to be found.

Because I’m stuck in Technorati bug land. I’ve been there for several months and I can’t get out. So why am I complaining to you, the reading public? Because I’ve tried too many times with Technorati and received no reply or even acknowledgement that they’d look into it. So I figure in this crazy new world, maybe my only hope of getting in touch with Technorati is to actually write about them on my blog and let them somehow find it. Ironic, but it might just work?

I understand that Technorati must face a huge support dilemma. But if they’re going to simply not respond to support requests, it would be better to take the option to submit them off the page. When you submit a request ticket at Technorati, you get an automated email which contains the first sign of rotten-ness in the form of this sentence:

If you don’t hear back from anyone within a few business days then please let us know and be sure to include the subject and ticket number, “[Feedback] Web Contact: Blog Finder #33035], ” in your note so we may properly track your issue and its progress.

Translation: “support requests regularly get lost and go unanswered, so the onus is on you, the consumer if you actually want this to be tracked responsibly.”

I’m no expert, but if I was building a business, I would see this as a huge, red flag. If you have to build your apology for bad support in to the automated response then somebody is doing a terrible job or you haven’t hired all the people you need to in order to conduct a proper business.

The first couple times I submitted requests, I just waited patiently. Who am I to presume that my little indexing problem is worth rudely following up on the request. I’ll just wait it out. Surely they’re working on it. After a couple months or so I decided maybe their system requires you to actually go through the follow-up phase to turn into a “real ticket.” I responded to one politely and noted that things hadn’t been improving. No response.

I give up on your rotten support system, Technorati. It doesn’t work. It’s a black hole. Nobody responds and it makes me feel like an idiot. It’s rotten! You’ve got a great system and a great site but if you can’t patch up the mistakes then it’s worthless to me, and misleading to your customers.

Links Blog Yea or Nay?

July 5th, 2006

I started the Red Sweater Links blog as a place where I could feel comfortable spitting out short pointers to interesting things without worrying that I was overloading the main blog.

This solution has been a partial success, but there are some definite down-sides. I often find it difficult to choose whether something is a link or an article. And often a link turns into something I want to talk more about. I am feeling a draw to just merge the two back into a single blog.

This is your chance to share advice or opinions before I “throw the switch.” If you’re a subscriber to both the links and the main blog, would you find it easier to just have one source to monitor?

Another thing I could do is attempt to aggregate several “links” into a single post to minimize “entry pollution” while still having a unified feed.

Can you tell I’m confused about this situation?

Elastic Tabs

July 3rd, 2006

Nick Gravgaard has come up with a pretty simple solution to the “tabs vs. spaces” problem. He proposes a system for the elastic interpretation of tabs (via Joel) by text editors. Basically it comes down to treating tabs as indicators of a “new column,” instead of assigning an arbitrary number of spaces to them. The graphic on his page explains it better than I can with words.

A major drawback that he points out is poor readability in older (i.e. all current existing) editors, but maybe it will catch on. I think it’s really cool that you could, for instance, lengthen one line in a block-comment and all the other lines would automatically grow to match that column’s new width. How many times have changed a comment like:

/* Juicy bits of  */                /* Juicy bits of     */
/* info for our   */   ----TO--->   /* info for our best */
/* client.        */                /* client.           */

Extending the second line meant you had to “up the tab ante,” by manually clicking all the other lines of the block comment and tabbing out its final characters, as well.

I think his system would work well for me in most instances, though I’m slightly concerned that sometimes my code does not fit well into discrete columsn. Maybe it’s just poor style on my part, but for instance I could see myself writing something like this:

int doodad;   // what a thing;
int flubber;  // also neat
doodad = doSomethingFunnyAndScary(flubber);    // Not too shabby...
flubber = andTheOppositeCouldAlsoRock(doodad); // Lovely!

In other words, sometimes I end up with localized tab-aligned comments that, to remain pertinent to their target, are kept pretty close (just one tab away). Now in Nick’s system, the “column system” for any chunk of code is uniform until a blank line is encountered. So the above would probably end up looking more like this:

int doodad;                                    // what a thing;
int flubber;                                   // also neat
doodad = doSomethingFunnyAndScary(flubber);    // Not too shabby...
flubber = andTheOppositeCouldAlsoRock(doodad); // Lovely!

It would be easily solved in this case by putting a blank line (which is probably appropriate anyway) between the variable declarations and the code. But I’m not sure yet that all cases would be so easily “fixable.” Still, an excellent experiment and I’ll be curious to see if any major editors incorporate the technique as an option.