I found the time to start on integrating the ability to download podcasts in RSS Bandit today. One of the things I realized is that we can't make the blanket assumption that every enclosure we see in an RSS or Atom feed is a podcast. I decided that instead of only exposting enclosures as podcasts, it would be more generic and maybe more useful to treat them as file attachments to feed items.

Below is a screenshot of what this looks like

There are other bits of UI we have to add such as a download queue and a podcasts inbox. I've also been thinking of adding the option to enqueue downloaded podcasts in iTunes or Windows Media Player. I wonder if the Zune player will provide an API so I can add that as an option as well. I should ask around at  work.

I also explicitly decided against any sort of podcasts directory functionality. If we don't typically use 'blog directories' why do we need feed directories? We're about two weeks from being done with this feature after which we'll ship a beta of the Jubilee release. My current thinking is a beta before Thanksgiving in the U.S. and the final release just before the Christmas holidays.


Categories: RSS Bandit

October 19, 2006
@ 06:06 PM

I got an email over the weekend from a friend of mine who's leaving Microsoft. I wasn't surprised to see him leave Microsoft, given that the every project he's worked on at Microsoft has either been cancelled mid-project or end of lifed in that release. After being at Microsoft for five years, I've now begun to see the signs that a project is likely to crash and burn early on. Below is a top five list of signs your software project is in trouble I compiled as part of my 'parting career advice' to my intern.

  1. Schedule Chicken: This is typically a sign that the project's schedules are unrealistic. A project with unrealistic schedule is either an indication of poor communication between layers in the product team or even worse, bad management that punishes the messenger when there is bad news (e.g. poor initial estimation of project length). The main problem with schedule chicken is that you can be "date driven" or you can be "quality driven", you can't be both.

  2. Scope Creep: Requirements changing as a software project progresses are natural. They can change due to feedback from the customer after they get to try out a prototype, due to changes in the competitive landscape or because the original requirements had hidden conditions which were not discovered until after implementation. When things get bad is when the goals of a project are changed or increased significantly without a corresponding significant change to the expected timeframe for delivery. WinFS merging with Object Spaces is my canonical example of scope creep at Microsoft.

  3. Underresourced: You don't bring a knife to a gun fight. So you shouldn't expect that 3 developers and $50,000 will be able to compete with the Googles and Microsofts of the world. Similarly, if you work at a big company and you have a handful of folks working on a product where competitors have large teams or entire companies working on the same problem space, you're probably in over your head.  

  4. Second System Syndrome: Once you ship a software application, it instantly becomes legacy code. To a developer this means there is something newer and sexier that can solve the same problem in a more elegant way. Eventually a project is started which is intended to replace the existing product which customers are finding useful. This is often a double whammy. The new project is hamstrung out of the gate by having to meet customer expectations on backwards compatibility, performance and new features in comparison to the old product. This burden is often a crushing weight on the second system which eventually collapses under the strain. In addition, the old project is often abandoned or at best put in "maintenance mode" with only a skeleton crew working on it even though it pays the bills.  

  5. No Entrance Strategy: There is a lot of talk in the software industry of exit strategies but a lot of the time software products do not have an entrance strategy. How do you get people to use the application? How do you get the first 100,000 or 1 million users? Sometimes in big companies, there is also the corporate strategy tax to consider when deciding whether a product has an entrance strategy or not. When I was on the XML team at Microsoft, there were folks on the team working on a project they called X#. The project was basically C# with extensions to handle relational and XML data access as operations native to the programming language. I attended an internal presentation about the project and when asked what the deliverable from the project would be, the team members actually showed a Photoshoped image of a Microsoft Visual C# box which read Microsoft Visual X#. Of course, this was at the time Microsoft was taking heat for introducing both C# & Visual Basic.NET at the same time. It was unlikely that Microsoft would ship a third similar language anytime soon. The project was killed, resurrected  and morphed a couple of times. The story eventually ended happily with a lot of the innovations in the language eventually showing up as .NET Language Integrated Query (LINQ) (aka C# 3.0). That was one instance with a happy ending, a counter example is the new file system for Windows being cancelled a few years after it was announced to be shipping separately from the operating system. A file system that doesn't ship with the operating system doesn't sound like a product with an entrance strategy to me. How about you?


