The blog post entitled Released: Contacts API, Windows Live Data Protocols on the Windows Live Dev blog states

Today we have a few more things for you, starting with this . . .

To date, access to Windows Live Contacts has been exclusively through our Contacts Control, but now we also offer an API for Contacts as well. The Windows Live Contacts API is a RESTful API that works on Address Book objects. The Contacts API offers a more granular control over the user experience than the control, and allows users to grant and revoke permission to their data on a site-by-site basis. Windows Live Data provides the protocols to manage the permissioning process.

Try them out and let us know what you think in our forum.

The Windows Live Data service provides a framework for applications to request and receive access to a user's data stored in Windows Live. An overview of the process is available in the documentation on Requesting Permission to Access Users' Windows Live Data.

The Windows Live Contacts API is a RESTful Web service created by my team for accessing a user's Hotmail contacts. How we use HTTP verbs is described in the documentation Getting Started with Windows Live Contacts API. You'll probably catch me talking about my contributions to future versions of the API in coming months.


 

Categories: Web Development | Windows Live

I'm not attending MIX '07 but it looks like we're announcing some good stuff this week. because the stuff I've been working on isn't ready to be announced yet but my coworkers have dropped some cool announcements. Today we announced Silverlight Streaming by Windows Live. To understand this announcement you first have to understand what Silverlight actually is.

From http://www.silverlight.net we learn

Microsoft® Silverlight™ is a cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web. Silverlight offers a flexible programming model that supports AJAX, VB, C#, Python, and Ruby, and integrates with existing Web applications. Silverlight supports fast, cost-effective delivery of high-quality video to all major browsers running on the Mac OS or Windows.

If that is still too complex for you; you can consider Silverlight as being akin to the Flash platform but built with the .NET platform with all the attendant benefits (i.e. development with Visual Studio and access to a ton of languages). Now we know what Silverlight is, what exactly is Silverlight Streaming by Windows Live? Glad you asked.

From the blog post entitled New! Silverlight Streaming Service on the Windows Live Dev blog we learn about http://dev.live.com/silverlight which states

Microsoft® Silverlight™ Streaming by Windows Live™ is a companion service for Silverlight that makes it easier for developers and designers to deliver and scale rich media as part of their Silverlight applications.  The service offers web designers and developers a free and convenient solution for hosting and streaming cross-platform, cross-browser media experiences and rich interactive applications that run on Windows™ and Mac..
...
Microsoft® Silverlight™ Streaming by Windows Live™ can be used either directly from the administration web site or via a REST API. The API allows you to upload, update, delete, and invoke Silverlight applications using the Silverlight Streaming service. Click here to view the complete API reference.
...
While the product is in pre-release, storage and delivery is free up to 4 GB, with outbound streaming up to DVD quality (700 Kbps). As we move out of Beta, developers/designers will have continued use of the service with up to 1 million minutes of free video streaming at 700 Kpbs per site per month. Unlimited streaming will also be available for free with advertising, or with payment of a nominal fee for the service for use without advertising.

Not only is Microsoft giving developers a platform for building Rich Internet Applications (RIA) but it is also giving developers free streaming media hosting if they plan to use the platform to build a media sharing service. This is an interesting new wrinkle in the competition between Web application platforms. The response from Microsoft's competitors will definitely be interesting. I wonder if we'll see a partnership between Adobe/Macromedia and Amazon to bundle free usage of Amazon's S3 service if you are building applications with Flex or Apollo?


 

Categories: Web Development | Windows Live

