February 6, 2006
@ 11:00 AM
I just spent 35 minutes working on a post on RSS and Email only to lose it because Firefox crashed. The main reason I started composing my blog posts in Firefox was because I had lost some posts due to crashes in Internet Explorer. I guess it's back to writing my blog posts in Emacs.

*sigh*


 

Categories: Ramblings

Nick Bradbury has a post entitled Feedback on IE7 Beta 2 from the Developer of FeedDemon where he gives a lot of good feedback on the recently released IE 7 beta from his perspective as the developer of an RSS reader. Although I've given some feedback on the RSS reading functionality of  the IE 7 beta, I realize it would be more valuable to give my thoughts on the Winows RSS platform since this is supposed to make the job of people like me who've built RSS readers better. Below is a smattering of feedback divided into pros and cons of using the Windows RSS platform versus using the version we've built for RSS Bandit. Note that as Nick says in his post given that I've already written a lot of the ugly code needed to handle feed downloading, caching, parsing, etc. actually switching to use the Windows RSS platform is a load of unnecessary work for me. My feedback is based on the kind of support I'd need from the platform to implement the scenarios currently supported by RSS Bandit .

PRO

  • COM API  was very straightforward to interact with from  .NET applications
  • Built-in support for downloading enclosures in the background is nice
  • Good support for asynchronously downloading feeds. This means application developers don't need to write a bunch of multithreaded/asynchronous code themselves. That is definitely a godsend.
  • One can serialize feed objects to  XML

CON

  • No support for application specific feeds. The Common Feed List assumes that user needs to use the same list of feeds in the various applications used for subscribing to feeds. I think this assumption is fundamentally flawed. I might use one application for downloading podcasts (e.g. iTunes), another for reading blogs (e.g. RSS Bandit), and yet another for browsing photo feeds. Since it doesn't make sense for my blogs to show up in iTunes, it would be cool if I could identify either the type of feed (podcast, text-based, etc) or the favored application for reading the feed via the API.
  • No support for password protected feeds. The number of password protected feeds on the Web continues to grow, Web sites such as GMail and LiveJournal provide authenticated feeds for users today. As the usage of syndication technologies like RSS continues to grow, the need to support authentication by feed readers will also grow as well. I can imagine a day when I can subscribe to a password protected feed from my bank or credit card company. Not having support for this today is a non-starter.
  • Support for obtaining XML elements which aren't supported by the API. It would be nice if there was a property for obtaining extension elements in a feed that didn't involve having to convert the feed object to XML then using XPath. Being able to perform a call like  Feed.GetItem("http://wellformedweb.org/CommentAPI/ ", "commentRss") to get an element which isn't mapped to a property in the Feed object is a lot more desirable than writing DOM or XPath code to extract that element from the results of calling Feed.Xml
  • No ability to append application specific metadata to feeds. RSS Bandit supports notions like flagging items and we'd need some way to indicate that items are flagged if we are using the API.

Most of this is just based on reading the Using the Microsoft Feeds API document on MSDN. I'm sure I'd have more feedback if I took a pass at replacing all the feed processing code in RSS Bandit with the Windows RSS platform. However I don't think I'll have time to do that anytime soon.


 

Next month, I'm currently scheduled to attend both the O'Reilly Emerging Technology Conference and MIX '06. Given my current work load it is unlikely that I can afford to be away from work for almost two weeks next month. It's likely that I'll just attend one conference next month, in which case it will be ETech not MIX. I was talking to some folks at work about this recently and we talked about the difference between O'Reilly conferences and Microsoft conferences which led me to this decision.

Microsoft's conferences are about technology and often are pitched as training events. The pitch is usually some variation come spend three to five days learning about exciting Microsoft technologies. The MIX '06 website currently has the following on the front page

  • Learn how to deliver revolutionary media-rich Web content with the new Windows Presentation Foundation,
  • Explore Windows Live!, Microsoft's new consumer services strategy
  • Find out how to extend your content, media and services into the living room with Windows Media Center and Xbox 360™
  • etc