Categories: Life in the B0rg Cube

Jeffrey Zeldman has a blog post entitled Web 2.0 Thinking Game where he writes

A few weeks back, The Economist was calling “Web 2.0″ a trend. Their phrase was, “hot Web 2.0 trend.” The magazine now intends “Web 2.0″ to be understood as a sort of second edition:

This week’s pairing of Google and YouTube may come to be remembered as the moment “Web 2.0″—ie, the web, version two—came of age.

Clearly “Web 2.0″ means different things to different journalists on different days. Mostly it means nothing—except a bigger paycheck. But let’s simplify what The Economist is saying:

Web 1.0: AOL buys Time Warner.
Web 2.0: Google buys YouTube.

Put another way:

Web 1.0: New media company buys old media company.
Web 2.0: New media company buys new media company.

If we’re stuck with this meaningless Web 2.0 label, let’s at least have some fun with it. Here’s my new game. I’ll start, you finish:
Web 1.0: Users create the content (Slashdot).
Web 2.0: Users create the content (Flickr).

Web 1.0: Crap sites on Geocities.
Web 2.0: Crap sites on MySpace.
Web 1.0: Karma Points.
Web 2.0: Diggs.

Web 1.0: Cool Site of the Day.
Web 2.0: Technorati.com.
Now you try it!

There are a lot of funny ones in the comments as well such as

Web 1.0: Old folks have no clue.
Web 2.0: My parents just left a comment on my blog. - Charlie

Web 1.0: Rational Unified Process implementing J2EE
Web 2.0: “Getting Real” using RoR - Kevan Emmot

Web 1.0: 20,000 Hits on my webpage!
Web 2.0: Ive been dugg 1000 times on Digg! - Regnard Raquedan

Web 1.0: Pamela Anderson
Web 2.0: Paris Hilton - Chase

Here're a couple of my own, let's see what you guys come up with

  1. Web 1.0: Netscape IPO
    Web 2.0: Google IPO

  2. Web 1.0: My startup just IPOed, I'm gonna be rich
    Web 2.0: My startup just got bought by Google, I'm gonna be rich

  3. Web 1.0: Napster
    Web 2.0: YouTube

  4. Web 1.0: Yahoo! Bookmarks
    Web 2.0: del.icio.us

  5. Web 1.0: Java applets
    Web 2.0: Widgets

  6. Web 1.0: Beth Goza
    Web 2.0: Niniane Wang


From a tech support article on the Apple website entitled Small Number of Video iPods Shipped With Windows Virus we learn

We recently discovered that a small number - less than 1% - of the Video iPods available for purchase after September 12, 2006, left our contract manufacturer carrying the Windows RavMonE.exe virus. This known virus affects only Windows computers, and up to date anti-virus software which is included with most Windows computers should detect and remove it. So far we have seen less than 25 reports concerning this problem. The iPod nano, iPod shuffle and Mac OS X are not affected, and all Video iPods now shipping are virus free. As you might imagine, we are upset at Windows for not being more hardy against such viruses, and even more upset with ourselves for not catching it.

If all else fails, Blame Microsoft!

PS: Found on the Channel 9 forums.


October 18, 2006
@ 01:30 AM

From the ACLU press release President Bush Signs Un-American Military Commissions Act, ACLU Says New Law Undermines Due Process and the Rule of Law we learn

WASHINGTON - As President Bush signed S. 3930, the Military Commissions Act of 2006 into law, the American Civil Liberties Union expressed outrage and called the new law one of the worst civil liberties measures ever enacted in American history.
"The president can now - with the approval of Congress - indefinitely hold people without charge, take away protections against horrific abuse, put people on trial based on hearsay evidence, authorize trials that can sentence people to death based on testimony literally beaten out of witnesses, and slam shut the courthouse door for habeas petitions.  Nothing could be further from the American values we all hold in our hearts than the Military Commissions Act."

It's a good thing the American media is keeping on top of all the important issues like which gay Republicans were having inappropriate relations with heir male interns instead of mundane bits of legal mumbo jumbo like the death of Habeus Corpus.


Joshua Allen has a blog post entitled He Bought Houses for the Whole Village where he writes

