There's a theme that I've seen recurring over the past few weeks that I thought would be good to expand upon in my blog so that next time it comes up I can just point people here. It started with a blog post by Joshua Schachter of del.icio.us entitled lessons learned: fidelity where he writes

While software systems tend to strive towards accuracy and fidelity, I have frequently observed that these exact qualities may hurt social software.
...
It occurs to me that not every factoid gleaned from the constellation of behavioral data should be presented.

For example, the emminently social Twitter, happily informs me that while 34 people count themselves amongst my friends, only 31 of them care to be informed about I'm up to every day -- and then shows me who those folks are. While these lists are on different actual web pages, it's not a herculean task to figure out the actual people involved. Even though it's possible to show all the information, from a social perspective a degraded view would be better.

This point has come up repeatedly in discussions I've had with people across Windows Live. Just because we have information doesn't mean we should present it to users especially since giving users all the data can sometimes be considered spamming them (e.g. unwanted friend requests in social networking sites) or can be somewhat unsettling to users even if the information is readily available ( e.g. the original implementation of News feeds and Mini-Feeds on Facebook). 

Then there's the reciprocity point that Joshua Schachter brings up. The problem with social networking is that it is all about reciprocity and unfortunately sometimes we have to deal with rejection. How the application displays this rejection to users is key to the user experience. Here is one example taken from the Penny Arcade post The Pilgrimage, Part One

I had hoped that there at CES I would have an opportunity to use the Zune's social features - its "higher brain functions," as I put it - but I was only there Thursday, after the place had largely thinned out. Near the Microsoft booth I was happy to see many devices speaking wirelessly - so many I had to scroll! - until I realized that they were named after genres, and were (in fact) the display units, which added greatly to my shame.

The two times I had an opportunity to share files were interesting - once on the floor itself, and once in the plane on the way back. In both cases, my offer was rebuffed. This actually feels terrible when it happens, because you're trying to show someone something that is important to you and they don't care. But let's be clear: when someone is listening to music, that's private. They are actively eschewing the outside world, and here you are - with some song they've never heard of - interrupting their lives. Let me also state that your music stops when doing this - even for someone that buys into the device philosophically, I mean... Jesus Christ, guys.

Notice that in this case, the rejection is really stark and turns what was meant to be a "social" experience into a negative user experience. We've faced this problem as well in various applications across Windows Live. In Windows Live Messenger [which just hit two milestones] we cushion the pain of rejection by not telling you if the person you made a buddy request to said Yes or No. Instead, we add them to your buddy list right away but in the offline state and you can't communicate with them or see their online presence until they accept your request. So we leave it ambiguous if your request was ever answered or the person is just never online when you are. Of course, this isn't full proof but it significantly cushions the blow of rejection. We do the same for when someone adds you to their friends list on Windows Live Spaces. However one place where I still think we get the social nuances wrong is that when someone deletes you from their friend list in the social networking experience, you can tell because they get removed from your list as well since the relationship is reciprocal. Still trying to figure out a good way to deal with that although it happens infrequently enough not to be a showstopper. 

Finally, you have to be clear about what your goals are when showing users data. Are you trying to generate page views by giving them more stuff to click on? Are you trying to encourage a particular type of behavior? Or is it just data pr0n? And even when you think you have clear goals, they should be constantly be revisited as the site matures. Take this example from today's post by Kevin Rose of Digg entitled A couple updates… where he writes

Which leads me to a disappointing trend that we’ve noticed over the past several months. Some of our top users – the people that have spent hundreds if not thousands of hours finding and digging the best stuff – are being blamed by some outlets as leading efforts to manipulate Digg. These users have been listed on the “Top Diggers” area of the site that was created in the early days of Digg when there was a strong focus on encouraging people to submit content. The list served a great purpose of recognizing those who were working hard to make Digg a great site, as well as a way for new users to discover new content. Now, as the site has matured and we regularly get 5,000+ content submissions per day, we believe there are better ways to discover new friends based on your interests and what you’re digging. So if you have been digging stories about digital cameras and Oolong tea, you will be introduced to other top users with those interests.

So what does this all mean? After considerable internal debate and discussion with many of those who make up the Top Digger list, we’ve decided to remove the list beginning tomorrow. As for what’s next, we’re currently working on designing and refining the technologies required that will help enable our nearly 900,000 registered users to make real connections that we believe will greatly enhance the Digg experience – whether you’re brand new to the site or have been on Digg since the beginning.

