From the Business Week article, The World According to Ballmer

Clearly alluding to Microsoft's key Internet search rival, Ballmer said: "The hottest company right now -- the one nobody thinks can do any wrong -- may just be a one-hit wonder."

Actually Google is already at least a two hit wonder; AdSense/Adwords and the Google search engine. Given that revenues from AdSense are growing to match those from the Google website, it seems inevitable that in a few years it'll be more important to Google that they are the #1 ad provider on the Web not whether they are the #1 search engine.

 

 


 

A few years ago I used to participate in an online community called Kuro5hin which was founded by Rusty Foster. K5, as we affectionately called it, eventually became a haven for people trying to escape from the ills of Slashdot. There were several problems with Slashdot that folks like Rusty and Karsten Self planned to fix with K5. These included
  • Lack of democracy in selecting stories
  • Moderation system that encouraged group think and punished not toeing the party line
  • Visible karma score which encouraged treating participating in the community as a game

The solution was to allow all users to create stories, vote on the stories and to rate comments. There were a couple of other features that distinguished the K5 community such as diaries but the democratic aspect around choosing what was valuable content was key. K5 was a grand experiment to see if one could build a better Slashdot and for a while it worked.  For a while, it worked fairly well although the cracks had already begun to show within the first year. A lot of the spirit of the first year of the site can be gleaned from the post K5, A One Year Retrospective.

Now five years later, I still read Slashdot every day but only check K5 out every couple of months out of morbid curiosity. The democracy of K5 caused two things to happen that tended to drive away the original audience. The first was that the focus of the site ended up not being about technology mainly because it is harder for people to write technology articles than write about everyday topics that are nearer and dearer to their hearts. Another was that there was a steady influx of malicious users who eventually drove away a significant proportion of K5's original community, many of whom migrated to HuSi.  This issue is lamented all the time on K5 in comments such as an exercise for rusty and the editors. and You don't understand the nature of what happened.

Besides the malicious users one of the other interesting problems we had on K5 was that the number of people who actually did things like rate comments was very small relative to the number of users on the site. Anytime proposals came up for ways to fix these issues, there would often be someone who disregarded the idea by stating that we were "seeking a technical solution to a social problem". This interaction between technology and social behavior was the first time I really thought about social software.

Fast forward a few years to earlier this week. I wrote a blog post entitled When did Blogrolls Become Evil? which started an interesting dialog in the comments which I've been thinking about for a few days. Below are excerpts from my post and its comments which got me thinking

Dare Obasanjo:  I was going to write a lengthy counterargument to the various posts by Shelley Powers about blogrolls then wondered whether the reason I even cared about this was that her writing had convinced Uche Ogbuji to drop me from his blogroll? Wouldn't I then be justifying some of the arguments against blogrolls? It's all so confusing...

While I'm still trying to figure this out, you should read Shelley's original post, Steve Levy, Dave Sifry, and NZ Bear: You are Hurting Us and see whether you think the arguments against blogrolls are as wrong as I think they are.

Kingsley Idehen: Anyway, Shelley raises a really important issue which actually highlights what is more than likely a flaw in the concept of blogrolls. I certainly saw you vanish from Uche's blogroll, and I was really curious about the underlying algorithm that lead to this (I suspected that Uche wouldn't have done this by hand :-) ).

Blogrolls are static and to some degree completely ambiguous, what are they really? My published blogroll is at most .01% or lower of the total blogs that I subscribe to, and actualy read with varying degrees of frequency

Dare Obasanjo: There is a social and technological aspect to blogrolls. The fact that to some degree a blogroll is a way for people to indicate what community they belong to and/or share links to people they find interesting, it is social. Whether the blogroll is static or dynamically updated is an implementation detail that is wholly technological.

