Random Thoughts

Tech, words and musings from an Englishman in Seattle

Lucas - Nice One

It's rare that a blog with a technical bent makes me laugh, but you've got to check out Lucas Gonze's post on the current RSS spec "extension" issues.

Microsoft: the company actively sought Dave's blessing... [snip]

Yahoo!: the company did not actively seek Dave's blessing... [snip]

Apple: the company wiped its ass on a copy of the RSS 2.0 spec about ten minutes before announcing podcasting support in iTunes yesterday, in the process giving 'funkiness' a historic new meaning.

Yes, I'm selectively quoting, but it's the portion that made we laugh out loud. Go and read the full post.

Big Bandwidth Bills On The Way?

Up until today I've been averaging just over a gigabyte of traffic out of my website - most of it podcasts. So far today, I'm up over 11 GB! And I'm a rather minor podcaster. Who knows what sort of traffic the more well known podcasters are getting after the release today of podcasting support in iTunes.

June Traffic

Fly With Me

A pilot for a "major national carrier" is podcasting. He takes his portable recorder on flights with him and presents an absolutely fantastic behinds the scenes look at commercial flight.

Fly With Me: Hear from flight attendants and pilots as they tell what goes on behind the galley curtain (and behind the cockpit door).

Shownotes On The iPod

Now that's interesting. If you use iTunes to download podcasts, the contents of the description element end up on the iPod and can be viewed by clicking twice on the button in the center of the click wheel...

iPod-Shownotes

More On Shownotes

Thanks for everyone's feedback so far on this. You can read my original posts on the subject of shownotes here and here. I'd like to thank Hobson and Holtz for their comments from a user's perspective in their podcast "For Immediate Release: The Hobson and Holtz Report". Interestingly, they also mention Britcaster, so I'm effectively in their show twice!

Also, on friday night at Gnomedex I had the opportunity to talk to Dave Winer about the subject. A very nice bloke, who gave me some good feedback and suggestions. I'm currently firmly convinced OPML is the way to go.

On the subject of addressing the issue of user needs and some example scenarios, I thought you might be interested in the following, excepted from a post I made to the ipodder-dev mailing list:

...I totally agree on the need for end user support - how many of us edit RSS by hand anymore - very few I suspect. Personally I rely on the MT-Enclosures plugin in MT to do it all for me. The same would need to happen for this idea, but it will require some time on the part of the podcaster.

I can envisage a number of app scenarios. From a web based helper app to purely provide a form fill in, through to a full podcaster application (e.g. CastBlaster, Odeo) that you would enter the metadata whilst reviewing the show before uploading. Personally, my workflow when producing my podcast has me listening back to the show before uploading for two purposes:

  1. To make sure I haven't messed up anywhere.
  2. To create the shownotes with timestamps.

The implementation of a small app to playback the podcast and provide the ability to enter metadata/annotations, and then squirt out the final file should be the first order of business during the investigation of this idea.

Gathering input from podcasters as to their workflow would be very useful.

I do my shownotes with timestamps and place them in my blog entry structured with ul.

As for end user scenarios, others here have posted some ideas, I'd like to brain dump a little:

  • The Rock'n'Roll geek show has album art that changes with every song and includes a link to each band.
  • Engadget has links to their articles about everything they talk about, plus pictures.
  • A show like Claybourne has act/chapter entries.
  • An Opera podcast might include the libretto, moving along with the show.
  • A foreign language podcast/vidblog might include subtitles.
  • Any vidblog might include subtitles for the hard of hearing.
  • A podcast of a conference includes the slides.
  • Someone listening to the podcast via a Media Center would have shownotes/images/links appear on the television.
  • On my pocketpc I press a button to mark an interesting point in the show - later on I can review these marks, visit links, read more info.
  • In my podcatcher client I can see the shows I haven't yet downloaded, view the shownotes in a treeview for the show and mark particular sections for download.

I'm sure there are many more.

The Tumbleweeds Of Post-Gnomedex