Almost six years ago I wrote an article entitled C# from a Java Developer's Perspective which is still one of the most popular comparisons of C# and Java on the Web today. This update to my 2001 article comparing the primary features of C# and Java is a few years later than I planned. Given the amount of requests I've gotten to update it to account for the changes in Java 1.5 and C# 2.0 I'm sure there are many out there who'll find it useful. Below is the table of contents so you can jump to whatever topic interests you.

  1. The More Things Change The More They Stay The Same
    This section describes concepts and language features that are almost exactly the same in C# and Java.
    1. We Are All Objects
    2. Keyword Jumble
    3. Of Virtual Machines and Language Runtimes
    4. Heap Based Classes and Garbage Collection
    5. Arrays Can Be Jagged
    6. No Global Methods
    7. Interfaces, Yes. Multiple Inheritance, No.
    8. Strings Are Immutable
    9. Unextendable Classes
    10. Throwing and Catching Exceptions
    11. Member Initialization at Definition and Static Constructors
    12. Boxing

  2. The Same But Different
    This section describes concepts and language features that differ either only in syntax or in some similarly minor manner between C# and Java.
    1. Main Method
    2. Inheritance Syntax
    3. Run Time Type Identification (is operator)
    4. Namespaces
    5. Constructors, Destructors and Finalizers
    6. Synchronizing Methods and Code Blocks
    7. Access Modifiers
    8. Reflection
    9. Declaring Constants
    10. Primitive Types
    11. Array Declarations
    12. Calling Base Class Constructors and Constructor Chaining
    13. Variable Length Parameter Lists
    14. Generics
    15. for-each Loop
    16. Metadata Annotations
    17. Enumerations

  3. An Ever So Slight Feeling of Dèjà Vu
    This section describes concepts and language features that exist in C# that are similar to those that exist in Java but with a significant difference.
    1. Nested classes
    2. Threads and Volatile Members
    3. Operator Overloading
    4. switch Statement
    5. Assemblies
    6. Collections
    7. goto (no longer considered harmful)
    8. Virtual Methods (and final ones too)
    9. File I/O
    10. Object Serialization
    11. Documentation Generation from Source Code Comments
    12. Multiple Classes in a Single File
    13. Importing Libraries
    14. Events
    15. Cross Language Interoperability

  4. Now For Something Completely Different
    This section describes language features and concepts that exist in C# and have no Java counterpart.
    1. Deterministic Object Cleanup
    2. Delegates
    3. Value Types (Structs)
    4. Run Time Type Identification (as operator)
    5. Properties
    6. Multidimensional Arrays
    7. Indexers
    8. Preprocessor Directives
    9. Aliases
    10. Runtime Code Generation
    11. Pointers and Unsafe Code
    12. Pass by Reference
    13. Verbatim Strings
    14. Overflow Detection
    15. Explicit Interface Implementation
    16. Friend Assemblies
    17. The Namespace Qualifier
    18. Iterators (Continuations)
    19. Partial Types
    20. Static Classes
    21. Nullable Types
    22. Anonymous Methods

  5. Wish You Were Here
    This section describes language features and concepts that exist in Java and have no C# counterpart.
    1. Checked Exceptions
    2. Cross Platform Portability (Write Once, Run Anywhere)
    3. Extensions
    4. strictfp
    5. Dynamic Class Loading
    6. Interfaces That Contain Fields
    7. Anonymous Inner Classes
    8. Static Imports
  6. Conclusion(2001)
  7. Conclusion (2007)
  8. Resources
  9. Acknowledgements

 

Categories: Programming

Comparing the comments on Slashdot story Seven Reasons Microsoft Loves Open Source to the ones on the Digg story 7 Reasons Microsoft Loves OpenSource on the same topic, it seems that there is a sharp contrast in the quality of the comments posted by the users of the site. In fact, the Digg comments remind me of the following comic on XKCD

At first blush, the naive conclusion could be that Slashdot readers are more intelligent or at least more atticulate than Digg readers. However I just read Freakonomics so I've recently been thinking a lot about how incentive systems influence human behavior. After using both sites, I've come to the conclusion that the default settings on Digg encourages lower quality comments while the Slashdot defaults encourages higher quality comments.

On Slashdot, the default comment threshold is 1. This means that top level comments are only hidden if any negative vote has been applied to the comment by moderators. In addition, the content of comments in response to a top level comment are not shown unless the reply has been [net] positively rated by three or more moderators. Finally, when there are too many top level comments, only the ones that have been [net] positively rated by three or more moderators are shown to readers by default. This encourages the creation of good comments because or else a user's comments will be lost in the shuffle and no one will read it.

