Category Archives: Uncategorized

Whidbey delay, hotfixes, and PSS

So there’s obviously been a TON of blogging in the last week over Microsoft’s decision to delay Whidbey until 2005. Dan Fernandez posted some details about this early this morning, and he actually raises some interesting questions about giving developers early code.

Now, keep in mind I have a slightly different perspective than many of the bloggers who have commented on this – my perspective is as an ISV.

My take on the delay? Ship it when it’s ready. I can wait. Sure, I’m annoyed by certain things in VS.NET that will be changed in Whidbey. But it’s just a tool. I can wait. And for the next version of the Framework? Hmm.

For NewsGator for Outlook, honestly, I’d rather have as few versions of the .NET Framework in existence as possible – because every version that’s released multiplies the size of the test matrix. “Backwards compatibility” looks great on marketing materials, but pointing to a glossy doesn’t cut it for final testing of a product prior to release.

For web development, for example NewsGator Online Services, it’s a totally different story. We control the environment completely…so new framework releases aren’t a big deal. We can choose to upgrade whenever we like.

So after reading Dan’s post, Frans Bouma gets a little fired up – both on his own blog and in Dan’s comments. Dan says that there are numerous hotfixes available for the .NET framework or VS.NET, and Frans doesn’t like that answer:

Say there is a bug [in .NET] which I need fixing for my own software to work correctly. Am I helped with a fix from PSS? NO! My own install perhaps works, but my customers who will use my software have to call PSS as well! An ISV can’t rely on that: “To get this piece of software working, you first have to call Microsoft for a fix”. Most customers don’t want to install hotfixes, they want service packs.  That’s why a hotfix is nice for an internal application, however for ISV’s it’s absolutely nonsense: they can’t ship the software with the patch, the customers have to call MS themselves.

Well, Frans, I don’t think that’s quite true in the general case. We had a show-stopper bug in the .NET 1.1 framework, which would pretty much grind NewsGator to a halt on certain (fairly rare) configurations. This problem was costing us dearly, in a measurable way. Working with PSS, they issued a hotfix for the problem, which solved it nicely.

We then worked with Microsoft to get a limited redistribution license. The bottom line? We can distribute the fix to our customers who need it. It took a little paperwork, but it made sense for everyone.

I’ve had my share of PSS pain, like everyone else. I remember once, at another job, we had a memory leak problem with COM on W2K. I built a test case in about 50 lines of code, and I could reproduce it on every machine we had at the time. Started with PSS, and the problem got escalated quickly (the problem was serious enough that we would have considered switching platforms at the time). The engineers were having problems reliably reproducing it – so I remember taking a whole machine out there and carrying it myself to the engineer’s desk. Lol. Only to find out later that the problem was “too big to fix in a service pack” and would hopefully be fixed in the next version of Windows. Yikes!

But even then, their engineers worked with us to eventually come up with a workaround.

In the end, whenever we’ve had a reproducible show-stopper bug, Microsoft has always worked with us in one way or another to meet our needs. Kudos.

Business on the Golf Course

Most folks will agree…a lot of business gets done on the golf course. Balls are lost, but relationships are formed and deals are made.

Jeff Sandquist recently posted about getting folks together to play Links 2004 on XBOX Live, and I thought, “fun idea”. It wasn’t until I talked with Jeff later that I realized the power behind such a simple idea. Not only are you playing the game, but you’re chatting with the players in your group. A friendly game of golf, between folks from Microsoft and ISV’s. Friendly banter. Competition on the course. Relationships are made, which are the foundation of a successful business.

I wish I had thought of it. Count me in.

Building Cool Stuff

For the most part, I’m in this business to pay the bills. Not that I don’t love it — I do — but as I have said before, there are other things I’d love to do too, like spend more time racing cars. But every now and then, you hear something very cool:

The faster we can figure that out, and enable our partners to build cool stuff, the better off we’ll both be. That’s why I like .NET so much. It helps our partners build cool stuff (like the NewsGator news aggregator that has completely changed my life). [Scobleizer: Microsoft Geek Blogger]

Building software that changes people’s lives – that’s something I’m excited about. Thanks, Robert. I’m glad you like it. :-)

RSS extensions

You may not have realized it, but NewsGator 2.0 supports arbitrary RSS extensions. Yep, arbitrary – you can define whatever extension you like, and NewsGator will be able to use it in one way of another. Let’s explore how this works, and what you can do.

First, what is a RSS extension? Here’s a trivial example. Suppose you have a RSS item:

<item>
<title>My Post</title>
<link>http://example.org/post14.htm</link>
<description>Here is what I have to say.</description>
</item>

