Portable Media Devices and Subscription Services

I just read this interesting article on subscription services and portable devices. Apparently, Napster is going to be offering an upgrade to their current unlimited streaming service next year that will support portable devices. For $5 more a month (a grand total of $15 a month) you can transfer an unlimited number of Napster’s 700,000 tracks to a compatible portable device. Major Cool. In Napster’s CEO’s own words:

You can fit 10,000 songs on [a top-of-the-line iPod], but to do that would cost you $10,000 if you bought the songs from Apple. With our plan, customers can get 10,000 songs on their device for $180 a year. It’s an enormous value.

I had the Napster streaming service for a while, but the inability to take the music on the go was the major reason I canceled it. My 40GB Nomad Zen Xtra is only 55% full – I would re-subscribe to this service in a second if I could use it to fill up the remaining 17GB. Unfortunately, according to the article, the Zen Xtra isn’t one of the six devices that works with the new DRM technology…yet. Creative is supposed to upgrade their Zen Micro (again, according to the article) early next year. I would expect that Creative would upgrade at least their jukebox media players – if not the entire line – to support the new technology. I’ve been a happy Nomad customer for years now (I own three Nomads – the Zen Xtra, a IIc and a MuVo) but my brand loyalty would plummet if I had to buy a new player to use the new service.

MSN Spaces List Syndication

After reading this entry by Chris “Long Tail” Anderson (as opposed to Chris “Avalon Architect” Anderson) I went back to play with my MSN Space. In addition to the blog, my MSN space supports photo albums and lists – both of which show up in the RSS feed. Cool, so MSN Spaces solves the issue that Chris is having with Movable Type (though MT expects to support this soon). Since I’m using NewsGator Outlook, each change to the list shows up as a new entry, but I imagine other news readers simply update the content and mark the post as unread.

However, there is one slight issue with the MSN Spaces RSS feed – at least for photo albums. The RSS item’s description is a snippet of HTML showing the thumbnails of the photos – or at least, the thumbnails of the first ten photos. I understand not pushing every thumbnail down to the client automatically, but once you get past ten photos in a photo album, the RSS decription doesn’t change when you add more pictures and the people syndicating your site don’t have any way to know you’ve updated the album. There needs to be some other snippet of HTML, maybe showing the time and date of the last update, that will change so that the news readers can tell the album has been updated.

Otherwise, my only real quibble with MSN Spaces is the unfriendly URLs. The url for my Patrick photo album is huge and ugly. Ouch! Why can’t it be something like http://spaces.msn.com/members/devhawk/photos/patrick\_pics?

Update: I deleted the actual URL to the Patrick Photo Album as it is huge and was causing scrolling issues with my blog template. Feel free to click on the photo album link and then you can observe the url from the comfort of your own browser address bar.

Concurrency: Next New Major Language Feature?

Several people have pointed out Herb Sutter’s great article on concurrency entitled The Free Lunch Is Over. When I blogged last week about new possible features of “full-grown” OO languages I mentioned dynamic typing but I didn’t think about concurrency. I think Herb is right: “programming languages…will increasingly be forced to deal well with concurrency” as applications get more CPU bound. Maybe I need to take another look at Comega (or Cw). Cw extends C# in two areas – data typing/querying and concurrency. The concurrency extension used to be called Polyphonic C#, but the name got changed when it merged with Xen/X#. (BTW, there’s a new Cw release (v1.0.2) but no specifics as to changes other than no longer needed VS.NET 2003 to be installed in order to use it.)

Cw adds the idea of asynchronous methods and something called chords – sets of methods with the same method body. The chord method body in only executed when all the associated methods have been called. In the simple buffer tutorial, the buffer class has a synchronous Get method and asynchronous Put method. If you call Get before Put, it blocks until Put is called, then the method body is executed. If you call Put before Get, then the Put call returns immediately (it is async after all) but the call is queued so that when Get is called, the method body is executed immediately. FYI, the Cw docs have a variety of other tutorials of async methods and chords.

BTW, speaking of my post on full grown OO languages…My father suggested that I not jump to conclusions regarding the X-develop‘s support for what they term “toy languages or little domain specific languages”. In fact, Hans Kratz of Omnicore (which makes X-develop) had this to say:

This comment on our website was not intended to bash DSLs at all. Instead we wanted to make clear that the plugin API in X-develop is powerful enough to allow integrating support for “full-grown” languages without placing arbitrary restrictions on language complexity.

For a language developer/integrator this is a plus regardless if he wants to integrate support for a DSL or “full-grown” programming language.

Makes sense. Maybe I was just too sensitive to the use of the word “toy” so close in proximity to “DSL”. Sorry about that Hans.

New SSB Library and Community Site

A couple of weeks ago, Paul Murphy pointed me at a SSB Wrapper Class that’s included in one of the SQL 2005 Beta 2 sample apps. That prompted an email from the SSB dev lead with a much better SSB library that they had written. You can get that library, along with two new samples that use it, up on the SQL Server Service Broker Developers Spot. The SSB Dev Spot is a community site dedicated to apps written on top of SSB. It’s run by Dan Sullivan of Developmentor, who is also hosting his new blog on the site. I hear Dan and fellow DM-ers Bob Beauchemin and Niels Berglund are all very excited about SSB. Nice to know I’m not the only one.

We’re At Elf-Con 1

NORAD has been tracking Santa on Christmas Eve for 50 years. My mother-in-law remembers listening to it on the radio. Now, they have a website. Apparently, Santa and I visited a few of the same places this year. Here’s Santa at Sky City in Auckland, New Zealand. Here he is at the Sydney Opera House in Australia. And here he is at the Great Wall of China. According to NORAD, Santa hasn’t hit Seattle yet – last report was at 10pm pacific time and Santa was in Colorado. But I’m sure he’s on his way.

Happy Holidays everyone.

Update: about 15 minues after I posted this originally, Santa was spotted in Seattle. I thought I heard something downstairs.