Man has the blogosphere gone quiet. I think everyone I'm subscribed to was at Gnomedex and now we're all knackered. Considering the multiple T1s needed to keep the wifi network at the conference fed, I think the entire internet infrastructure in the Pacific Northwest is also breathing a sigh of relief. I'd love to see a map of the traffic usage over the net for the past few days...

Was Adam Curry's 200th Source Code a fun way to end the conference, or what? I hope everyone gets to see a video of Scoble dancing during the mashup.

It was a wonderful event. Thanks Chris.

Aggregators

17 Aggregator Publishers

At the moment there's a BOF for feed aggregators during lunch. On stage right now there must are 17 different people representing different publishers!

Subscription Synchronization

Synchronization of subscriptions became a hot topic during Steve Gillmor, Dave Siffy and Scott Gatz's panel. The feeling was that someone needs to solve this. A get/put for opml would be great, but the rest of the meta-data is needed also, i.e. read/unread item information. Much resistance to any form of roach motel effect.

Longhorn Loves RSS

These are just my notes. Expect bad grammar and unfinished sentences. I'm sure the Channel 9 video explains this better... I haven't seen it yet.

Subscribe is big. We went browse -> search -> subscribe! There's a balance.

Longhorn will enable RSS for developers and users at a deep level.

First public showing of IE7. Everytime the browser encounters a feed a button appears - renders RSS, provides subscription model.

Subscriptions placed in common feed list for the user. An application can use this. Alluded that there'll be a common api to access feed content, be it rss, atom, etc...

An enclosure is an item in a feed of content.

Demo of subscribing to a feed of ical items. An application used the platform to get that data and populate outlook. The was a bunch of people getting hot under the collar about "why would you do that with calendar items, this way is better, etc..." I think they missed the point. The point (I think) was that an application was using the platform to ask if there were feeds containing particular item types, and then doing something with it. The platform is dealing with (and being a central repository for) subscriptions, and performing the download, space management, etc....

Lists are different to feeds. They are extensions to RSS that identify a feed as a list and describe the content so that consumers of the feed can do rich things with it. The specification for the RSS extensions will be available under a Creative Commons license. Details on the IE Blog.

Nice cool free jackets too.

Gnomedex Morning

Odd. I'm not a morning person, so I set the alarm for 6.30am in order to get across the water on time for the start of the Gnomedex day.

I woke up wide and awake and 6.20am. Isn't it interesting what your body and subconcious can do given a good motivator?

Traffic was incredibly light. I was expected an hour or so to get from Kirkland to the waterfront in Seattle, but it only took 20 minutes - go figure.

So here I am, sitting in the auditorium with my bag of goodies, waiting for it all to begin...

I'll probably be posting here, and over on my OPML blog at http://blogs.opml.org/stevelacey...

Gnomedex 5.0 - Evening Soiree

So Gnomedex 5.0 kicked off this evening in Seattle at the Odyssey Maritime Center. You can find my pictures so far over on flickr - or just check out the Gnomedex 2005 tag.

Gnomedex Badge

So far I've met a bunch of interesting people including Steve Mays, Leo Notenboom, and others. I also had an interesting conversation with a guy from Nickelodeon of all companies - the media is definitely waking up.

One interesting event was the fire alarm going off and the building being evacuated...

Did someone say fire?

BBQ

In the play areaa

Uploaded to flikr by Steve Lacey at 22 Jun '05, 9.50pm PST.

This weekend we hosted a Father's Day bbq at our place. Karen has a nice write up on her blog.

Hand

Hand

Uploaded to flikr by Steve Lacey at 21 Jun '05, 11.27pm PST.

Julian's daycare (The Learning Garden) are just wonderful. For Father's Day, Julian gave me this.

This doesn't normally happen, but it definitely brought not only a tear to my eye, but a little thought to my mind.

Thank you.

Sometimes you get discouraged

Because I am so small

And always leave my fingerprints

On furniture and walls.

But every day I'm growing -

