Torsten has been hard at work on the UI for managing newsgroups in the next version of RSS Bandit. Below is a screenshot of what is currently checked into CVS. We'd love to hear any comments you have.

For example, the View menu behaves like a tabbed pane but we decided against tabs for some technical reasons. Is this confusing? Also I've suggested that we change the buttons on the top left named 'Identity' and 'News Server' to 'Add Identity' and 'Add News Server' to separate the fact that those buttons perform actions while the ones on the right act more like tabs in a tabbed pane. Agree? Disagree?

Speaking of which I need to test the code that handles binary attachments so if you know any public news servers that allow you to subscribe to binary newsgroups, let me now. Unfortunately there aren't any binary newsgroups on news.microsoft.com.


 

Categories: RSS Bandit

Since I left the XML team at Microsoft they've gone on an impressive hiring spree. Two people who I'd have loved to work with who have joined up after I left are

David Remy: former Director of Product Engineering at Bea Systems, he was responsible for security, web services, and XML for Bea's Weblogic Workshop product line.

Mike Champion: formerly a research and development specialist at Software AG. He was on the W3C's Document Object Model (DOM) Working Group for over three years and was the co-chair of the Web Services Architecture Working Group.

I have to see how quickly I can nag both of them to start blogging. David used to be in charge of the folks who produced XML Beans so I suspect he has all sorts of interesting perspectives on XML programming models. Mike and I have been exchanging mail on XML-DEV for years and now that we can have some of these conversations in person, I work across campus. Irony indeed. :)


 

Categories: Life in the B0rg Cube | XML

According to an article entitled 50 Cent Involved In Scuffle At Airport In Nigeria on AllHipHop.com 

American Hip-Hop star 50 Cent was engaged in a scuffle with the entourage of another rapper in a Lagos, Nigeria airport last night. 50 Cent was in the African nation taking part in the annual Star Mega Jam, which brings top name talent to perform along side popular Nigerian artists.

The incident started in an airplane belonging to the Aviation Development Company, before an aborted trip to Port Harcourt for a final performance. Eyewitnesses stated that Nigerian rapper Eedris Abdulkareem attempted to sit in a seat reserved for the internationally known 50 Cent, but was prevented from doing so.Abdulkareem’s entourage protested, resulting in a brawl inside the airplane.The scuffle carried on to the tarmac of the domestic wing of the Murtala Muhammad Airport, drawing the attention of employee’s and other passengers.

The rapper left without completing the performance due to the incident.

That's kinda messed up. I'm just glad this happened after my mom got 50's autograph when she interviewed him.  


 

December 6, 2004
@ 04:20 PM

Watching the various kinds of feedback about MSN Spaces has been illuminating. You have the geeks posting about not having enough power user features such as Robert Scoble in his post MSN Spaces isn't the blogging service for me, there are the average non-technical users who've been giving us great feedback about the sites usability and then there are the analysts who've clued in to the social software revolution happening at MSN.

It starts with Joe Wilcox (of Jupiter Research) in his post MSN Spaces, First Take who writes

The data JupiterResearch has on blogging suggests the large body of blogs aren't widely read--and for good reason, I figure. The interest is limited. So, Jane is struggling with her boyfriend Tarzan and blogs about her travails. But, maybe, only some friends follow the breakup blog. To most people, it's just another romance gone bad, and there are plenty of those to be found.

So MSN Spaces takes a different approach, by extending existing assets to create community. For starters, public profiles, such as for MSN Messenger or MSN Chat, tie into the individual's blogspace. Additionally, Microsoft uses MSN Messenger to create presence and even limit access. For example, blogspace access can be limited to people on the MSN Messenger buddy list. That's a smart use of IM presence. Similarly, IM buddies are notified when a user has updated his or her MSN Spaces blogsite.

Additionally, Microsoft adds a wall of protection for people that might want to blog for some folks but not the whole World Wide Web. Users can restrict blogspace access to people they choose from their MSN address book. Additionally, by default, trackbacks to blogspace content is restricted to other MSN Spaces sites. The user can open access to the entire Web or restrict trackbacks altogether. For people looking to blog for a community of friends or family, the privacy protection makes sense. As a parent, I feel uneasy about posting pics of my daughter in a blog photo album for the entire world to see. MSN Spaces would create a safe haven for just the people I would want to see the pictures.

In a follow-up blog, I'll look at some of the other MSN Spaces community-oriented features.