O'Reilly conferences are often about getting interesting people together. The pitch is usually some variation of come spend three to five days listening to and meeting exciting people in the technology industry. The O'Reilly Emerging Technology Conference has the following speakers highlighted on the front page

  • Ray Ozzie
  • Jon Udell
  • Joel Spolsky
  • Tim Bray
  • Mark Pilgrim
  • Danah Boyd
  • Sam Ruby
  • Kevin Lynch
  • Linda Stone
  • Clay Shirky
  • etc

If you were a Web geek and only had enough time to attend one conference, which one would you attend?


 

Categories: Web Development

One cool side effect of the fact that so many people at Microsoft use RSS Bandit is that sometimes I get to have some of the folks who invented the technology it is built on helping me track down issues. For example, many of our users have complained about issue mentioned in the following post entitled Problems running from non-administrator account.

There's a slight problem if you run RSS Bandit from an account that isn't member of the Administrators security group.

When you run RSS Bandit (at least the first time after installing), it writes to a file called "rssbandit feed installer.InstallState" in "%ProgramFiles%\RssBandit". If you run as administrator that isn't a problem, but non-administrator accounts won't have write access to anything under %ProgramFiles%, which will prevent RSS Bandit from starting.

A workaround is to add write permission for "everyone" for that specific file.

It turns out that someone actually filed a bug against the Windows Installer team because they had problems installing RSS Bandit on their computer. Not only did the developer assigned the bug track me down to tell me what I was doing wrong in our installer but  Rob Mensching has also promised to swing by my office next week to give me some tips on writing installers.

Below is a description of what I was doing wrong from Carolyn Napier of the Windows Installer team.

If the file you’re manipulating for the feed information is in the ALLUSERS profile, then you will need to be an admin to access it. The current type specification for the custom action is 1025, which means the custom actions runs with the same privileges as the user that invoked the installation.

You can designate a custom action to run elevated (meaning at a higher privilege level) by adjusting its type. Visual Studio Installer doesn’t expose this, but you can use Orca, the MSI Table Editor, included in the Windows Installer SDK to tweak the type. (Other full-feature authoring tools make this available, like Wix, InstallShield, Wise, etc.).

Instead of 1025, make it 3073. Then your custom action will run with elevated privileges.

I installed Orca, the MSI Table Editor, and found the field she was talking about. It looks like this issue will finally fixed in the next version of RSS Bandit. Torsten has suggested that I use a full-featured installer tool instead of what ships with Visual Studio. I suspect this may be the straw that breaks the camel's back and gets me to start exploring Wix. I'll see what Rob advises next week.

I hope this post helps any other people who've had similar problems with installer projects built using Visual Studio.NET 2003.


 

Categories: RSS Bandit

February 3, 2006
@ 01:25 PM

Danny Sullivan, one of the guys behind the popular Search Engine Watch blog has written a blog post about his RSS reader of choice. The post is entitled Reading Feeds With RSS Bandit and begins

Dave Naylor and I were IMing today about IE 7's new RSS feature. He was very excited. I haven't tried it yet, but the screenshot he sent me didn't make me think it was better than the RSS Bandit feed reader I currently use. I've been meaning to write about that anyway, so this gave me an excuse.

Let me preface this by saying that everyone seems a bit different on how they read feeds. Some do it for pleasure, and they aren't worried about missing something, in the same way they might not worry if they missed a day or two of reading the newspaper. Others read for work and maybe manage a ton of feeds (that's me). Others seem to want to read one feed at a time, something I've seen some people describe as "wrong" or "stupid."

My feeling is that there is no "right" way to read feeds. Anyone who tells you that is the stupid one. What's the "right" way to read a newspaper or watch TV. Can you start with Business and then read the main news sections. Do you need to watch each program from beginning to end or is flipping allowed?

Read feeds however you want. What is helpful is to hear about how others do, because you can pick up tips or ideas on how you might improve your own reading.