I'll be grown some day

And all those tiny handprints

Will surely fade away.

So here's a little handprint

Just so you can recall

Exactly how my fingers looked

When I was very small.

All the other parents out there know where I'm coming from.

Podcast Shownotes As OPML

Regarding my previous post Podcast Shownotes as RSS, Dave Winer responds: "That's cool, but I think OPML works a bit betta."

I do believe he has a point.

When I was first thinking about this, my mind was in the RSS space, but I had a niggling feeling OPML might be the better choice. Then, after Dave's post I realised that the reason to use OPML (other than there are editors about) is that it's hierarchical. Hierarchical shownotes would definitely be useful:

  • Introduction
  • Act One
    • Something happens...
    • Something else happens...

  • Act Two

Support for this would be very similar to my previous post. Using the namespace prefix sjl we just need to define one tag for the main feed that specifies the location of the opml file, and for the opml file itself we define several attributes for the outline type "shownotes". Does this need something like a namespace prefix? I need to ask Dave or some other OPML expert about how outline element types are made unique... It's handy that Gnomedex is coming up...

We then get:

[an item in podcast.xml]

<item>

<title>A Brit Abroad - June 14, 2005</title>

<description>

Normal shownotes go here...

</description>

<enclosure

url="http://www.steve-lacey.com/Some.mp3"

length="15094642"

type="audio/mpeg"/>

<sjl:shownotes>

http://www.steve-lacey.com/Notes/Some.opml

</sjl:shownotes>

</item>

[Notes/Some.opml]

<opml version="1.0"

xmlns:sjl="http://www.steve-lacey.com/sjl/">

<head>

<title>A Brit Abroad Shownotes</title>

</head>

<body>

<outline text="A Brit Abroad" type="shownote"

sjl:shownoteFor="http://www.steve-lacey.com/Some.mp3"

sjl:shownoteLink="http://www.steve-lacey.com/Item.html"

sjl:shownoteFeed="http://www.steve-lacey.com/Feed.xml">

<outline text="Name and date check."

type="shownote" sjl:begin="0" sjl:end="3"/>

<outline text="Intro music and sweeper."

type="shownote" sjl:begin="4" sjl:end="15"/>

<outline text="Act One" type="shownote">

<outline text="Something happens..."

type="shownote" sjl:begin="16" sjl:end="320"/>

<outline text="Something else happens..."

type="shownote" sjl:begin="321" sjl:end="462"/>

</outline>

</outline>

</body>

</opml>

I'm sure someone is going to scream, you can't extend OPML like that.

So there we have it. I could go either way - RSS or OPML, but OPML does give you the potential for hierarchical shownotes. Thanks to Dave for the nudge.

Thoughts?

Update: Thinking about this some more, due to the hierarchical nature and the suggested structure above, a single OPML file could contain the shownotes for multiple podcasts. Going out on a limb here, the client could actually subscribe to the OPML file itself instead...

A Shownotes Alternative Suggested

Dossy suggests that my approach to shownotes as RSS is wrong. I have to respectfully disagree with his arguments.

He claims that my suggestion would require a change in the RSS specification. This is not true. My approach is an extension via the use of a namespace. This is a subtle distinction, but an important one.

Current podcatching clients will continue to work fine and new ones could be enhanced to look for the new element that describes the location of the shownotes rss file and then parse that.

Even further, Dossy initially says that his alternative requires no changes to the RSS spec, and then goes on to define a new semantic to be applied to urls in the enclosure element and suggests extensions to the enclosure element.

I'm glad someone is joining the conversation though...

Next up, I believe that Dave Winer may actually be right and suggest an alternative using OPML that may be the, ahem, winner.

Podcast Shownotes As RSS

I've been thinking about this off and on for a while, so I thought I'd put this idea out there to see if it gains any traction.

So a big problem with podcasts is that there's no standard way of doing shownotes, and no standard way for the client to tie together the shownotes and the audio. So here's an idea.