This is part of the natural evolution of social news sites. I remember when Slashdot instituted the karma cap because of Signal 11 about six years ago because of similar reasons. Ranking users and turning participating in the community into a game complete with a high score list may be a cheap way to incentivize your users but it becomes problematic once your site matures and has hundreds of thousands of users.

All of these issues should be kept in mind when considering how much information should be shown to users instead of just focusing on whether it is possible to show them the information.


 

Categories: Social Software

It's unfortunate that when people become successful, there are always the jealous waiting on the wings to tear them down and exaggerate every flaw. Today was one of those days for Flickr. You can tell things are fishy when the people complaining loudest about a company aren't its users but its competitors. We have

  1. There's Thomas Hawk who writes There's Some Mighty Pissed Off Flickr Members Right Now

    [I am CEO of Zooomr]

    Flickr needs to reverse the asinine decisions made today to force people to merge their accounts with Yahoo and to place new limits on your contacts and tags.

    Here are some of the more interesting comments pulled over the past few hours from two flickr forums where they are taking a beating over this right now.

    People are pissed.

  2. And There's Don MacAskill who doesn't just stop at gloating stoking the flames reporting on the problems at a competitor's service. In his post The Dark Side of the Flickr Acquisition where he writes

    You asked for it, you got it: SmugMug is offering 50% off to all Flickr refugees. Just sign up for our free trial using the coupon code flickr and if you like what you see, you’ll get 50% off your first year.

    We’re getting some email from ‘Old Skool’ Flickr users asking us if they can get a discount because Yahoo’s making some changes they don’t like. Thomas Hawk has more coverage over on his blog, you can read the Flickr Forums for more reactions, and even check out the Flick Off group (aka the Flickr Accounts Mass Suicide Countdown group).

I looked at the announced Flickr changes and didn't see anything particularly shocking. For performance/architectural reasons, they are limiting people to having 3000 buddies and 75 tags. That sucks but it isn't the end of the world. If anything, it just points out the architectural limits of Flickr's backend to competitors but those limits should be fine for most users. The second issue seems to be that you'll soon need a Yahoo! ID to access Flickr. As Anil Dash states in his post I am okay with my Yahoo sign-in, people have known this for months so it shouldn't be a surprise and they've encouraging people to get a Yahoo! login on the sign-in page for a while now.

I wouldn't be surprised if a lot of the "aggrieved users" are actually astroturfers from competing Web 2.0 photo sharing sites.


 

February 1, 2007
@ 01:19 AM

Miguel de Icaza of Gnumeric, GNOME and Ximian fame has weighed in with his thoughts on the FUD war that is ODF vs. OOXML. In his blog post entitled The EU Prosecutors are Wrong Miguel writes

Open standards and the need for public access to information was a strong message. This became a key component of promoting open office, and open source software. This posed two problems:

First, those promoting open standards did not stress the importance of having a fully open source implementation of an office suite. Second, it assumed that Microsoft would stand still and would not react to this new change in the market.

And that is where the strategy to promote the open source office suite is running into problems. Microsoft did not stand still. It reacted to this new requirement by creating a file format of its own, the OOXML.
...

The Size of OOXML

A common objection to OOXML is that the specification is "too big", that 6,000 pages is a bit too much for a specification and that this would prevent third parties from implementing support for the standard. Considering that for years we, the open source community, have been trying to extract as much information about protocols and file formats from Microsoft, this is actually a good thing.

For example, many years ago, when I was working on Gnumeric, one of the issues that we ran into was that the actual descriptions for functions and formulas in Excel was not entirely accurate from the public books you could buy.

OOXML devotes 324 pages of the standard to document the formulas and functions. The original submission to the ECMA TC45 working group did not have any of this information. Jody Goldberg and Michael Meeks that represented Novell at the TC45 requested the information and it eventually made it into the standards. I consider this a win, and I consider those 324 extra pages a win for everyone (almost half the size of the ODF standard).

Depending on how you count, ODF has 4 to 10 pages devoted to it. There is no way you could build a spreadsheet software based on this specification.
...
I have obviously not read the entire specification, and am biased towards what I have seen in the spreadsheet angle. But considering that it is impossible to implement a spreadsheet program based on ODF, am convinced that the analysis done by those opposing OOXML is incredibly shallow, the burden is on them to prove that ODF is "enough" to implement from scratch alternative applications.
...
The real challenge today that open source faces in the office space is that some administrations might choose to move from the binary office formats to the OOXML formats and that "open standards" will not play a role in promoting OpenOffice.org nor open source.

