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

December 2, 2004
@ 01:20 AM

According to the Microsoft press release MSN Introduces New Communication Service That Enables Blogging, Picture Sharing and More  we find out

MSN Spaces: More Than a Blog

The MSN Spaces beta version is a free service available in 14 languages and 26 markets worldwide. MSN Spaces was designed to make it easy for consumers to create and maintain a personal Web site, bringing the power and benefits of blogging to millions of Internet users, regardless of their level of technical expertise. More than a blogging tool, MSN Spaces is a dynamic online scrapbook where consumers can share photo albums, personal music lists and more. And more than an ordinary personal Web site, through seamless integration with MSN Messenger and MSN Hotmail, MSN Spaces will automatically notify online contacts when a person's Space has been updated so his or her online community knows when it is time to pay a visit. People can sign up for MSN Spaces through MSN Messenger or by going to http://spaces.msn.com. Key features of the service include the following:

  • Control your Space. Consumers can choose the people who visit their Space through three levels of permissions: public, MSN Messenger contacts only or private.
  • Use pictures and music to say more. MSN Spaces enable consumers to easily display their pictures via a photo album slide show. Consumers can easily share playlists through their Space with Microsoft® Windows Media® technologies. With just two clicks, people can sample or purchase a song on someone's playlist through MSN Music**.
  • Create an extension of yourself. Contact Cards - a new addition to MSN Messenger and Hotmail - are windows into a consumer's Space, mirroring its look and the most recent information posted. MSN Spaces also supports RSS, so consumers can publish their Space to others by way of RSS viewers and aggregators - including My MSN, coming soon.
  • Post remote updates. Consumers can post updates to their Space remotely via e-mail or a mobile phone.
  • Make it your own. Fifteen custom backgrounds and five layout templates give consumers a way to quickly customize and personalize their Space.

MSN Messenger: More Expressive Than Ever

Available in 26 languages, the public beta release of MSN Messenger builds on the popular IM service which supports more than 145 million active users worldwide each month, and offers consumers new ways to express themselves online and personalize their instant messaging experience. Available for download at http://messenger.msn.com/beta, the beta release of MSN Messenger will give consumers a taste of what's to come with the final release, expected next year. Features in the MSN Messenger 7.0 beta enable consumers to do the following:

  • Get attention. Consumers can reach out to friends and family by sending a "Nudge," an alert that shakes the contact's conversation window with an audible notification, or a "Wink," animated pictures that include sound and that can be virtually "thrown" onto the screen of a contact's Internet message (IM) window. New emoticons, backgrounds and theme packs from Microsoft Corp., including advertiser-sponsored packs such as for "Halo® 2",* round out the experience.
  • Stay connected. Through integration with MSN Messenger, consumers can automatically let their contacts know that they have updated their MSN Space. The MSN Messenger Contact icon "gleams" when an update is made, notifying others to visit the Space via the Contact Card.
  • Access the Web anywhere. MSN Web Messenger, shipping in 25 markets and 15 languages, enables consumers to access their MSN Messenger account and contacts from virtually any PC with an Internet connection.
  • Choose your online status. The beta release of MSN Messenger gives consumers more control over how they're seen online by enabling them to choose their availability status before logging into Messenger.

MSN Hotmail: Bringing It All Together

MSN Hotmail, the largest free Web e-mail system in the world with more than 187 million active accounts, rounds out the trio of free, integrated communication services. MSN Hotmail recently introduced 250MB inboxes to new consumers in nine markets and launched a photo upload tool for all consumers to make it easier for them to share pictures online. The beta versions of MSN Spaces and MSN Messenger help give consumers even more ways to communicate and share through MSN Hotmail, including these:

  • View online status anywhere. Through integration between MSN Hotmail and MSN Web Messenger, in select markets, consumers are able to see Messenger availability status even on PCs that don't have MSN Messenger client software.
  • Learn more about Contacts. MSN Hotmail consumers who have an MSN Spaces site will have a Contact Card visible in the Hotmail address book, providing friends, family and other online contacts with one-click access to their Spaces site.

Now that we've finally shipped I'll start blogging more about what we're doing at MSN with regards to Spaces et al. You might also want to check out my blog on MSN Spaces at http://spaces.msn.com/members/carnage4life


 

Categories: MSN

Don Smith has a post entitled One parameter to rule them all: Part 2 where he writes

In my post yesterday, I recommended that Web Service operations should only have a single input parameter rather than multiple for the sake of versioning.
...
Suppose we want to send version information to the operation. In the example above, there's nowhere for it to go. "Why would we want to send version information to the operation?" Because as we version the operation, we should include version information so it's obvious what changed in each version. We can't get that information by simply adding new parameters to the method signature. I'm not going to go into it here (I will in my article) but there is a approach Doug talks about here about how to version datatypes that contain this version metadata. By using a single uber-parameter, we can include the traditional parameters as well as any metadata we need to send like version infomation. Then, instead of having to check for nulls, we can switch on the version metadata.

To me this seems to imply a simplistic view of the problems inherent in versioning XML Web Service end points and also pushes unnecessary API clutter on users of the end point. So imagine that in v1 of the end point, the GetTemp method takes a city and zip code then in v2 an optional zip code is added. To me I'd rather have developers know they can either call

MyService.GetTemp("Redmond", "WA");
MyService.GetTemp("Redmond", "WA", "98052"):

instead of

MyService.GetTemp(new TemperatureRequest("1.0", "Redmond", "WA"));
MyService.GetTemp(new TemperatureRequest("2.0", "Redmond", "WA", "98052"));

For one, the latter is less straightforward than the former. Also the developer has to know how to manage interdependencies between properties of the TemperatureRequest that are set if there are any that are mutually exclusive, know which properties are required and whether to initialize primitive values in the object to defaults without any help from the API. Of course, all this will be in the documentation but APIs should be designed so their behavior is intuiive not so that one is required to read all the documentation before one can get things done.

The other reason I like the former is that it carries the impression that the XML Web Service end point is unchanging while the latter does not. This is not really a tachnical reason but it makes it less likely that the designer of the service will change the behavior of that particular method at specific end point if its contract never changes.

My dayjob now involves designing XML Web Service end points so you'll probably start seeing more XML Web Services related posts from me.


 

Categories: XML Web Services