Similar to the contruct, each item in a podcast would contain a element (I'm using the sjl namespace just because I can…)

The RSS feed refered to by the shownotesRSS element would contain items that are the individual shownotes, each one containing a time index and other information such as a description and/or image. For example (extraneous stuff removed for readability):

[an item in podcast.xml]

<item>
  <title>A Brit Abroad - June 14, 2005</title>
  <description>
    Normal shownotes go here…
  </description>
  <enclosure 
    url="http://www.steve-lacey.com/Some.mp3"
    length="15094642"
    type="audio/mpeg"/>
  <b><sjl:shownotesRSS>
    http://www.steve-lacey.com/Notes/Some.rss
  </sjl:shownotesRSS></b>
</item>

[Notes/Some.rss]

<rss version="2.0">
  <channel>
    <title>A Brit Abroad June 14, 2005</title>
    <link>
        http://www.steve-lacey.com/Some.html
    </link>
    <b><sjl:shownotesFor>
      http://www.steve-lacey.com/Some.mp3
    </sjl:shownotesFor></b>
    <description>
      Talk and music from an ex-pat brit.
    </description>
    <item>
      <b><sjl:shownotesTime>0</sjl:shownotesTime></b>
      <description>Name and date check.</description>
      <image>
        <title>An image for this entry</title>
        <link>
          http://www.steve-lacey.com/someimage1.jpg
        </link>
      </image>
    </item>
    <item>
      <b><sjl:shownotesTime>4</sjl:shownotesTime></b>
      <description>Intro music and sweeper.</description>
      <image>
        <title>An image for this entry</title>
        <link>http://www.steve-lacey.com/someimage2.jpg</link>
      </image>
    </item>
    …etc…
  </channel>
</rss>

This method therefore needs only three new elements in a (new?) namespace:

  • shownotesRSS: points to the rss feed for the shownotes
  • shownotesFor: points to the media file that the containing rss feed provides the shownotes for. (link item points to the original blog entry).
  • shownotesTime: time index in seconds for this shownote item.

This gives podcatching clients the ability (if they do the playback) the show images, links, text and index into the media. WMP could also do this via some plugin.

Plus the two feeds are self-referential. I like it, so I think I'm going to try it out in Katana, my podcatcher testbed application.

Thoughts?

Mauritius - The First WiFi Country

My wife's family hail from Mauritius, a small island in the Indian Ocean. Thus, I was happily surprised to read on yahoo that Mauritius aims to be the first country to provide complete WiFi coverage.

They've already covered 60% of the country, reaching 70% of the population.

"If there's anyone who can do it, it's us," said Rizwan Rahim, the head of ADB Networks, the company installing the wireless radio network across the 40-mile-long island. "It's a small place, so for a wireless network it's manageable. For us, it's a test. If it's successful here, we can island-hop to [mainland] Africa."

Via Boing Boing.

Talking To The Animals

Talking to the animals

Uploaded to flikr by Steve Lacey at 19 Jun '05, 2.09pm PST.

A few weeks ago, Nabila, Julian and our neighbour Anna went to Woodland Park Zoo. By all accounts, fun was had by all.

Ribs

This afternoon the dads are getting together at our place for a BBQ - the first using my new grill - a Father's Day present from my darling wife.

But those aren't the ribs I'm discussing here.

When I first got to the States, one of the first things I tried was snowboarding. Of course, the first thing I did was fall over and crack a rib. That took a month or so to get over. Then I did it again. And again. Then I gave up on snowboarding...

In 1999 I went sailing with some friends in Thailand - towards the end of the trip I was trimming (adjusting) the jib (big sail on front of boat), when the sheet (rope connected to the big sail at the front of the boat) got away from me. I stupidly held on and felt a very weird sensation in my chest - a sort of tearing. There was no pain so I though nothing of it.

A few days later we were sitting in the lounge at Bangkok airport when my whole chest went into spasm - I couldn't move or breathe - everyone thought I was having a heart attack. I get rushed over to the clinic (whilst United were thinking about unloading my bags - yikes!). They diagnosed a separated rib and gave me some nice muscle relaxant which (later on in the plane) went very nicely with the Jack Daniels.

Handily, my traveling companions Deb and Di had convinced United to wait for me, and upgrade me to business class!

I digress.

On Friday I went for dinner with some friends and when we arrived, I nipped into the bathroom. The door has a really heavy spring which I forgot about when leaving the loo. The door smashed into my chest, winding me completely and aggravating some old rib injury. Now it looks like I'm back in one of those month long rib recovery periods.

And I really wanted to play golf today...

When SetFocus Doesn't

So we were recently debugging a little problem in Flight Simulator that occurred when we were transferring focus between child windows using SetFocus. The problem was that SetFocus was returning NULL (which, according to the docs is an error condition), but a subsequent call to GetLastError returned 0 (everything is fine and dandy). A call to GetFocus confirmed that the focus hadn't changed.

After much debugging we figured it out. The target window was being hooked via a WH_CBT hook which was returning TRUE in response to a HCBT_SETFOCUS - i.e. the hook was telling the OS not to transfer focus. It would have been nice to have received some sort of useful error like ERROR_HOOK_JUST_MESSED_WITH_YOU.

Lesson learnt. Window hooks can mess with you when you least expect it.

After figuring that out I pinged Raymond Chen about the issue and this is what he had to say:

The reason you don't get a userful error is that the window manager doesn't even know that an error occurred. You called SetFocus. The window manager dispatched it to a hook. The hook returned the code "It's taken care of, no worries," and the window manager says "Okay, well then that's that." With a hook, a program can modify or even replace certain parts of the window manager. Of course, with that power comes great responsibility. If a hook wants to make SetFocus fail then it's the hook's responsibility to set an error code.

Toddler Property Laws

1. If I like it, it's mine.

2. If it's in my hand, it's mine.

3. If I can take it from you, it's mine.

4. If I had it a little while ago, it's mine.

5. If it's mine, it must never appear to be yours in any way.

6. If I'm doing or building something all the pieces are mine.

7. If it looks just like mine, it's mine.

8. If I saw it first, it's mine.

9. If you are playing with something and you put it down, it automatically becomes mine.

10. If it's broken, it's yours.

It's certainly correct!

I hadn't heard this one before, though a quick search finds loads of hits. No attributions though.

A Brit Abroad - June 14, 2005

Once again, after too long an interlude its podcast time. Today we talk about British podcasters, Powerbooks, podcatching software and driving on the wrong side of the road. Today's music is by Neon Brown - go and buy their music now!

At 31 minutes and twenty seconds and weighing in at 14.4MB, It's A Brit Abroad!

Show Notes

00:00 Name and date check.

00:04 Intro sweeper and music.

00:38 Introduction to the show.

03:38 Skype call starts with introductions and banter.

01:00 What's coming up in the show.

01:41 Ident.

01:50 Neil Dixon and Britcaster.com.

02:40 The Britpack, put together by podcastpaul.

03:42 A Minor Technicality excerpt.

05:42 Podcatcher software and thoughts regarding the Apple iTunes announcement.

09:01 Podcast search engines.

09:47 Music from Neon Brown - Nice Feathers.

12:07 Live audio pop debugging...

14:00 The Powerbook affair, including some personal history and thoughts on the Apple/Intel announcement.

20:36 Ident.

20:50 More music from Neon Brown - Pants Then Shoes.

25:40 Name check.

26:00 Expanded version of my Britpack segment on the differences between UK and US driving habits.

29:03 Ident.

29:07 I wasn't ranting. Honest. Passport hassles.

29:50 Conclusion. Comments welcome. Thanks to Neil and Phil for the idents.

31:02 Outro music.

31:20 End.

Enjoy!

Gnomedex

Next week is Gnomedex. If you're going and would like to meet up, let me know.

Should be mucho fun.

Podcasts As An Idea Pitching Tool

Over on VentureBlog, David Hornik talks about how Fred Wilson is using podcasting to receive pitches from startups - the elevator pitches. This is a very cool idea. Basically people tag a pitch with a del.icio.us tag "fred'selevatorpitch" and then he subscribes to the RSS feed. That way the pitches end up on his media device, ready for listening when he has the time.

I like that a lot. It could be used for so many other things too...

Delving deeper though, del.icio.us rss feeds don't support enclosures, so I'm not sure how this works at all. Maybe some podcatchers will download content specified in the link tag?

That aside, it's still a cool idea.

Serial Numbers

I just received a new video card and after installing that went to install some software that came with it. I pop the CD into the PC and setup starts. Soon enough I'm asked for a serial number.

I type in the serial number on the box that the video card and software came in.

No good.

OK, the the software has its own serial number. Not on the CD sleeve. Not on the manual. Where is it?

Oh. They're not that daft are they? I pop the CD out of the drive and lo and behold, there it is printed on the CD itself.

So I have to run the installer and when it asks me for the serial number, pop the CD out of the drive, type it in and pop the CD back in hoping nothing is going to barf.

Lunacy.

The BritPack Podcast Coming Real Soon

Over on BritCaster.com, podcastpaul is putting together a joint podcast experiment "The BritPack". Hopefully it'll be out today.

The basic idea is that a bunch of British podcasters put a five minute segment together and these get put together into a single show. I contributed my five minute segment last night which I'll link to as soon as the main show has come out (I don't want to spoil the fun). I'll syndicate the show through my feed as soon as it appears.