I'm going to explain how I've shifted in my own reading. I hope some find that useful, but like I said, I'm not saying this is the "right" way to read nor that I use the "right" tool that everyone should use. It just what works for me.

Danny goes on to talk about the various ways one could choose to use RSS Bandit from treating it like a mail reader and viewing posts one by one as new items show up in each feed to consuming them in the "river of news" style by always reading the "Unread Items" folder. In building RSS Bandit we've tried to make it flexible so it can be adapted to multiple reading habits since as Danny says in his post there is no "right" way to read feeds. Different people find different approaches more suited to their needs. 

One thing Danny suggested which I haven't commented on before in my blog is the ability to organize feeds according to tags. I've thought about this a little over the past few weeks, specifically I've been comparing the user experience of Windows Live Favorites which is folder based with that of del.icio.us and Bookmarks in the Google Toolbar which are both tag based. One thing that seems clear is that it would be difficult to mix and atch (i.e. merge) both models. We'd probably have to let users switch between a traditional folder view which would use the current tree control and a tag view which would use a control similar to Eyefinder which mimics the Outlook 2003 user interface. Of course, this assumes that the main benefit of the tag view is so people can have feeds show up in multiple 'folders'. If people want other tag-based user interface features such as tag clouds then that would be problematic to implement as a Windows user interface component but may work as a newspaper view that is tied to the tag-based view.

The more I think about it the more I think there is definitely room for experimentation here. Now if only I could find some free time to experiment with some of these ideas. :)


 

Categories: RSS Bandit

A few days ago, in my blog post entitled Some Thoughts on the IE 7 Beta 2 Preview release I described the RSS features of IE 7 as unsatisfactory and disappointing. It seems I'm not the only one who dislikes what the Internet Explorer team has done with RSS.

In his post RSS Is a Glorified "Favorites" Feature Scott Karp writes

RSS is in Internet Explorer 7!!! The blogosphere is shouting from the rooftops. Yawn. I tried RSS in IE7, and it highlights the true shortcoming of current RSS applications — it’s really not much of an improvement over “favorites” or “bookmarks.”

IE7 goes so far as to put the RSS reader in same menu as favorites (or as TDavid puts it “A separate “Feed Center” exists inside the Favorites area.”), which appears in a left-hand navigation column.

So what’s the real innovation over Favorites/Bookmarks in terms of user experience? That it “automatically updates”? That I can get everything all in one place? That it highlights what’s new?

In his post RSS Really Sucks Paul Kedrosky writes

A while back I wrote that RSS sucks, and now that I've had some more time to think about it I've come to a deeper and more nuanced conclusion: RSS Really Sucks. The point was driven home recently as I read articles by people arguing that IE7 from Microsoft does RSS well enough to kill off a few standalone aggregators. I suppose, although that's a little like saying that buggy whips drive milk-wagons so well that people will soon stop using willow branches to goad horses.

Why? Because, as Scott Karp points out, the IE7 RSS implementation is as glorified "favorites" -- bookmarks, in other words. And they are particularly irritating bookmarks, ones that continually change and needle you as more "information" (I use that advisedly) comes beeping and streaming into your computer.

The main reason I am so irritated by IE 7's lackluster user experience around RSS is that you only get one chance to make a first impression. Using IE 7 will be the first time millions of people will be introduced to RSS and it would be unfortunate if they come away from thinking that is potentially transformative and liberating technology is simply a kind of "bookmarks that nag you all the time" feature.

I've heard some people say that if Microsoft integrates a high quality RSS reader into the browser then it would kill the desktop aggregator market which is the kind of thing Microsoft gets in legal trouble for all the time. My response? That is Death by Risk Aversion. What matters is making end users happy, not worrying about making features that suck just enough that people have to go out and buy software that does the job well so we don't get in legal trouble. 


 

February 3, 2006
@ 02:59 AM

One of the things I have learned about shipping software is that no matter how much work you put in beforehand, you're going to have to make some changes (fix bugs, tweak code, etc) after your software is actually in the hands of end users. Last week's update to MSN Spaces was no different.