On Digg, the default comment threshold is -4. This means that top level comments remain visible until five negative votes have been applied to the comment by other users of the site. Secondly, the content of replies to top level comments are shown as long as they meet the default threshold.  

The upshot of all this is that it is more likely for a comment that is a flame or a one line joke in response to a top level comment to be visible when viewing a comment thread on Digg than on Slashdot. This causes two problems. The first is that it gives the impression that there are more "crap" comments on Digg than on Slashdot even if they have the same relative quality of comments. Secondly, there isn't as much incentive to write high quality posts on Digg because unlike Slashdot most comments are not hidden. Specifically there isn't the urge to make them "good enough" to scale the visibilty threshold on Digg since the threshold is so low that only abusive or spam comments are ever hidden from view.

In conclusion, I suspect that comments on Digg aren't any worse than those on most other forums on the Web. They just seem that way due to the way the site is designed.

Update: This post was submitted to Digg by one of my readers but it seems that it has been deleted from the upcoming stories list. I'm surprised that the admins at Digg would go to such lengths to censor an article that was critical of the site's design. The story seems to still be on Digg here . Now I wonder what happens if it gets enough votes to get out of the upcoming queue? 


 

Categories: Social Software

I've uploaded the pictures from my trip to Nigeria to Flickr. You can find them in my Nigeria Trip 2007 photoset. Below are a couple of entry points into the photo stream

My sister Bunmi and my brother Oba's wife Cynthia dancing at my dad's seventieth birthday party

Nigeria's president (my dad) casts his vote in the presidential elections

A close up of the giraffe that lives in the back yard of the presidential villa

A potrait of my dad from his days in the military



 

Categories: Personal

April 29, 2007
@ 12:13 PM

I really got into Nigerian hip hop and R&B music while I was there over the past few weeks. Below are links to my favorite songs from my trip, many of which are fairly old but were new to me.

  1. Tongolo by D'Banj: A club banger done in a mix of pidgin English and Yoruba

  2. Raise the Roof by Jazzman Olofin: Don't be fooled by the English title this song is mostly in Yoruba. The song is a general exhortation to dance which is a fairly popular topic for Yoruba hit music

  3. Iya Basira by Styl-Plus: A humorous song about a guy who gets so hooked on food from Iya Basira's (i.e. Basira's Mom) restaurant that he thinks she is using jazz (i.e. magic, voodooo, juju, etc) to make the food taste so good.

  4. Nfana Ibaga (No Problem) by 2Face Idibia: The opening rap is beyond wack but the song itself is quite good. He scored an international hit with a song called African Queen which I really didn't feel that much.

  5. Imagine That by Styl-Plus: This is a fairly crappy video but I love the song. The chorus is a mix of Yoruba and English. Roughly translated it goes "Imagine That! She says she doesn't want us to do this anymore. Imagine That! After everything I've done for her. Imagine That! What does she expect to become of me if she goes. Imagine That! If she goes".


 

Categories: Music | Personal | Trip Report

April 29, 2007
@ 11:50 AM

Terry Semel, Yahoo! CEO, can't seem to get a break these days. It seems everyone has assumed his days are numbered and he will be ousted for "incompetence". I've seen everyone get into the act from the technology press like C|Net and TechCrunch to more laid back technology pundits like Jason Fried in his post I'd rather be Microsoft than Yahoo.

All of these calls for Terry Semel's head remind me of a book I've been planning to read, The Halo Effect: ... and the Eight Other Business Delusions That Deceive Managers which describes The Halo Effect as it applies to business. So what exactly is this effect? Well according to Wikipedia

The halo effect refers to a cognitive bias whereby the perception of a particular trait is influenced by the perception of the former traits in a sequence of interpretations. The halo effect is involved in Kelley's implicit personality theory, where the first traits we recognize in other people then influence the interpretation and perception of latter ones (because of our expectations). Attractive people are often judged as having a more desirable personality and more skills than someone of average appearance. Celebrities are used to endorse products that they have no expertise in evaluating.