When I look at Microsoft's first foray into blogging, I see two development undercurrents: An admirabe effort to bring blogging to the masses and to not bring those blogs to the masses but their community of friends and family most likely to read the content.

Unsurprisingly, this same undercurrent was noted in the blog post entitled MSN Spaces will make blogs communication tools by Charlene Li of Forrester Research who wrote

MSN Spaces is very full featured users can add posts from cell phones as well as via email. Drag-and-drop layout design and pre-fabbed templates make creating a custom look and feel a cinch. A couple of other innovations:

+ Permissions are linked into MSN Messenger and MSN Address books. Only .NET Passport email addresses are accepted.

+ Integration with MSN Photos and MSN Music to upload photo albums and playlists easily. Moreover, users can click on a playlist and sample or purchase the song or album.

+ Put Spaces content elsewhere on MSN. MSN Hotmail and Messenger have a new feature called Contact Cards that will take the latest post or photo added to your Space and displays it next to your contact information. When you update your Space, your name changes its like indicating the presence of new content, rather than your actual presence.

Notice a trend here? Theres heavy integration of Spaces into the whole MSN communication suite of email and instant messaging. I think this is very smart, especially as MSN hopes to attract a new audience group to blogging. The next wave of bloggers is going to look very different from todays blogger their motivation will be on sharing experiences rather than having a place for their ideas and opinions.

The feedback isn't all rosy. In followup posts Joe Wilcox states that the poor performance (our team has been working overtime on resolving various issues here and the site is a lot better than when he wrote the post), its preference for for users browsing with Internet Explorer and the hubbub around content moderation will keep MSN Spaces from becoming a challenge to existing players in this area. He isn't the only one to complain about the IE specific features of MSN Spaces, Adam Bosworth also complained about this on his MSN Space (Yes, Adam Bosworth of Google has an MSN Space).

 

We're listening to all this feedback and would like to thank everyone who's acknowledging our innovations in this area.


 

Categories: MSN

December 6, 2004
@ 03:57 PM

A lot of people who've heard about MSN Spaces have also seen or heard about the the MSN Spaces: seven dirty blogs post on Boing Boing. In fact that post is so popular it's the first result currently returned by searching Google for 'MSN Spaces', this search also results in an ad for SixApart's TypePad blog hosting service which is also interesting but something I'll post about another day.

Mike Connelly (the Group Program Manager of the Spaces team) has a post entitled Comments on Content Moderation  where he writes

One of our main goals for Spaces was to create a platform for people to share their thoughts and feelings with their friends and the outside world.  However, we wanted to make Spaces usable by not only the people who are blogging today, but also be approachable by the general internet user, who might not have heard of blogging previously, or been given an opportunity to try it out.

Unfortunately, whenever you create an open platform for people to say whatever they want, and open it up to the wide world (14 languages, in 26 different markets), there is always a handful of people who spoil the party, and post a bunch of inappropriate (and in some cases illegal) stuff. And to make matters worse, what exactly is deemed “appropriate” or not is very subjective, not only from person to person, but from country to country.

So, we need to do what we can to make our platform available for people to use in the way they like, but we want to keep wildly inappropriate stuff outside of public forums.
...
However, there is 1% left over.  Not everyone on the internet subscribes to the same "netiquette" that some of us who have been around for awhile know and understand. So, we do one proactive thing, to make the world a little less bumpy. We block a set of specific words from being used in 3 areas: the url you select, the title of your Space, and the title of your blog entry. These three fields are reused and displayed in a variety of areas, like search results, so we thought it would be a little thing we could do to cut down on the obvious cases that would most easily offend.

As part of trying to get Spaces to be something that is widely adopted by the general population as opposed to a small subset of society (most estimates are that less than 1% of Americans have weblogs and even at Microsoft where we are all mostly completely comfortable online there are about 3% of the employees blogging) the decision was made to discourage the usage of inappropriate language in parts of the space that would be reused outside the context of the space. One can use whatever language they want in posts, comments, and their various lists. However post titles, blog titles and URLs can't contain words certain "inappropriate" words [for some definition of inappropriate].

So far although I've seen lots of posts deriding the simplistic nature of the profanity filter [of course, every profanity filter I've seen can be tricked or causes a large number of false positives] I've not seen many posts from existing or potential users of Spaces about how they feel about this. What are your thoughts?  


 

Categories: MSN

Don Smith continues our conversation on parameters to XML Web Service methods in his post Versioning Web Service Parameters where he writes