The fact that Technorati uses blogroll links as part of their mechanism for calculating 'authority' is quite broken from my perspective and too easily gamed. Just a few short months ago they had to scramble because they were counting the various links in the 'Updated Spaces' and 'Newly Created Spaces' modules that exist on millions of spaces. We've since used rel=nofollow on these links to prevent other simplistic link calculators from being similarly confused.

Going back to social aspect of blogrolls, I liked the fact that one could go to Uche's blog and find links to other Nigerians who were doing interesting things in the technology industry. I don't think the fact that Technorati would use that link to count one more point of 'authority' to our URLs is any reason to stop doing this. We shouldn't change social behavior due to design flaws in software.

As for blogrolls being static or dynamic, to me this is just an implementation detail and where there is a will there is a way.

Uche Ogbuji:Kingsley,

I've learned an important lesson from the fact that both you and Dare noticed that he went missing from the Copia blogroll. We hacked at the blogroll in a bit of a careless manner and that was wrong. We always planned to go back and fix things as we clarified what those links actually meant, but things got in the way, and the result looked worse than the intention.

Dare,

Good points.

"I liked the fact that one could go to Uche's blog and find links to other Nigerians who were doing interesting things in the technology industry."

Very important note. I think it's very fair for such a dispersed group as we are to have these sorts of mini-hubs.

"The fact that Technorati uses blogroll links as part of their mechanism for calculating 'authority' is quite broken from my perspective and too easily gamed."

Yikes! That is friggin' broken, and perhaps helps explain some of the sensitivity of this issue when Shelley took it on.

Blogrolls are definitely a social construct as are popularity lists. However how they are generated and calculated often boils down to a technology issue. This overlap between technology and social behavior is what I find so interesting about social software.

We face a lot of the issues surrounding the overlap between technology and social behavior everyday at work as we build software that millions of people use to communicate with each other. We regularly have to answer questions like how to deal with rejection in instant messenger invitation scenarios (Joe asks Jess to be his IM buddy but she declines), how to deal with people impersonating other users in blog comments, and whether it is a good idea to let people have access to the blogs of their IM buddies in two clicks.

I had assumed that the renewed interest in social software in recent years would create an environment where discourse about the overlap between technology and social behavior would become more commonplace. However I haven't found good communities or blogs where this discourse abounds. I recently unsubscribed from the Many-to-Many weblog because I got tired of reading Clay Shirky raving about how tagging/folksonomies are the second coming, David Weinberger and Ross Mayfield's verbose yet obvious observations on the state of the art in social software, and Danah Boyd's inane prattling. I also subscribed to the blogs of various members of the Social Computing Group at Microsoft Research but not only do they post infrequently there's also the fact that most of them just got re-orged into the Windows division to work on Longhorn.

Any pointers to other communities on social software or even just interesting research papers would be much appreciated. Holla back!


 

Categories: Social Software

I intended that we'd have newsgroup support in the last version of RSS Bandit but eventually we had to pull it out so we could get the release out earlier. I can definitely promise that you will be able to subscribe to whatever newsgroups tickle your fancy in the Nightcrawler release of your favorite RSS reader.

I've checked in support to finally enable this functionality into CVS. There are still some bugs to work out such as dealing with various funky headers and binary attachments as well as design questions such as whether to merge the UI for subscribing to feeds and newsgroups or keep them separate.

Below is a screenshot showing the microsoft.public.xml newsgroup (note that the dates might be wrong)


 

Categories: RSS Bandit

It seems Jonathan Marsh has joined the blogosphere with his new blog Design By Committee. If you don't know Jonathan Marsh, he's been one of Microsoft's representatives at the W3C for several years and has been an editor of a variety of W3C specifications including XML:Base, XPointer Framework, and XInclude.

In his post XML Base and open content models Jonathan writes

There is a current controversy about XInclude adding xml:base attributes  whenever an inclusion is done.  If your schema doesn't allow those attributes to appear, you're document won't validate.  This surprises some people, since the invalid attributes were added by a previous step in the processing chain (in this case XInclude), rather than by hand.  As if that makes a difference to the validator!