Mike Torres talks about some of these changes in his post Some updates (and a new feature!) where he writes


We updated some things today; every one of those things was based on direct feedback from you guys.
 
I want to comment on just a few things quickly...
  • We have a new feature: the Windows Live Favorites Beta module.  OK, OK.  I know what you're thinking... "Didn't you guys just release a bunch of new features last week?"  Yes...  Yes, we did.  But we wanted to use this opportunity to introduce yet another cool new and exciting feature.  Don't know what Live Favorites is all about?  Check it out here - and then add the module to your space to share your bookmarks with your friends... or the world!  Bill has a complete overview on his space.
  • Links in the RSS feeds didn't point to the actual entry, it pointed to the blog page and now it points to the entry like it should have.  Hence everything is probably unread again in your RSS reader :(  But, it's FIXED for good! So if you were wondering what's up, that's what was up.
  • Overall performance and stability improvements.

And the kicker...

  • Comment ordering is back to the way it was before.  Thanks for all the feedback; I really didn't like it either.  When you're used to something, sometimes it's just better not to touch the thing.  Of course, there will be people who don't like it the "old" way either!  But that's a risk we're willing to take at this point to make sure the other 99% of you are happy again.  Thanks Eileen, Tony, Becky, and others who made this happen :)

There were also about a dozen or more fixes here and there...


What about Photos?  We're also working on some simply outstanding stuff here... but this work will take some more time.  Rest assured, we hear you loud and clear about Photos.  So we think you'll really like what's coming up!


One of the reasons I like Web-based software is that we can ship bug fixes to our users quickly without having them deal with installing patches, updates or downloading new installers as is the case with desktop software. I love the Web!!!

PS: Mike is right that there are some cool improvements to photos being planned for the MSN Spaces service.


 

Categories: Windows Live

In his post Thanks Bloglines Mike Torres writes

Over the course of the last few days, we noticed a problem in the way Bloglines was displaying feeds from MSN Spaces.  This problem was due to our recent URL change and the way we're redirecting visitors from http://spaces.msn.com/members/mike (as an example) to http://spaces.msn.com/mike.  Instead of providing the absolute URL to the RSS feed when Bloglines and others requested the feed, we're only returning the relative URL (i.e. "/mike").
 