Dare makes a few comments about one of my previous posts so I thought - in true blogsphere fashion - I'd follow-up in a new post.
...
I think it's also important to make a distinction between different kinds of Web Services, even if they're broad and sweeping. There is a considerable difference between a service-oriented Web Service and one that is not service-oriented. Perhaps my choice of GetTemp( TempRequest ) was a poor one. Service-oriented operations are very course-grained because they represent a business process. Because of this, the service interface is not likely to change (unless the organization is going to stop offering the service). However, the data pieces that service will require could very possibly evolve over time. Therefore, it's important to be able to version the service interface and the parameters of the operations independently. If you agree at this point, then we need a way to identify what version of the operation's inputs are being used. The only way to accomplish this with multiple parameters is for one of the parameters, which has nothing to do with the business logic of the operation, to contain version information. With a single parameter, we can maintain a straightforward experience for the client developer.

I agree with Don that his original example was probably not the best to illustrate his point. The problem I had with his original post was that it was a general recommendation which in my experience tend to never hold in most cases let alone all of them. The complexity of the service and the expected evolutionary path of the service end point should dictate whether the additional complexity of using a single parameter that contains versioning information and the actual input the method should be used or not.

Since I tend to agree with the excerpted paragraph  about service oriented methods being coarse grained which implies that one should be able to version parameters, I think Don and I are now in violent agreement. :)


 

Categories: XML Web Services

December 5, 2004
@ 12:23 AM

There have been some questions from users of MSN Spaces regarding deleted Spaces which I'll try to answer with this post.  The basic problem is that a user deletes a Space (e.g. I delete http://spaces.msn.com/members/carnage4life)  and then either tries to recreate a Space with the same name or someone else tries to a create a Space with the same name but gets an error message saying the Space is unavailable.

This is due to a safeguard we out into place so that a user doesn't delete a Space and then someone else reuses the name after a short period of time leading to potential confusion by readers of the Space. For example, what happens if I delete  http://spaces.msn.com/members/carnage4life and a totally different person person picks it up a few hours later? A lot of people coming to that URL the next day will assume it is still me which would lead to confusion.

For this reason, the names of deleted Spaces are not recycled into the system for at least 60 days. This value is subject to change as we continue to monitor the usage patterns of Spaces and gather customer feedback.


 

Categories: MSN

December 3, 2004
@ 06:00 PM

Steve Hooker has a post entitled Microsoft's Spaces: are they blogs?  where he writes

Certainly, they are blogs, at least for Joe Sixpack, but why did they call them 'Spaces'? My guess is that they're going to take them deeper into Microsoft land, and the term 'blog' won't fit later. Already they're locked into MS's instant message app, Messager and their authentication system Passport.

I'm unclear as to why Steve calls the requirement of having a user account to create a Space "lock in" especially since every blog hosting service requires some form of user account be it Xanga, LiveJournal, TypePad, or Blogger. MSN Spaces has the advantage that you can use this same account to access multiple MSN services including MSN Messenger. This is no different than the fact that I have a single login to access all of Yahoo's services.

As to why they are called "spaces" as opposed to "blogs" it is because we believe there is more to sharing one's experiences online than your online journal. People want to share their thoughts, their favorite music, their favorite books, pictures of their loved ones and so on. It isn't just  posting your thoughts and experiences in the reverse chronological order which is what typically defines a "weblog". It's supposed to be a person's personal space online which was the original vision of personal publishing on the Web which spawned the personal homepage revolution a couple of years ago. Weblogs are the next iteration of that vision and we expect MSN Spaces to be the refinement of that iteration.


 

Categories: MSN

I've seen a number of people ask if MSN Spaces supports any web service APIs such as the Blogger API or MetaWeblog API that allow users to post to their blog from applications such as MarsEdit, BlogJet and w:bloggar.  This question has been asked in blog posts by a number of people including Robert Scoble, Don Smith and Roland Tanglao. Like every question there's a short answer and a long answer.

Short Answer: There is currently no support for any web service APIs for managing ones Space. We are investigating the feasibility of supporting a web service API which enables our users to manage their Space while not having to compromise on security which unfortunately is currently the practice in the blogging world.  

Long Answer: I listed the problems with the current crop of blog posting APIs such as the Blogger API and MetaWeblog API  in my post from a year and a half ago What's Wrong with the MetaWeblog API? . The main issues for us working on MSN Spaces are  

  1. Security: The MetaWeblog API has no concept of security. Passwords are sent in plaintext as parameters to XML-RPC functions (i.e. they are sent in plain text on the wire as part of the XML message).
  2. Limited Functionality: The MetaWeblog API only allows one to either post and edit blog entries, fetch information about a specific user or change the website template. This is a drop in the bucket considering all the things one would like to do with a weblog engine which can be supported by the engine.