In China, nearly everyone has at least one story about, “someone from village ‘X’ started a business and got really rich, so he bought houses for the whole village.”  I’ve heard several variations, from people in different walks of life, over the past couple of years.  Although the details vary widely, the stories are sometimes true, and follow that same basic pattern.

I began to wonder, why is this such an appealing story for people to tell one another, and do we have similar stories in America?  That is, what kind of “good fortune” story is likely to get quickly passed from mouth to mouth among Americans?

I found it interesting reading to see Joshua trying to map this concept to American examples and failing to find a good comparison. Similar stories are quite common place in Nigeria or at least were when I still lived there almost a decade ago. There are lots of reasons why such occurences are common in places like Nigeria & China but not in places like America. My impression is that the top two are

  1. Deeper Sense of Community: People from the same village in Nigeria typically share the same ancestors, the same culture spanning hundreds of years and speak the same language. Neither cities nor small towns in the America have the same history or depth of connectedness between people living in the same area. This sense of community also makes it more likely people will feel an obligation to helping their people from their village when they have good fortune. The closest analog to that sense of obligation being widespread in America has been college alumni associations. When I first moved here I found it surprising that people are more likely to spend money helping the school they went to college than their home town.
  2. A Little Goes A Long Way: In Nigeria, most of the affluent people are a generation or less removed from living in huts in some remote part of the country. When my dad grew up, the richest man in the village was the guy with a bicycle and a radio. In a country where 70% of the population lives on less than $1 a day, it doesn't take much [by American standards] to better people's lives. In comparison, the average income in the U.S. is around $100 a day.

The rest of the reasons are mainly variations on the two mentioned above. The reason that in America
our word of mouth heroes are people who spend their money on incredibly stupid stuff.
as Joshua puts it can mainly be explained by the first point above. In Nigeria, you are expected to help those from where you came from as well as spend money on incredibly stupid stuff. In America, there isn't an expectation to help your roots except for looking after your parents and sending in donations to your college alumni association.


Categories: Personal

By now I'm sure you've gotten your fill of the news that Google is purchasing YouTube. The most interesting reactions I've seen are the the video of the YouTube founders talking about their newfound wealth on YouTube and the BusinessWeek interview with Steve Ballmer. After thinking about it for a few days, I've come to suspect that this may be an example of the Winner's Curse especially when you consider that the $1.6 billion Google is paying isn't all they have to pay. They'll also have to make deals with the major media content producers (i.e. movie & television studios, record labels, etc) which they've already started doing. I wouldn't be surprised if this deal eventually ended up costing north of $2 billion when all is said and done

Unfamiliar with the Winner's Curse? See the article Nasty Auctions which contains the following excerpt

Imagine a professor who holds up a $20 bill in a class and auctions if off to the high bidder. What do we expect to happen? It would make no sense for anyone to anyone to bid higher than $20, and if the high bid is below $20, someone in the class will have an incentive to bid a bit higher. The end result is that the $20 bill should fetch a high bid of something very close to $20, if not $20 itself. This image of people bidding up the value of an item to its true value is used repeatedly when economists discuss markets. However, auctions are not always so nice.

Imagine instead that the professor presents his class with a bottle of coins. He lets them inspect the bottle, but they cannot open it and it is impossible to count the money in the bottle. He then asks everyone to write down a bid, and accepts the high bid. When this experiment is run in actual classrooms, the end result is that the average bid is less than the value of the bottle, because people are risk-adverse and will bid less than they what the expect the value to be. Some people err in underestimating the value of the coins in the bottle, but others err in overestimating their value. Usually one of the people who overestimate the value ends up winning the bid, and it is very common for the bid to be higher than the true value. Economists have dubbed this phenomenon "the winner's curse," and find it a featue of bidding for oil-exploration rights and for free-agent baseball players

Only time will tell whether this deal turns out to be a bargain like Rupert Murdoch purchasing MySpace or a bad move like the AOL<->Time Warner merger. One thing's for sure, it probably won't be considered as wacky as the eBay<->Skype purchase which will probably never make sense.


I'm in the process of putting the finishing touches on the infrastructure code for downloading podcasts in RSS Bandit. The main things left are handling the uncommon cases such as password protected enclosure files and resuming downloads if the application is restarted. I should be able to make some progress with UI integration by the end of the weekend.