That may have been a bit difficult to follow, so here's an excerpt from David Wolfe's review of the book that explains the Halo Effect in business

Rosenzweig argues that media is no less error-prone in divining the reasons for a company's performance than gurus who write books on company performance.

He uses two prominent case histories to support the latter claim. Cisco and ABB. He recalls for readers how before the dotcom bubble collapse Cisco's John Chambers was widely regarded as the world's best manager and Cisco itself as without surpass in its organizational structure and corporate culture. Beyond that, according to the common view expressed in media, no company operated with greater customer centricity.

Within months of the dotcom collapse the same media that had virtually canonized Chambers were ripping his reputation as a great CEO to shreds. Cisco's was criticized for lack of attention to customer needs. This was alleged to have played a major role in its downturn in revenues and consequent precipitous loss in stock value. Writers told how the company's organization was fragmented and its culture grossly defective.

Rosenzweig tells a similar story of the Swiss-Swedish power company ABB. From being one of Europe's most highly regarded company to being a favorite whipping boy in media within not very many months, ABB turned out to be another example of what Rosenzweig calls the Halo Effect.

As Rosenzweig explains it, the Halo Effect refers to the aura surrounding a company and its leadership that promotes gross generalizations about its nature. When a company is outperforming, most everyone assumes everything about the company is exemplary. When the same company is underperforming, most everyone assumes everything about the company is defective.
Rosenzweig reminds us that externalities accounted mainly for Cisco's and ABB's decline in fortune. Cisco's downturn for example was inextricably linked to its Internet customers who flamed out in droves when the dotcom bubble burst. No amount of executive brilliance could have stayed the fiscal injury inflected by the dotcom bust.

What does this have to do with Yahoo! and Terry Semel? Glad you asked. See the blog post from ValleyWag entitled Fred Vogelstein's Amnesia which contains the following excerpts

How Yahoo blew it. Semel has been Yahoo's CEO for nearly six years, yet he has never acquired an intuitive sense of the company's plumbing. Semel's vaunted dealmaking skills seem to have deserted him. At Yahoo, the marketers rule, and at Google the engineers rule. And for that, Yahoo is finally paying the price. [Fred Vogelstein, writing in Wired Magazine, January 2007]

By figuring out how to make brand advertising work online, Terry Semel is on the verge of creating the 21st century's first media giant. So far, Semel has put together one of the web's hottest winning streaks... It turns out that the riddle of how to succeed online isn't so tough after all. Semel is taking everything he learned in his analog past and marrying it to what he can see in the digital future. [Fred Vogelstein, writing in Fortune Magazine, August 2005]

Same leadership style, same company. Yet when you tweak the externalities the CEO goes from being "on the verge of creating the 21st century's first media giant" to being someone whose "vaunted dealmaking skills seem to have deserted him". From where I sit, it is unclear that Terry Semel is actually doing a bad job, it just seems that his company isn't doing as well as Google which may or may not have anything to do with him.

I wonder how many years it will take until 20% time, free lunches and all the other things that people hype up about Google are used as examples of why the company has issues when some new upstart shows up on the scene?


 

Copyright, like abortion, is one of those issues that is pretty pointless to debate online. Most people have entrenched positions and refuse to accept the validity of opposing views which may come from a different perspective. However every couple of years I end up reading something that draws me into making a comment online. This year it was the post Scott Adams' Pointy Haired Views On Copyright by Mike over at TechDirt in response to Scott Adams's post Is Copyright Violation Stealing?. I tend to avoid TechDirt because I find the writing particularly poor, full of monotonous arguments and specious generalizations. The article Scott Adams' Pointy Haired Views On Copyright is no exception, I felt dumber after reading the article.

Thanks to the Mike's article I've decided to write this rant on how to avoid sounding like a 15 year old high off the fact he can download the latest Billboard Top 100 hits off of The Pirate Bay without coughing up $15 for a CD when talking about copyright on your favorite message board or "social news" site.