The security issue is a big problem and we do not plan to compromise on it. Although it may be satisfactory for certain services to exchange user's passwords in plain text where they can be sniffed by malicious third parties we don't want the Passport accounts of our user's exposed in such an insecure manner. This basically means we can't plug into the ecosystem of tools and services built around blog posting APIs today.  

Already the current beta version of MSN Spaces has more functionality than is exposed by APIs such as the MetaWeblog API. For example, it would be difficult to imagine how one would manage their music list with just that API. Add to that the fact that we are planning to add more features in future versions that also have no useful analog in that API.

I plan to present 3 choices to folks at work on what we should do in this regard. The choices I see in order of preference would be

  1. Support Blogger/MetaWeblog API over HTTPS/SSL: This would involve the most minimal change to various blog posting tools to support MSN Spaces yet would give our users the security they desire. Unfortunately it doesn't solve the problem that these APIs don't expose all the functionality of an MSN Space.
  2. Support an MSN Spaces specific API over HTTPS/SSL:  This would allow us to build an API specifc to our service such as has been done with the MovableType API or the LiveJournal API . The downside is that it would mean developers would have to do a lot more work to suupport our service but would expose richer functionality than if we just supported the Blogger/Metaweblog APIs. This would lead to less tool support but I suspect the most popular tools would support our API. 
  3. Support the Atom API over HTTPS/SSL: The IETF's Atom Working Group is working on a new common  API for blog posting which they hope will replace the aforementioned blog posting APIs. I have questions about their delivery timeframe given that its been over a year and a half since Sam Ruby kicked of the Atom effort  and although their schedule has them shipping the spec in a few months they are still having debates on fundamentals such as whether the Atom protocol should be based on WebDAV or not. Having worked on the XML team at Microsoft and watching I have seen what happened when we spent years working on technologies like XInclude & XQuery which are in active discussion only for them to drag out so long that they couldn't fit in our ship schedule so we cut them thus wasting the effort.  Secondly, still has the problem that it won't expose all the functionality of an MSN Space. I don't have much faith in this option but have put it on the list for completeness.

I should note that there is also the question of whether it makes business sense to do support blog posting APIs. Mike will be the one making the business case pitch to folks over here while I'll be making the technical pitches. It would be interesting to know what percentage of users actually use a rich client versus using the Web interface for editing their blogs in existing systems.

Anyway, your thoughts and feedback are welcome. I'd especially love to hear from authors of blog posting tools.  


 

Categories: MSN

By now it's common knowledge that MSN Spaces became widely available to the general public today. As someone who's currently working on the next iteration of Spaces I've already had time to excercise the existing realease and I've got to day I like it a lot. Below is the list of top 5 things I like about Spaces

  1. Integrated Photo Album: If you visit Carnage4Life's Space you don't just get to see my blog but also a slideshow of various RSS Bandit screenshots I uploaded a few days ago.

  2. Integrated Music Lists:  I get to share my taste in music via music lists where each song is hyperlinked to search MSN Music so one can hear a sample of the music I like. For lazy people like me you can just upload a Windows Media player playlist to create a music list.

  3. MSN Messenger Integration: Words don't do it justice. Here's a screenshot of me viewing Mike Torres' contact card.  Here's a screenshot of my contact card. Yes, the rumors were right. You can post to your blog directly from MSN Messenger.

  4. Access Control: One can specify the level of access they want for their blog. You can choose to make a blog public, private or only accessible by people on your MSN Messenger Allow List. Your Allow List is a list of everyone who you've allowed to see your online presence and IM you via MSN Messenger. This should be everybody on your buddy list and everyone who's asked to put you on their buddy list and you've accepted. This allows you to create a blog that is only accessible by people in your immediate circle of friends and family which for most people are the only ones you want reading your blog or viewing your photos .

    It should be noted that in a number of markets the permissions on your Space default to "Only allow people in my MSN Messenger Allow List view my Space". So it is best to check http://spaces.msn.com/members/[yourblogname]/PermissionSettings.aspx and ensure that you have specified the level of access control you are comfortable with.

  5. The Price: It's free. Completely and utterly free of charge.  


 

Categories: MSN