Norm Walsh , after a false start, correctly points out this behavior was intentional.  But he doesn't go the next step to say that this behavior is vital!  The reason xml:base attributes are inserted is to keep references and links from breaking.  If the included content has a relative URI, and the xml:base attribute is omitted, the link will no longer resolve - or worse, it will resolve to the wrong thing.  Can you say "security hole"?

Sure it's inconvenient to fail validation when xml:base attributes are added, especially when there are no relative URIs in the included content (and thus the xml:base attributes are unnecessary.)  But hey, if you wanted people or processes to add attributes to your content model, you should have allowed them in the schema! 

I agree that the working group tried to address a valid concern. But this seems to me to be a case of the solution being worse than the problem. To handle a situation for which workarounds will exist in practice (i.e. document authors should use absolute URIs instead of relative URIs in documents) the XInclude working group handicapped using XInclude as part of the processing chain for documents that will be validated by XML Schema.

Since the problem they were trying to solve exists in instance documents, even if the document author don't follow a general guideline of favoring absolute URIs over relative URIs, these URIs can be expanded in a single pass using XSLT before being processed up the chain by XInclude. On the other hand if a schema doesn't allow xml:base elements everywhere (basically every XML format in existence) then one cannot use XInclude as part of the pipeline that creates the document if the final document will undergo schema validation.

I think the working group optimized for an edge case but ended up breaking a major scenario. Unfortunately this happens a lot more than it should in W3C specifications.


 

Categories: XML

From Greg Reinacker we find out that Newsgator Acquires FeedDemon and Nick Bradbury confirms this in his post NewsGator Acquires FeedDemon, TopStyle...and Me!. I think this is a great acquisition for Newsgator. Acquisitions are usually about getting great people, key technology or lots of users. With this acquisition Newsgator gets all three although it'll be interesting seeing how they manage to deal with rationalizing the existence of two desktop clients even if one of them is a Microsoft Office Outlook plugin.

I think this will have an interesting ripple effect on the aggregator market. Both Nick & Greg have already raised the bar for RSS readers to include synchronization with a web-based aggregator. Desktop aggregators that don't do this will eventually be left in the dust. So far Newsgator Online and Bloglines have been the premiere web-based aggregators but its been difficult building applications that synchronize with them. Newsgator Online doesn't seem to have any public documentation about their API while the Bloglines API is not terribly useful for synchronization.

This definitely puts pressure on Bloglines to provide a richer API since two of the most popular desktop aggregators on the Windows platform will now have a richer synchronization story with its most notable competitor. It also puts pressure on other desktop aggregators to figure out a strategy for their own synchronization stories. For example, I had planned to add support for synchronizing with both services in the Nightcrawler release of RSS Bandit but now it is unclear whether there is any incentive for Newsgator to provide an API for other RSS readers. Combining this with the fact that the Bloglines API isn't terribly rich means I'm between a rock and a hard place when it comes to providing synchronization with a web-based aggregator in the next version of RSS Bandit.

Sometimes I wonder whether my energies wouldn't be better spent convincing Steve Rider to let me hack an API for http://www.start.com/1. :)


 

It was announced at E3 this week that XBox 360 will be backwards compatible with the original XBox. My good friend, Michael Brundage, was the dev for this feature. Read about XBox Backwards Compatibility from the horses mouth. My favorite quote from his article is

The first impression you should get is that these numbers are fantastic for high-definition Xbox 360 games. Wow! But on further reflection, they're not so good for emulating Xbox games at 30 fps. On my 1.25GHz G4 PowerBook, VPC 7 emulates a 295MHz x86 processor -- so the emulator is more than 4 times faster than the machine it's emulating. So most people look at these numbers and conclude that Xbox backwards compatibility can't be done.