Lots of folks who debate copyright on the Web are familiar with the Copyright Clause of the U.S. Constitution

Article I, Section 8, Clause 8 of the U.S. Constitution, also known as the Copyright Clause, gives Congress the power to enact statutes To promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries.

Lots of folks throw this statement around but never really internalize what it means. A key purpose of giving authors and other content creators exclusive rights to their intellectual property is to enable them to be rewarded financially from their works for some time before allowing these creations to become "owned" by society. This is supposed to be an incentive that enables the creation of a professional class of content creators and thus benefits society by increasing the number and quality of copyrighted works as well as creating a market/economy around copyrighted works.

Most arguments against copyright laws are directly or indirectly an attempt to challenge the existence or benefits afforded the professional class of content creators. It should be noted that professionals dominate practically all areas of content creation (i.e. professionally created content is most popular or most valuable) even when you consider newer areas of content creation that have shown up in the past decade or so. For example, if you look at the Technorati Top 100 Most Popular Blogs you will notice that a media format that was popularized by amateurs now has its most popular content (i.e. of interest to the most members of the society) being content that is created by people who make their living directly or indirectly from blogging.

Now lets look at some of the anti-copyright arguments that are common on TechDirt which are mentioned or alluded to in the linked article, Scott Adams' Pointy Haired Views On Copyright

  1. Giving Away Intellectual Property for Free is Free Advertising: It's only free advertising if there is something of even more value that the content creator can sell. In many cases, this simply isn't the case. And trying to apply that rule uniformly is as foolish as trying to point out that since companies like Microsoft and IBM give away free T-shirts with corporate logos as a form of advertising then Nike and Abercrombie & Fitch should do so as well. What's good for the goose isn't necessarily good for the gander.

  2. Copyright infringement isn't stealing because the copyright owner still has the original item: This is one of those attempts to split semantic hairs instead of debating the actual cost of copyright infringement. What the copyright owner loses when people pirate his or her materials is the ability to sell to those customers who are using the pirated goods. The more people who choose to grab the latest songs off the Internet for free, the less money the music industry makes. Not only is this common sense, it is a documented fact. Pointing out that copyright infringement doesn't meet some 17th century definition of the verb "steal" because the original property isn't changing hands is like arguing that calling your ex-girlfriend a slut isn't libel because you only said it to people over IM.

  3. Successful copyright holders and content creators are rich so they deserve copyright infringement: One of the main problems with capitalism is that it leads to inequity. The inequity of capitalism is why the founders of Google and Microsoft have more money than ten Dare Obasanjos could make in a dozen lifetimes. However the balance for society is that in exchange for getting rich, they have built companies and products that add value to our society. This is the fundamental exchange of capitalism, you provide people with something of value and in turn they give you money. If enough people think you have provided something of value then you get rich. Being jealous of someone's wealth isn't a good reason to advocate theft copyright infringement especially since given that we are in a capitalist society their wealth is a direct reflection of how much value they've brought to society.

  4. Copyright take too long to fall into the public domain: The Sonny Bono Copyright Term Extension Act (aka The Mickey Mouse Protection Act) and the laws before it now make it so that copyright lasts for the life of the author plus 70 years or 95 years for content created by a corporation. Many feel that his is excessive especially since it is now quite likely that no works created during the average person's lifetime will fall into the public domain in their lifetime. It is true that the pendulum may have swung to far towards the wants of copyright holders in this regard but it should be noted that even if we did go back to the rules from the Copyright Act of 1790, it is unlikely that the "free stuff" brigade on sites like TechDirt would be happy with copyrights that lasted only 14 years.

  5. Middlemen like record labels and publishers make most of the money from copyrighted works: The fact that an artist or author doesn't make 100% of the money you spend on their works doesn't justify spending zero on their work. After all getting a cut of the money you spent on purchasing their content is better than getting nothing from you. Secondly, middlemen make a bulk of the money in the content industry because they provide funding and exposure to content producers. The people who provide the funding to content producers tend to make a killing whether it is a publisher who funds a book that ends up on the New York Times bestseller list or a venture capitalist that funds a tiny startup that becomes a multibillion dollar company. Thanks to the Web, content producers who feel that they do not need the funding and exposure provided by these middlemen now have a way to route around that system. Consumers should not rob infringe the copyrights of content producers because they don't like that the financial backers who funded the creation of the content are making a lot of money from it.