What is worse is that even if people manage to stop OOXML from becoming an ISO standard it will be an ephemeral victory.

We need to recognize that this is the problem. Instead of trying to bury OOXML, which amounts to covering the sun with your finger.

I think there is an interesting bit of insight in Miguel's post which I highlighted in red font. IBM and the rest of the ODF opponents lobbied governments against Microsoft's products by arguing that its file formats where not open. However they did not expect that Microsoft would turn around and make those very file formats open and instead compete on innovation in the user experience.

Now ODF proponents like Rob Weir who've been trumpeting the value of open standards now find themselves in the absurd position of arguing that is a bad thing for Microsoft to open up its file formats and provide exhaustive documentation for them. Instead they demand that Microsoft  should either  abandon backwards compatibility with the billions of documents produced by Microsoft Office in the past decade or that it should embrace and extend ODF to meet its needs. Neither of which sounds like a good thing for customers. 

I guess it's like Tim Bray said, life gets complicated when there are billion$ of dollars on the line. I'm curious to see how Rob Weir responds to Miguel's post. Ideally, we'll eventually move away from these absurd discussions about whether it is a bad thing for Microsoft to open up its file formats and hand them over to an international standards body to talking about how we office productivity software can improve the lives of workers by innovating on features especially with regards to collaboration in the workplace.  After all everyone knows that single user, office productivity software is dead. Right?


 

Categories: Technology | XML

I just found the post Mr. Gosling - why did you make URL equals suck?!? on programming.reddit.com and just had to share

Okay, I’m totally hacked! java.net.URL class officially sucks! The equals method on this shining example of the JDK API mess actually does a blocking DNS lookup on the host string to resolve to an IP address and then compares the IP addresses rather than the host string. What freakin’ sense does that make?

Simple example:

URL url1 = new URL("http://foo.example.com");
URL url2 = new URL("http://example.com");

Let’s say these map to these IP addresses:

http://foo.example.com => 245.10.10.1
http://example.com => 245.10.10.1

Here’s the scary part:

url1.equals(url2) => true!

That's definitely the best example of code that deserves to be on The Daily WTF I've seen from a standard library. Just thinking about all the code I have in RSS Bandit that tests URLs for equality, it boggles my mind to think a standard library could have such a craptacular implementation of the equals() method.

Anyone have similar examples from other standard libraries (C++, .NET, JDK, Ruby, etc)? I need some bad code to cheer me up after a day that's already had too many meetings. :)


 

Some of you may have seen the recent hubbub related to Microsoft and BlueJ. If you haven't you can get up to speed from articles such as Microsoft copies BlueJ, admits it, then patents it. An update to this story was posted by Dan Fernandez in his blog post entitled Update: Response to BlueJ Patent Issues where he wrote

On Friday, an alert reader emailed me about a new article by Michael Kölling, the creator of BlueJ, about a patent issued by Microsoft for features in Object Test Bench that are comparable to BlueJ's Object Bench. I'll post the full "anatomy of a firedrill" some time later, but for now we can officially say that the patent application was a mistake and one that should not have happened. To fix this, Microsoft will be removing the patent application in question. Our sincere apologies to Michael Kölling and the BlueJ community.

I'm glad this has been handled so quickly. I hope the news of Microsoft withdrawing the patent application spreads as fast and as far as the initial outrage at the news of the patent application being filed. 


 

Categories: Technology

I noticed that the top headline on Techmeme this afternoon is a couple of posts from Robert Scoble complaining that not enough people link to his blog. at first, I was scratching my head at this given that Robert's blog still manages to rank in the top 50 most linked blogs according to the Technorati Top 100 then I saw a post by Jeff Sandquist that made things clearer.

In his post entitled Scoble Intel LinkGate 2007 - Bootstrapping a new business via blogs Jeff Sandquist writes