The current question I've been trying to figure out is what podcast feed(s) should be in the default set of feeds when a new user installs RSS Bandit. My original plan was to go with Ask A Ninja but it seems there's some weirdness in the feed where some enclosures are Flash files while the others are Quicktime movies. The feeds I'm currently considering are

Which of these do you think is a good fit for the typical RSS Bandit user? Are there other podcasts I should be considering?

Update: It seems there are even more problems with the Ask A Ninja podcast. It seems the service hosting their podcast files (such as this one) rejects HTTP requests from the Windows Background Intelligent Transfer Service (BITS). I'm not sure what to do about this problem since there doesn't seem to be a way to change the User Agent string in the HTTP requests sent by the BITS client. :(


Categories: RSS Bandit

October 13, 2006
@ 04:32 PM

Stephen O'Grady has a blog post entitled What is Office 2.0? where he writes

As some of you know having spoken with me on the subject, I have little patience for philosophical discussions of what Web 2.0 really means. When pressed on the subject, I usually just point to properties like del.icio.us and say, "That is Web 2.0." Likewise, I'm not terribly concerned with creating strict textual definitions of what Office 2.0 is, as long as I can credibly cite examples that exhibit the tendencies of a "next generation" office platform. As this show amply demonstrates, that part's easy. Google Docs & Spreadsheets, Joyent, Zoho, and so on? Very Office 2.0. Microsoft Office and OpenOffice.org? Office 1.0. Q.E.D.

While the question of what Office 2.0 is doesn't really keep me up at night, however, what it means absolutely does. We have a unique view on the technologies, because we're not merely covering analysts but avid users. And what's obvious to me, both as an analyst and a user, is that Office 2.0 has strengths for every weakness, and weaknesses for every strength.

The trend of talking about things without defining them and then revelling in the fact that they are ill-defined really makes me wonder for the future of discourse in the software industry. I thought all the discussions about SOA were bad but "Web 2.0" and "Office 2.0" puts all that to shame. I'm especially disappointed to see people who call themselves "analysts" like Stephen O'Grady join in this nonsense.

The problem with his del.icio.us example is that when I look at del.icio.us I see a bunch of things, I see a site that has

  • tagging/folksonomies
  • open APIs
  • user generated "content"
  • supports syndication via RSS feeds
  • a relatively small amount of users and is likely to stay a niche service
  • nothing of interest that will ever draw me in as a regular user

The problem with lumping all these things together is that the impact of each of the main bullet points is difference. The impact of the trend of more websites filled with user generated content from blogs to podcasts is different from the impact of the trend towards open APIs and "the Web as a platform".

Similarly when it comes to "Office 2.0" the impact of anywhere access to my business data from any thin client (aka browser) is completely different different from the promise of Web-scale collaboration in business environments that some of the products Stephen O' Grady mentions portend. Lumping all these things together then failing to articulate them makes it difficult to discuss, analyze and consider the importance [or lack thereof] of what's going on on the Web today.

Please, stop it. Think of the children.


Categories: Technology

October 11, 2006
@ 01:33 AM

Niall Kennedy has a blog post entitled Widgets Live! conference in San Francisco on November 6 where he writes

The first ever conference dedicated to widgets, gadgets, and modules will take place on Monday, November 6, in San Francisco. The one-day conference will capture and summarize the emerging widget economy and allow developers, business leaders, and content producers to collaborate and better understand how they might participate in syndication at the edge of the network.

Widget endpoints

A small web loosely joined.

I am organizing a conference named Widgets Live! next month in partnership with Om Malik to capture the emerging webspace of widgets. There's so much happening in the fast-moving widget space right now it's a bit difficult to keep track of it all....There is so much activity in the customizable web powered by widgets we felt it was time to bring together the major players for a one-day industry overview and tutorial. We hope you can join us.

Tickets are only $100 and available now.

I've been talking to folks at work about this conference since Om Malik responded to my blog post about having a get together to talk about gadgets widgets. So far it looks like Microsoft folks from Live.com, Windows Live Spaces, Windows Live Gallery and the Windows Vista sidebar should in the house. The conference will be during the same week and in the same city as the O'Reilly Web 2.0 which has worked out perfectly for fitting people's schedules over here. Well, except for the folks who will be going to TechEd Europe.

Be there or be square . :)


Categories: Web Development