While you're over on the site, please check out some of the other fine British podcasters. This is a great site, put together by Neil Dixon of the "a minor technicality" podcast.

This is fun. Check it out and listen to some fine British accents for a change.

Apple Switches

So it's official - Apple decided to Think Different.

I'll let the masses comment, but an interesting tidbit is the developer platform: a 3.64 GHz P4. This seems to imply that there will be nothing out of the ordinary with the actual Intel based Apple hardware (i.e. they're not going to be using XScale chips or other non-x86 chip). Jobs talks about moving applications to be mostly just a recompile - for CPU intensive apps I think that's under-estimating the endian-ness issues a bit.

Overall, this looks like a nice move for Apple and Intel.

It's Going Back

So I've been trying the Powerbook out on and off for the past week now, and though I absolutely love the hardware, I can't deal with the poor text rendering in OSX.

I bought the machine for personal use to try out the other OS. (Yeah, yeah, there's Linux too, but that runs nicely in Virtual PC...)

But no matter how cool the UI is (and it is cool, not sure how it'll stack up against Longhorn though), I can't get past the text rendering. For me, it's just too blurry. And yes, I've scoured the web for solutions and tried them all. It just doesn't stack up to ClearType, no matter what people say. And I don't buy the "it's the way anti-aliased text looks in print" argument. For a start, it's not print, it's an LCD panel, and second, I don't care. Text in Windows just looks so much better. All of course in my humble opinion...

So it's going back tomorrow.

I'd been thinking all week "why can't PC manufacturers come up with a Windows laptop design as cool as the Powerbook?" The Powerbook design has everything. It's sleek, widescreen, all the I/O ports you could want. Bluetooth, wireless. Cool, geeky lights on the power connector port and latch - not to mention the very cool backlit keyboard.

Damn, I want to run Windows on this thing.

According to Scoble it looks like I might not have to wait for long. Maybe Apple will build it for me.

I wonder if it'll be possible to run Windows on an Intel based Powerbook?

Now that would be cool.

Swooning At My Feet

Ian Jones writes:

Another of my favourite PodCasts is Steve Lacey's A Brit Abroad, again, it's strange to hear a English accent in a PodCast, but this time you're prepared, as the title suggest you're going to get a British accent. I wonder, do American women swoon at his feet when ever he talks?

Never happened. It's a damn myth... honest guv.

© 2001 to present, Steve Lacey.