I can empathize with Robert to a point on this.  I am well aware of how damn hard it is to build an audience.   Robert is tasked with doing this for PodTech a relatively new business and the stakes are high.   Exclusive content like Robert's Intel piece took time and money to produce (flight to Portland, cameras, bandwidth, a crew and more) and needs to show a return.  I can imagine that PodTech looked at a piece like this as a bootstrap for their network.  The hope being that the exclusive piece will get Slashdotted, Digged or high profile tech blogs (Engagdget / Gizmodo) will also follow suit.   The hope is that a few of those viewers will stick around, view other PodTech content and maybe others will subscribe to the feed to return another day.  Building an audience, inch by incch is hard work.  This all takes persistance and time all while you are justifying to your sponsors and leaders your content style and tone.  So when the Intel piece doesn't result in a lot of flow (guess we're still in the eyeball game <img alt=" src="http://www.jeffsandquist.com/smilies/wink.gif">) from the big sites Robert flew off the handle in frustration. 

I believe as this business grows, it is going to get even harder to bootstrap the businesses soley through traditional grass roots/link based marketing.  With the number of blogs and media sites continuing to grow, it will get harder and harder to get links to even exclusive the most content.

From that perspective it now makes sense to me. PodTech hired an A-list blogger in the hopes that he'd bring in lots of traffic due to the popularity of his blog but it looks like that isn't working as much as they like and now Robert is beginning to feel the pressure. I tend to agree with Jeff that perhaps PodTech should look to more than the blog of their A-list blogging employee as their primary source of traffic and buzz. 

This also explains why Robert felt obligated to give a shout out to PodTech when he got listed as one of the Web's Top 25 celebrities instead of basking in the glow of getting such props from the mainstream media. There's probably a lesson here for folks who plan to parlay their blog fame into an endeavor that requires driving eyeballs and capturing an audience.


 

I like the concept of online Q&A sites and I have to say that I've been quite impressed at how successful Yahoo! has been with Yahoo! Answers. Not only did they build a good end user experience but they followed up with heavy cross promotion on their other services, TV ads and getting lots of real-world celebrities to use the service. My favorite questions asked by real-world celebrities thus far

Based on your own family's experience, what do you think we should do to improve health care in America? asked by Hillary Clinton (U.S. Senator and Presidential Candidate)

What should we do to free our planet from terrorism? asked by Dr. APJ Abdul Kalam (President of India)

That's pretty freaking cool. Kudos to the Yahoo! Answers for being able to pull off such a great promotion and build such a successful service in such a short time. 


 

January 26, 2007
@ 02:13 AM

Interesting, it seems Flickr have formalized the notion of partitioning tags into namespaces with their introduction of Machine Tags which are described as

# What are machine tags?

Machine tags are tags that use a special syntax to define extra information
about a tag.

Machine tags have a namespace, a predicate and a value. The namespace defines a class or a facet that a tag belongs to ('geo', 'flickr', etc.) The predicate is name of the property for a namespace ('latitude', 'user', etc.) The value is, well, the value.

Like tags, there are no rules for machine tags beyond the syntax to specify the parts of a machine tag. For example, you could tag a photo with :

* flickr:user=straup

* flora:tree=coniferous

* medium:paint=oil

The XML geek in me can't help but squint at the term "namespaces" and wonder how they plan to avoid naming collisions in a global namespace (e.g. if multiple people choose the same name for a namespace they create) . I guess this is no different from people using the same word to tag an item while meaning totally different things (e.g. "apple", "glass", "light", etc) and folksonomies like Flickr seem to handle this just fine.

Creating facets in tags like this isn't new, del.icio.us has had this for a while and it it looks like a good way to create ways to create hidden tags that the system can use for performing special operations without it being in the user's face.

Now that the two granddaddies of tagging both provide this functionality, I wonder how long it takes for machine tags to wind it's way through all the tagging systems in the various copycat Web 2.0 sites on the Web.


 

OPTION A: Samurai X - Complete

Vote in the comments below. Bonus points if you justify your vote.


 

Categories: Personal

From the blog post entitled Check out what we just added to Windows Live Spaces! on the Windows Live Spaces team's blog we learn

Videos, videos and more videos

You asked for it, we created it!  We’ve built more rich media capabilities into Windows Live Spaces so it’s easier for you to display your favorite videos on Spaces.  You can now embed videos directly into your Spaces blog entries.  Adding a visual element to your blogs can help you tell your story.  

For a long time, Windows Live Spaces has prevented users from embedding videos from video sharing sites like YouTube and MSN Soapbox because it didn't allow users to use object tags in their blog content. However it is now commonplace for users to embed Flash objects in their blog posts and even though there were security concerns, user demand has trumped them and the blogging landscape has changed.

I'm glad Windows Live Spaces now enables this but it does point to an interesting problem for me as a developer on RSS Bandit. Currently, we disable displaying embedded objects in content by default. Has the time come to change that rule? I know I changed my security settings in RSS Bandit so I can watch embedded YouTube on blogs months ago and even had to fix some bugs where it seems were a bit overzealous in blocking ActiveX controls.

It seems enabling ActiveX/Flash and Javascript in your browser are becoming mandatory if you actually want to browse the Web thanks to "Web 2.0".


 

Categories: Windows Live