After reading that, it is probably clear why reading the monotonous and ill-considered arguments on TechDirt gets old for me. If you are going to be writing about copyright on the Web, keep these notes on the default anti-copyright arguments in mind before engaging your keyboard next time you feel like ranting about the RIAA, MPAA, BSA or Metallica.


 

Categories: Rants

Mike Arrington of TechCrunch has a blog post entitled Can PhotoBucket Survive Without MySpace? where he writes

There was a lot of fingerpointing, denials, and “he said, she said” going on today as everyone digested the news that MySpace had blocked PhotoBucket’s 40 million members from embedding videos into their MySpace pages.

From my perspective this looks like MySpace just found an excuse to send a big middle finger to the largest independent widget company in the hope of disrupting their ongoing acquisition talks. Om Malik sees things differently and thinks Photobucket practically asked for this blockade. Robert Scoble calls Photobucket and services like it “parasitic.” Nick Carr says this is all basically inevitable, regardless of who’s to blame.
...
And many MySpace/Photobucket users will simply leave MySpace and go to one of its many competitors rather than lose the ability to embed their Photobucket media. Re-creating a profile at another social network takes a lot less time than re-uploading hours of video. In the end, Photobucket could prove to be stickier than MySpace.

I agree with Om Malik that PhotoBucket clearly violated MySpace's terms of service by having ads in videos embedded on  http://www.myspace.com. I also think that the advice that Mike Arrington gives in his post will lead PhotoBucket down a bad road if they take it. The key question is whether the lock-in from a social network site like MySpace (where all your friends are) is more significant than the lock-in from having my media stored in a particular photo hosting or video hosting site. If MySpace has only blocked new embeds from PhotoBucket then I'm willing to bet that it is more likely that users will simply pick a new media hosting provider (e.g. YouTube for videos, Flickr for photos) than that they'll switch to Facebook or Windows Live Spaces because they are too tied to PhotoBucket.

If I were PhotoBucket, I'd work with MySpace and either (i) agree on how MySpace gets a revshare of PhotoBucket ads shown on their site or (ii) make it easy for MySpace to filter out the embeds with ads (which are a minority) and allow other embedded media from PhotoBucket pass through. Considering that they are trying to flip their startup, the PhotoBucket crew would be wise to avoid going to war with the biggest traffic driver to their site.


 

April 11, 2007
@ 11:53 AM

This morning I was flipping through last Friday's issue of the The Daily Sun: Nigeria's King of Tabloids and came across some of the personals in the section of the paper called Muslim Matrimonials. It was a bit of culture shock for me to see how different they were from personals on U.S. sites like Craig's List, Yahoo! Personals and Match. Here are a few of them

Profile 496: Muslim male, 49, 1.7m tall, genotype AA, from Oyo state, an engineer holder of a Master's degree, married for long without children wants for marriage a practicing Muslim female from any part of the country, honest, tolerant, neat, slim and moderately attractive with at least a minimum of diploma, gainfully employed or employable, aged between 23 and 33 and ready to start a successful family

Profile 502: Muslim male, 43, 1.73 meters tall, Hausa from Bauchi in Bauchi state, Master's degree holder in English, lecturer in higher institution, married and blessed with five daughters, needs a new wife who is loving, hardworking, caring, prepared to share the ups and downs of life with hubby and above all understanding. She may be from any part of Nigeria, any tribe or social class. She must be light-complexioned, exceptionally tall and not be above 25.  

Quite different from the usual fare in the Men Seeking Women section of Craig's List isn't it? The glimpse that online personals give into the culture and social fabric of society is quite revealing.