Extension Methods for Profit

Wednesday, March 5, 2008

Some say we are living in the information age, but I say this is the advertisement age. Marketers strive to cover every square inch of the planet and outer atmosphere with slogans and promotions. We have ambient advertising and advergames, human billboards and celebrity branding.

My prediction is that marketers will become more aggressive in placing advertisements directly inside the software used by information workers who are laden with disposable income. Microsoft is well positioned for the next wave of advertising with the addition of extension methods in C# and Visual Basic. Just imagine the number of eyeballs that will see the following methods in an Intellisense window.

namespace System
{
    
public static class CurrentAdvertisements
    {
        
public static void TheJoyOfPepsi(this object cola)
        {          
        }

        
public static void BuiltFordTough(this object truck)
        {
        }

        
public static void EatAtHooters(this object notForTheFood)
        {
        }
    }
}

Big bucks are waiting there.

The only question is – will advertisers be content to stick with the traditional camel casing of method names, or will they pay a premium for Underscored_Product_Placements?


Comments
DaveVB Wednesday, March 5, 2008
Hah great stuff, that cracked me up.
Craig Wednesday, March 5, 2008
But don't forget: Microsoft wants to be Google, and Google *is* an advertising company. So why wouldn't they just cut out the middleman and augment System.Object directly? Or better yet - hook Intellisense up to a web service so you have to watch a short commercial before you can see the list of members?
BrianJ Wednesday, March 5, 2008
This idea makes me vomit.
Eber Irigoyen Wednesday, March 5, 2008
the class would have to be marked as partial, right?
scott Wednesday, March 5, 2008
Eber: No. The magic of extension methods is these will appear in the intellisense list for any object you program against.
Eber Irigoyen Wednesday, March 5, 2008
that's right, that was a stupidus momentus, I was thinking of partial classes
scott Wednesday, March 5, 2008
Oh, and just to be clear - it's because we are extending System.Object and putting our extension methods in the System namespace.
Oren Novotny Wednesday, March 5, 2008
I think that library authors will be hard-pressed to make this work -- after all, developers will scream bloody murder if a vendor polutes Intellisense with anything (to say nothing about ads).

For free libraries looking for a profit, they still need to have a compelling reason to use them. After all, if there are annoying ads/extension methods in it, someone else might just write a replacement library.
scott Thursday, March 6, 2008
Yes, Oren. I agree. This was supposed to be a funny post! It could never really happen ... I hope ...
Ian Hughes Thursday, March 6, 2008
"after all, developers will scream bloody murder if a vendor polutes Intellisense with anything"

--- Don't speak too soon! There are those who do not invest in their careers or care that much about their environments or tools. I can hear it now ...

"Oh you use VS Professional? Me too. I got the free one. I guess its the same but my string class is brought to you by "Linens N Things". Also, I have to watch a commercial for the latest Sony picture before every build."

Alex Hoffman Friday, March 7, 2008
Funny, you mention it but I've been working on just this! Annoying that you choose to steal my intellectual property, that is (software) patent pending. The only hold up has been how to incorporate the (TM/SM) symbol into extension method names, plus how to cover the duty of care legal stuff i.e.

public static void StarBucks-TM-Symbol-Here (this object coffee, string takeCareMayBeHot)
{
}

Comments are now closed.
by K. Scott Allen K.Scott Allen
My Pluralsight Courses
The Podcast!