Because of this, Bloglines had to turn around a fix to support relative URL redirects in record time.  Within just a couple of hours of contacting them, they had diagnosed the issue, fixed up all the Spaces feeds in their entire system, and patched the redirect logic to make sure it wouldn't happen again.  During this time, the subscriber lists/counts associated with a feed weren't updated for a little while (my 362 subscribers showed as 9, but my ego wasn't bruised) and they even did the extra work to merge "new" feeds with "old" feeds (because when the feed broke, and someone subscribed to the correct feed, Bloglines then had two records for the 'same' feed).
 
In short, this was truly great work by Mark Fletcher and the Bloglines staff.  Sorry guys for keeping you up so late on a Tuesday night!  We'll be making a change to the way we redirect shortly just to make sure this won't be a problem for anyone else in the future.  And for you Bloglines users, you should be back to normal for any MSN Spaces feeds in your list!

Mike and I exchanged mail with Mark Fletcher about this issue on Tuesday, and as he writes we were both grateful and impressed at how quickly the Bloglines folks made changes to fix the consequences of a bug in how we were sending HTTP redirects. Mad props to Mark Fletcher and the folks at Bloglines. You guys definitely rock.


 

In a recent post on the RSS Bandit forums entitled Microsoft Feeds API, one of our users asked when we plan to take addvantage of the Windows RSS Platform. Specifically the question asked was

I downloaded IE7 beta 2 preview and one of the new features is feed support. There really is no comparison between RSS Bandit and the minimilist support IE7 provideds however it is my understanding that there is more to the feed support then the basic UI IE provides. Apparently the Feed API is highly integrated into Vista and has been backported to XP as part of IE7. I would like to suggest (and I have no idea if this is even possible) that RSS Bandit embrace this new API. It's in it's early stages and I'd like to see it mature with the help of RSS Bandit into a usable common feed store for any number of apps (RSS Bandit, IE, plus anything else that decides to use it like the sample screensaver app in the API documentation.) Perhaps that's asking too much but I figured I should at least put the idea out there. It would be really great if, while surfing the net in IE I could subscribe to rss feeds using the IE mechanism, maybe take a quick look through them in IE, then later go back in RSS Bandit and be able to use the much more powerful features (such as stored searches, and folder aggregation) without having to have two copies of my actual feed lists to maintain.

Here's a link to the only info I could find on it so far:
http://msdn.microsoft.com/library/en-us/FeedsAPI/rss/rss_entry.asp

To the various people who have asked this question [including my friends on the IE team], the answer is YES we will support the Windows RSS Platform. As Walter, wrote in his post on Windows RSS Platform there are 3 main components of the platform; the Common Feed List, Feed Synchronization Engine, and Feed Store. Ideally I'd like to use all 3 in RSS Bandit but suspect that it'll be difficult to switch to using the Feed Synchronization Engine or the Feed Store provided by the Windows RSS platform. For example, our feed synchronization engine supports subscribing to USENET newsgroups which I doubt the Feed Syncrhonization Engine in the Windows RSS platform supports. On the other hand, it should be straightforward to satisfy the scenario requested in the quoted post where items subscribed in IE 7 are reflected in RSS Bandit and vice versa.

I need to work out the user interface with Torsten but it should be easy for us to support the Common Feed List. My current thinking is that we'll have a special folder for "My Internet Explorer Subscriptions" as opposed to mirroring the entire feed list in RSS Bandit within IE 7 and vice versa. Thoughts?


 

It seems like I'm not the only person underwhelmed by the recent Internet Explorer 7 beta release. Alex Russell, one of the guys behind the brilliant Dojo Toolkit, has a blog post entitled How IE7 Can Avoid Irrelevance which lists a number of places where Internet Explorer is deficient when it comes to DHTML/AJAX development. He writes

At a minimum, dynamic web apps need the following out of IE and JScript in the very near future:

  • Memory leaks need to simply disappear
  • Fix the cache+gzip bugs
  • Give us getters/setters in JScript or give back watch()
  • Fix the event object. Pass it in to DOM handlers by default. Also, offsetLeft and offsetTop are so ambiguious as to be useless. Give us currentTarget.
  • Bump the limit on the number of concurrent HTTP connections if those connections are initiated after onload (either via XMLHTTP or other methods)
  • Today, allocating more than 5K objects or so brings JScript to its knees. Object allocation cost needs to be O(1)
  • Either revive (and start to fix) VML or give it an SVG-Tiny+DOM facade
  • Give us a persistent, string-keyed, local cache in the MB range (5-10MB/domain seems a good start)
  • Fast DOM queries. CSS selectors or XPath, we don’t care. Just give us a way to say “get us all DOM node objects matching this”
  • A way to toggle the box model on a per-element basis without switching doctypes. The CSS 3 box model spec seems a good starting point

If Microsoft is to re-build any credibility around their browser, they need to show us the goods. CSS fixes won’t suffice this time around.

This is a pretty good list and it contains a lot of the features Jon Udell mentioned that he would like to see in future versions of Internet Explorer in his post Further adventures in lightweight service composition . The only thing I'd change about Alex's post would be to rename it How IE8 Can Avoid Irrelevance. I've worked at Microsoft long enough to know that by the time a product hits beta 2, the only kind of changes you are going to see are fixes to major [as in crashing] bugs, security fixes and low cost cosmetic changes. I can only hope that it doesn't take us another five years to see the next version of Internet Explorer

On the positive side, it looks like Dean Hachamovitch who runs the IE team not only has read Alex's blog post but posted a response . That's a good start. .


 

Categories: Web Development