Then there are a few people who understand emulators at a very technical level, or understand both Xbox systems inside and out to an expert level of detail that I'm not about to go into here. They perform more sophisticated calculations using the Art of Software Engineering, but ultimately reach the same conclusions as those not skilled in the Art: Backwards compatibility can't be done. [One such skeptic interviewed me for my current job, and pointedly asked during the interview how I planned to handle the project's certain future cancellation.]

And yet, here it is. It's magic!

Last year I got to meet J Allard and one of the questions I asked was about backwards compatibility in the next version of the XBox. He gave the impression that they wanted to do it but it would be a very difficult task. I would never have guessed that Mr. XQuery would be the one to get the job done.

Great job, Michael.


 

Categories: Technology

James Snell posted IBM's blogging guidelines today in his post Blogging@IBM. Some have heralded this as another triumph for corporate blogging, I'm, not so sure this is the case. The particular sticking points for me are the following

2. Blogs, wikis and other forms of online discourse are individual interactions, not corporate communications. IBMers are personally responsible for their posts. Be mindful that what you write will be public for a long time -- protect your privacy.

3. Identify yourself -- name and, when relevant, role at IBM -- when you blog about IBM or IBM-related matters. And write in the first person. You must make it clear that you are speaking for yourself and not on behalf of IBM.

Basically IBM states in these two bullet points that blogging isn't a way for IBM as a corporate entity to engage in conversation with its customers, partners and competitors. Instead its a way for regular people to talk about their lives including their work. What IBM seems to have done is give its employees permission to state that they work for IBM, and recommended that its employees post a disclaimer. For people like Sam Ruby of IBM, this is actually a step back since he now has to post a disclaimer on his personal weblog.

As I mentioned in a comment on Sam Ruby's blog I guess I must be tainted by Microsoft where product teams use blogs to announce features (e.g. the IE team) or engage in conversations with customers about product pricing (e.g. a conversation and its results). Simply giving your employees permission to mention their employer in their personal blogs doesn't a corporate blogging initiative make. In addition, the position that one has to give employees permission to state where they work if communicating in public is also rather startling.

Why I like blogging as a Microsoft employee is that it allows me to have conversations with our customers, partners and competitors. It isn't just me spouting off about my likes and dislikes, it is a way to communicate to our customers and partners. I've lost count of the amount of times I've referred people to posts like What Blog Posting APIs are supported by MSN Spaces? or Why You Won't See XSLT 2.0 or XPath 2.0 in the Next Version of the .NET Framework. Posts like these led to interesting conversations both internally and externally to Microsoft and informed our decision making processes. Additionally, our customers also appreciated the fact that we are up front with them about our plans and kept them in the loop.

I think communications via "official channels" and "company spokesmen" pales in comparison to the various conversations I've mentioned above. IBM has taken the first step towards accepting corporate blogging. Hopefully, they'll eventually go all the way.


 

Categories: Life in the B0rg Cube

Stan Kitsis, who replaced me as the XML Schema program manager on the XML team, has a blog post about XInclude and schema validation where he writes

A lot of people are excited about XInclude and want to start using it in their projects.  However, there is an issue with using both XInclude and xsd validation at the same time.  The issue is that XInclude adds xml:* attributes to the instance documents while xsd spec forces you to explicitly declare these attributes in your schema.  Daniel Cazzulino, an XML MVP, blogged about this a few months ago: "W3C XML Schema and XInclude: impossible to use together???"

To solve this problem, we are introducing a new system.xml validation flag AllowXmlAttributes in VS2005.  This flag instructs the engine to allow xml:* attributes in the instance documents even if they are not defined in the schema.  The attributes will be validated based on their data type.

This design flaw in the aforementioned XML specifications is a showstopper that prevents one from performing schema validation using XSD on documents that were pre-processed with XInclude unless the schema designer decided up front that they want their format to be used with XInclude. This is fundamentally broken. The sad fact is that as Norm Walsh pointed out in his post XInclude, xml:base and validation this was a problem the various standards groups were aware of but decided to dump on implementers and users anyway. I'm glad the Microsoft XML team decided to take this change and fix a problem that was ignored by the W3C standards groups involved. 


 

Categories: XML

From the press release Microsoft Delivers Powerful Upgrade to Desktop Search Capability for Windows Customers we find out

The MSN® network of Internet services today launched the new MSN Search Toolbar with Windows® Desktop Search, a suite of tools that helps people rapidly search across the Web or their PC and provides easy access to world-leading MSN services. The final version of the MSN Search Toolbar includes free enhancements for Windows® 2000 and Windows XP customers, providing a dramatically upgraded desktop search experience. These new innovations for Windows customers will make it easier than ever to find and retrieve documents, e-mail, images, video and more on their Windows-based personal computers.

"By offering the most integrated desktop search capabilities for Windows, now people can search their PC as fast as they can search the Web," said Yusuf Mehdi, senior vice president for the MSN Information Services & Merchant Platform division at Microsoft. "The new MSN Search Toolbar makes it easy for customers to find precisely what they're looking for, no matter where it resides."

The MSN Search Toolbar, available for free download today at http://desktop.msn.com, enables people to conveniently search their desktops from within familiar applications they use every day -- including Microsoft Windows Explorer, Internet Explorer and Microsoft Office Outlook® -- combining the one-step ease of a Web search with the richness and power of the PC environment.

I was a bit confused by some aspects of this release. One of the reasons for this is that http://desktop.msn.com, http://toolbar.msn.com and http://toolbar.msn.com/default.aspx all have different content. It looks like the various toolbar related subdomains are now deprecated in favor of http://desktop.msn.com.

As mentioned in my post from last year, Some Thoughts On the MSN Toolbar Suite Beta, the main feature I use is desktop search within Microsoft Office Outlook®. I notice that there has been one nice improvement in this feature; the inclusion of a preview pane for search results. This is very useful for skimming through mail messages returned by the search engine without having to open multiple mails. Even cooler is that the preview pane supports lots of different file types not just mail. Sweet.

One interesting data point is that at around the same time the MSN Search team blogged about adding tabbed browsing to Internet Explorer in a future release, the Internet Explorer team announced that IE 7 will have tabbed browsing. It looks like one way or another I'm going to get tabbed browsing in Internet Explorer in the near future.


 

Categories: MSN

In his post Reconsidering blogrolls (and what the heck are "folks", anyway?) Uche Ogbuji writes

In Shelley Powers entries "Ms Pancake" and "Let’s keep the Blogroll and throw away the writing", I've learned that there is some controversy about blogrolls. When I threw together Copia I tossed in a blogroll, which was just a random list of blogs I read. I hardly worried that the list would grow too long because I have limited time for reading blogs.

Shelley's posts made me think about the matter more carefully. To draw the basic lesson out of the long and cantankerous points in her blog entries (and comments), a blog is about communication, and in most cases communication within a circle (if an open and, one hopes, expanding one). Based on that line of thinking, Chime and I had a discussion and thought it would be best if rather than having a "blogroll" list of blogs we read, we had a list of other Weblogs with which we have some more direct and reciprocal connection. This includes people with whom we've had personal and professional relationships, and also people who have taken the time to engage us here on Copia. There is still some arbitrariness to this approach, and there is some risk of turning such a listing into the manifestation of a mutual back-slapping club, but it does feel more rightly to me. We do plan to post an OPML as a link on the page template, so people can check out what feeds we read (if they care); this feels the right compromise to me.

I was going to write a lengthy counterargument to the various posts by Shelley Powers about blogrolls then wondered whether the reason I even cared about this was that her writing had convinced Uche Ogbuji to drop me from his blogroll? Wouldn't I then be justifying some of the arguments against blogrolls? It's all so confusing...

While I'm still trying to figure this out, you should read Shelley's original post, Steve Levy, Dave Sifry, and NZ Bear: You are Hurting Us and see whether you think the arguments against blogrolls are as wrong as I think they are.