Pretty straightforward. But I could add my own data to this item:

<item>
<title>My Post</title>
<link>http://example.org/post14.htm</link>
<description>Here is what I have to say.</description>
<greg:CoolFactor>10</greg:CoolFactor>
</item>

But if I do this, most client tools will completely ignore the CoolFactor element. Until now.

With NewsGator 2.0, there are three different ways you can deal with extensions:

Map data to a column – you can take any extension data and map it to a column in Outlook. For example, I could create a column in Outlook called “coolness”, and map the above CoolFactor data into that column. I could then not only see it, but sort on it, or whatever else I’d like to do with it. NewsGator users, go to NewsGator/Options, Rendering tab to see these mapping options.

Render custom data in the post body – NewsGator 2.0’s rendering engine now uses XSLT, and you can customize the transforms used to render the items. What’s more, any custom data (such as the CoolFactor element is available to these transforms…so you could have a custom rendering based on this data by building a new stylesheet. For example, change how big the font is based on some value, or have a big blue number in the corner showing the custom data.

And further, a feed can “recommend” what stylesheet should be used to render it. NewsGator won’t automatically download stylesheets (for a number of reasons, mostly security-related), but if the named transform exists, it will use it.

Custom NewsGator Extensions – NewsGator 2.0 provides a new extension API, which can be used to do any arbitrary processing on RSS extension elements. You can do literally anything you want to here – examples:

  • Create a meeting request in Outlook based on custom data in the feed
  • Create a contact in Outlook based on custom data
  • Retrieve content from a web site or internal business system and include it in the rendering

The possibilities are endless. The extension API is not yet up on the web site (it will be soon), but it available on request to anyone who would like to use it.

Arizona Motorsports Park shut down

From the Arizona Republic:

The Maricopa County Board of Supervisors ordered the closure of a controversial West Valley racetrack Wednesday…when it opened for business last spring with a Sports Car Club of America racing event, residents immediately began complaining about the noise of revving engines on the 2-mile course just south of Luke Air Force Base.

A sad day. I’ve raced there – and it’s an awesome track.

I just don’t get it about the noise. Sure, a race track isn’t a quiet place. But it is literally right next to an air force base. When we were there, we literally had to cover our ears sometimes as the jets would fly a few hundred feet overhead. Now THAT is noise, and a whole lot louder than the track was.

Atom feeds and well-formed XML

Nick and Brent (here and here) have announced that FeedDemon and NetNewsWire will have strict parsing for Atom feeds, meaning non-well-formed feeds will not parse in those products. I totally understand their position, and sympathize with their arguments. However…

NewsGator 2.0, and all of the NewsGator editions being shipped as part of NewsGator Online Services on January 19, will parse Atom feeds using a very similar parser to that used for RSS; that means that most “questionable” feeds (of which there are a LOT) will parse ok.

The vast majority of our customers don’t care about well-formed XML – they care about getting information. Our tools are designed to make that happen.

Confessions of a Napster 2.0 user

As I’ve mentioned before, I’ve been using Napster 2.0 (formerly Pressplay) for about 8 months or so. Despite a couple of minor glitches, overall, it’s been a very positive experience. I’m on the $9.95/mo plan. A few observations from continued use:

  • First, I’m at my desk probably 10 hours/day on average, and I’m streaming content most of this time. I listen to a lot more music now than I ever did. And I listen to a much wider variety of artists now.
     
  • When I read about some new music, or a friend tells me about some new artist, I can just search for them on Napster and listen to them instantly. There have been only a couple of times when I couldn’t find what I wanted; and the artists I couldn’t find don’t seem to be available on any online service that I’ve seen. Examples – Madonna and LeAnn Rimes.
     
  • When I find something I really like, and I’m constantly listening to it, I go buy the CD rather than buying the music through the service. Then I can play it in the car, in my disconnected home stereo, and rip it to my computer to listen to it there. This is good for the label, I suppose, but I wonder what it does to the margins for Napster. I’m guessing at $0.99/track, there is very little margin there anyway…so hopefully they’re making a reasonable profit from the monthly fee when I’m constantly streaming.
     
  • Most songs on Napster have the full song available for streaming, but a few songs/artists only have 30-second previews. I’ve found that if an entire album is only previews, I won’t listen to it…but one of my favorites has all full songs, except for one preview-only song. Annoying, but I hate to admit it’s actually a good incentive to buy the CD. I want to hear the rest of that song! :-)
     
  • I really want a 10 foot interface for this stuff that I could run on a Media Center PC, which I have heard rumors actually does exist. I guess now all I need is that Media Center PC!